flock-core 0.2.14__tar.gz → 0.2.16__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 (469) hide show
  1. {flock_core-0.2.14 → flock_core-0.2.16}/PKG-INFO +1 -1
  2. {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/01_simple_example.py +3 -1
  3. {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/02_typed_output.py +9 -8
  4. {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/03_tool_and_code_agent.py +7 -7
  5. {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/05_typed_output2.py +0 -2
  6. {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/06_simple_hand_off.py +7 -8
  7. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/long_research_no_handoff.py +2 -2
  8. {flock_core-0.2.14 → flock_core-0.2.16}/pyproject.toml +1 -1
  9. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/__init__.py +6 -0
  10. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/constants.py +1 -0
  11. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/config.py +0 -1
  12. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/execution/local_executor.py +7 -3
  13. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/execution/temporal_executor.py +1 -8
  14. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/flock.py +4 -16
  15. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/flock_agent.py +43 -2
  16. flock_core-0.2.16/src/flock/core/logging/formatters/enum_builder.py +38 -0
  17. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/formatters/theme_builder.py +2 -6
  18. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/formatters/themed_formatter.py +127 -19
  19. flock_core-0.2.16/src/flock/core/logging/formatters/themes.py +340 -0
  20. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry.py +1 -1
  21. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/activities.py +1 -18
  22. {flock_core-0.2.14 → flock_core-0.2.16}/uv.lock +1 -1
  23. flock_core-0.2.14/examples/data/bloggy.json +0 -1
  24. flock_core-0.2.14/examples/data/chatty.json +0 -1
  25. flock_core-0.2.14/examples/data/custom_bloggy.json +0 -1
  26. flock_core-0.2.14/examples/data/flock.json +0 -1
  27. flock_core-0.2.14/examples/data/inherited_bloggy.json +0 -1
  28. flock_core-0.2.14/src/flock/cli/examples/chatty.flock +0 -1
  29. flock_core-0.2.14/src/flock/cli/examples/chatty.json +0 -1
  30. flock_core-0.2.14/src/flock/core/logging/formatters/base_formatter.py +0 -36
  31. flock_core-0.2.14/src/flock/core/logging/formatters/formatter_factory.py +0 -38
  32. flock_core-0.2.14/src/flock/core/logging/formatters/pprint_formatter.py +0 -31
  33. flock_core-0.2.14/src/flock/core/logging/formatters/rich_formatters.py +0 -132
  34. {flock_core-0.2.14 → flock_core-0.2.16}/.devcontainer/devcontainer.json +0 -0
  35. {flock_core-0.2.14 → flock_core-0.2.16}/.env_template +0 -0
  36. {flock_core-0.2.14 → flock_core-0.2.16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  37. {flock_core-0.2.14 → flock_core-0.2.16}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  38. {flock_core-0.2.14 → flock_core-0.2.16}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  39. {flock_core-0.2.14 → flock_core-0.2.16}/.github/workflows/.gitkeep +0 -0
  40. {flock_core-0.2.14 → flock_core-0.2.16}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  41. {flock_core-0.2.14 → flock_core-0.2.16}/.gitignore +0 -0
  42. {flock_core-0.2.14 → flock_core-0.2.16}/.vscode/launch.json +0 -0
  43. {flock_core-0.2.14 → flock_core-0.2.16}/.vscode/settings.json +0 -0
  44. {flock_core-0.2.14 → flock_core-0.2.16}/.vscode/tasks.json +0 -0
  45. {flock_core-0.2.14 → flock_core-0.2.16}/LICENSE +0 -0
  46. {flock_core-0.2.14 → flock_core-0.2.16}/README.md +0 -0
  47. {flock_core-0.2.14 → flock_core-0.2.16}/docs/agent_mechanics.md +0 -0
  48. {flock_core-0.2.14 → flock_core-0.2.16}/docs/api/flock.md +0 -0
  49. {flock_core-0.2.14 → flock_core-0.2.16}/docs/api/flock_agents.md +0 -0
  50. {flock_core-0.2.14 → flock_core-0.2.16}/docs/api.md +0 -0
  51. {flock_core-0.2.14 → flock_core-0.2.16}/docs/architecture.drawio +0 -0
  52. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/01_simple_example.md +0 -0
  53. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/02_typed_output.md +0 -0
  54. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/03_tool_and_code_agent.md +0 -0
  55. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/04_descriptions.md +0 -0
  56. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/05_typed_output2.md +0 -0
  57. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/06_simple_hand_off.md +0 -0
  58. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/02_cook_book_wip/flock_without_llms.md +0 -0
  59. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/02_cook_book_wip/project_manager.md +0 -0
  60. {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples.md +0 -0
  61. {flock_core-0.2.14 → flock_core-0.2.16}/docs/generate_examples_docs.py +0 -0
  62. {flock_core-0.2.14 → flock_core-0.2.16}/docs/generate_nav.py +0 -0
  63. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/cli_outputs/out.png +0 -0
  64. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/component_diagramm.png +0 -0
  65. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_01.png +0 -0
  66. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_02.png +0 -0
  67. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_03.png +0 -0
  68. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_04.png +0 -0
  69. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_05.png +0 -0
  70. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_06.png +0 -0
  71. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/flock.png +0 -0
  72. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/flock_cli.png +0 -0
  73. {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/flow_diagramm.png +0 -0
  74. {flock_core-0.2.14 → flock_core-0.2.16}/docs/index.md +0 -0
  75. {flock_core-0.2.14 → flock_core-0.2.16}/docs/installation.md +0 -0
  76. {flock_core-0.2.14 → flock_core-0.2.16}/docs/overrides/extra.css +0 -0
  77. {flock_core-0.2.14 → flock_core-0.2.16}/docs/overrides/extra.js +0 -0
  78. {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/04_descriptions.py +0 -0
  79. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/flock_without_llms.py +0 -0
  80. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/project_manager.py +0 -0
  81. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_01.py +0 -0
  82. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_02.py +0 -0
  83. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_03.py +0 -0
  84. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_04.py +0 -0
  85. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/save_01.py +0 -0
  86. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/save_02.py +0 -0
  87. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/save_03.py +0 -0
  88. {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/self_improvement.py +0 -0
  89. {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/formatting/01_pretty_print.py +0 -0
  90. {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/formatting/02_r/303/255ch_table.py" +0 -0
  91. {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/formatting/03_themed_table.py +0 -0
  92. {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/logging_examples/01_basic_logging.py +0 -0
  93. {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/logging_examples/02_temporal_logging.py +0 -0
  94. {flock_core-0.2.14 → flock_core-0.2.16}/examples/README.md +0 -0
  95. {flock_core-0.2.14 → flock_core-0.2.16}/examples/notebooks_wip/Untitled-1.ipynb +0 -0
  96. {flock_core-0.2.14 → flock_core-0.2.16}/examples/notebooks_wip/my_agent.json +0 -0
  97. {flock_core-0.2.14 → flock_core-0.2.16}/mkdocs.yml +0 -0
  98. {flock_core-0.2.14 → flock_core-0.2.16}/requirements.txt +0 -0
  99. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/create_agent.py +0 -0
  100. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/create_flock.py +0 -0
  101. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/load_agent.py +0 -0
  102. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/load_examples.py +0 -0
  103. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/load_flock.py +0 -0
  104. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/settings.py +0 -0
  105. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/__init__.py +0 -0
  106. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/context/context.py +0 -0
  107. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/context/context_manager.py +0 -0
  108. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/context/context_vars.py +0 -0
  109. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/__init__.py +0 -0
  110. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/logging.py +0 -0
  111. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  112. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  113. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  114. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  115. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/trace_and_logged.py +0 -0
  116. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/mixin/dspy_integration.py +0 -0
  117. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/mixin/prompt_parser.py +0 -0
  118. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/registry/agent_registry.py +0 -0
  119. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/tools/basic_tools.py +0 -0
  120. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/tools/dev_tools/github.py +0 -0
  121. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/util/cli_helper.py +0 -0
  122. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/util/input_resolver.py +0 -0
  123. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/util/serializable.py +0 -0
  124. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/interpreter/python_interpreter.py +0 -0
  125. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/platform/docker_tools.py +0 -0
  126. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/platform/jaeger_install.py +0 -0
  127. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/3024-day.toml +0 -0
  128. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/3024-night.toml +0 -0
  129. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/aardvark-blue.toml +0 -0
  130. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/abernathy.toml +0 -0
  131. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/adventure.toml +0 -0
  132. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/adventuretime.toml +0 -0
  133. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/afterglow.toml +0 -0
  134. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/alabaster.toml +0 -0
  135. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/alienblood.toml +0 -0
  136. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/andromeda.toml +0 -0
  137. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/apple-classic.toml +0 -0
  138. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/apple-system-colors.toml +0 -0
  139. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/arcoiris.toml +0 -0
  140. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/argonaut copy.toml +0 -0
  141. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/argonaut.toml +0 -0
  142. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/arthur.toml +0 -0
  143. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ateliersulphurpool.toml +0 -0
  144. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/atom.toml +0 -0
  145. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/atom_test.toml +0 -0
  146. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/atomonelight.toml +0 -0
  147. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/aurora.toml +0 -0
  148. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu copy.toml +0 -0
  149. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu-light.toml +0 -0
  150. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu-mirage.toml +0 -0
  151. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu.toml +0 -0
  152. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/banana-blueberry.toml +0 -0
  153. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/batman.toml +0 -0
  154. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/belafonte-day.toml +0 -0
  155. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/belafonte-night.toml +0 -0
  156. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/birdsofparadise.toml +0 -0
  157. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blazer.toml +0 -0
  158. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blue-matrix.toml +0 -0
  159. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blueberrypie.toml +0 -0
  160. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/bluedolphin.toml +0 -0
  161. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blulocodark.toml +0 -0
  162. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blulocolight.toml +0 -0
  163. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/borland.toml +0 -0
  164. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/breeze.toml +0 -0
  165. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/bright-lights.toml +0 -0
  166. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/broadcast.toml +0 -0
  167. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/brogrammer.toml +0 -0
  168. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-dark.toml +0 -0
  169. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-light.toml +0 -0
  170. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  171. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  172. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-solarized-light.toml +0 -0
  173. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-tango-dark.toml +0 -0
  174. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-tango-light.toml +0 -0
  175. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/c64.toml +0 -0
  176. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/calamity.toml +0 -0
  177. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-frappe.toml +0 -0
  178. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-latte.toml +0 -0
  179. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  180. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-mocha.toml +0 -0
  181. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cga.toml +0 -0
  182. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/chalk.toml +0 -0
  183. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/chalkboard.toml +0 -0
  184. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/challengerdeep.toml +0 -0
  185. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/chester.toml +0 -0
  186. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ciapre.toml +0 -0
  187. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/clrs.toml +0 -0
  188. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cobalt-neon.toml +0 -0
  189. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cobalt2.toml +0 -0
  190. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/coffee-theme.toml +0 -0
  191. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/crayonponyfish.toml +0 -0
  192. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cutiepro.toml +0 -0
  193. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cyberdyne.toml +0 -0
  194. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cyberpunk.toml +0 -0
  195. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  196. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dark+.toml +0 -0
  197. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dark-pastel.toml +0 -0
  198. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/darkermatrix.toml +0 -0
  199. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/darkmatrix.toml +0 -0
  200. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/darkside.toml +0 -0
  201. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dayfox.toml +0 -0
  202. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/deep.toml +0 -0
  203. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/desert.toml +0 -0
  204. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dimidium.toml +0 -0
  205. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dimmedmonokai.toml +0 -0
  206. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/django.toml +0 -0
  207. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/djangorebornagain.toml +0 -0
  208. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/djangosmooth.toml +0 -0
  209. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/doom-peacock.toml +0 -0
  210. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/doomone.toml +0 -0
  211. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dotgov.toml +0 -0
  212. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dracula+.toml +0 -0
  213. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dracula.toml +0 -0
  214. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/duckbones.toml +0 -0
  215. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/duotone-dark.toml +0 -0
  216. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/earthsong.toml +0 -0
  217. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/elemental.toml +0 -0
  218. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/elementary.toml +0 -0
  219. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/encom.toml +0 -0
  220. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/espresso-libre.toml +0 -0
  221. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/espresso.toml +0 -0
  222. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/everblush.toml +0 -0
  223. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fahrenheit.toml +0 -0
  224. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fairyfloss.toml +0 -0
  225. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/farmhouse-dark.toml +0 -0
  226. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/farmhouse-light.toml +0 -0
  227. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fideloper.toml +0 -0
  228. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/firefly-traditional.toml +0 -0
  229. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/firefoxdev.toml +0 -0
  230. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/firewatch.toml +0 -0
  231. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fishtank.toml +0 -0
  232. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flat.toml +0 -0
  233. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flatland.toml +0 -0
  234. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flexoki-dark.toml +0 -0
  235. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flexoki-light.toml +0 -0
  236. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/floraverse.toml +0 -0
  237. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/forestblue.toml +0 -0
  238. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/framer.toml +0 -0
  239. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/frontenddelight.toml +0 -0
  240. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/funforrest.toml +0 -0
  241. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/galaxy.toml +0 -0
  242. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/galizur.toml +0 -0
  243. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/github-dark.toml +0 -0
  244. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/github.toml +0 -0
  245. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/glacier.toml +0 -0
  246. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/grape.toml +0 -0
  247. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/grass.toml +0 -0
  248. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/grey-green.toml +0 -0
  249. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruber-darker.toml +0 -0
  250. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruvboxdark.toml +0 -0
  251. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  252. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruvboxlight.toml +0 -0
  253. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/guezwhoz.toml +0 -0
  254. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hacktober.toml +0 -0
  255. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hardcore.toml +0 -0
  256. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/harper.toml +0 -0
  257. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hax0r-blue.toml +0 -0
  258. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hax0r-gr33n.toml +0 -0
  259. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hax0r-r3d.toml +0 -0
  260. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/highway.toml +0 -0
  261. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hipster-green.toml +0 -0
  262. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hivacruz.toml +0 -0
  263. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/homebrew.toml +0 -0
  264. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hopscotch.256.toml +0 -0
  265. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hopscotch.toml +0 -0
  266. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hurtado.toml +0 -0
  267. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hybrid.toml +0 -0
  268. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ic-green-ppl.toml +0 -0
  269. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ic-orange-ppl.toml +0 -0
  270. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iceberg-dark.toml +0 -0
  271. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iceberg-light.toml +0 -0
  272. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/idea.toml +0 -0
  273. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/idletoes.toml +0 -0
  274. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ir-black.toml +0 -0
  275. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-dark-background.toml +0 -0
  276. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-default.toml +0 -0
  277. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-light-background.toml +0 -0
  278. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  279. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  280. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  281. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  282. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  283. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-tango-light.toml +0 -0
  284. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jackie-brown.toml +0 -0
  285. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/japanesque.toml +0 -0
  286. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jellybeans.toml +0 -0
  287. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jetbrains-darcula.toml +0 -0
  288. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jubi.toml +0 -0
  289. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kanagawabones.toml +0 -0
  290. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kibble.toml +0 -0
  291. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kolorit.toml +0 -0
  292. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/konsolas.toml +0 -0
  293. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kurokula.toml +0 -0
  294. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/lab-fox.toml +0 -0
  295. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/laser.toml +0 -0
  296. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/later-this-evening.toml +0 -0
  297. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/lavandula.toml +0 -0
  298. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/liquidcarbon.toml +0 -0
  299. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  300. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  301. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/lovelace.toml +0 -0
  302. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/man-page.toml +0 -0
  303. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mariana.toml +0 -0
  304. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/material.toml +0 -0
  305. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialdark.toml +0 -0
  306. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialdarker.toml +0 -0
  307. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialdesigncolors.toml +0 -0
  308. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialocean.toml +0 -0
  309. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mathias.toml +0 -0
  310. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/matrix.toml +0 -0
  311. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/medallion.toml +0 -0
  312. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mellifluous.toml +0 -0
  313. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/midnight-in-mojave.toml +0 -0
  314. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mirage.toml +0 -0
  315. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/misterioso.toml +0 -0
  316. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/molokai.toml +0 -0
  317. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monalisa.toml +0 -0
  318. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monokai-remastered.toml +0 -0
  319. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monokai-soda.toml +0 -0
  320. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monokai-vivid.toml +0 -0
  321. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/n0tch2k.toml +0 -0
  322. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neobones-dark.toml +0 -0
  323. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neobones-light.toml +0 -0
  324. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neon.toml +0 -0
  325. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neopolitan.toml +0 -0
  326. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neutron.toml +0 -0
  327. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/night-owlish-light.toml +0 -0
  328. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nightfox.toml +0 -0
  329. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nightlion-v1.toml +0 -0
  330. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nightlion-v2.toml +0 -0
  331. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/niji.toml +0 -0
  332. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nocturnal-winter.toml +0 -0
  333. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nord-light.toml +0 -0
  334. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nord.toml +0 -0
  335. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/novel.toml +0 -0
  336. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nvimdark.toml +0 -0
  337. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nvimlight.toml +0 -0
  338. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/obsidian.toml +0 -0
  339. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ocean.toml +0 -0
  340. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/oceanic-next.toml +0 -0
  341. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/oceanicmaterial.toml +0 -0
  342. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ollie.toml +0 -0
  343. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/onehalfdark.toml +0 -0
  344. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/onehalflight.toml +0 -0
  345. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/operator-mono-dark.toml +0 -0
  346. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/overnight-slumber.toml +0 -0
  347. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/oxocarbon.toml +0 -0
  348. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/palenighthc.toml +0 -0
  349. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pandora.toml +0 -0
  350. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/paraiso-dark.toml +0 -0
  351. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/paulmillr.toml +0 -0
  352. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pencildark.toml +0 -0
  353. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pencillight.toml +0 -0
  354. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/peppermint.toml +0 -0
  355. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/piatto-light.toml +0 -0
  356. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pnevma.toml +0 -0
  357. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/popping-and-locking.toml +0 -0
  358. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/primary.toml +0 -0
  359. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pro-light.toml +0 -0
  360. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pro.toml +0 -0
  361. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/purple-rain.toml +0 -0
  362. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/purplepeter.toml +0 -0
  363. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rapture.toml +0 -0
  364. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/raycast-dark.toml +0 -0
  365. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/raycast-light.toml +0 -0
  366. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rebecca.toml +0 -0
  367. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/red-alert.toml +0 -0
  368. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/red-planet.toml +0 -0
  369. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/red-sands.toml +0 -0
  370. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/relaxed.toml +0 -0
  371. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/retro.toml +0 -0
  372. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rippedcasts.toml +0 -0
  373. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rose-pine-dawn.toml +0 -0
  374. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rose-pine-moon.toml +0 -0
  375. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rose-pine.toml +0 -0
  376. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rouge-2.toml +0 -0
  377. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/royal.toml +0 -0
  378. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ryuuko.toml +0 -0
  379. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sakura.toml +0 -0
  380. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/scarlet-protocol.toml +0 -0
  381. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seafoam-pastel.toml +0 -0
  382. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seashells.toml +0 -0
  383. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seoulbones-dark.toml +0 -0
  384. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seoulbones-light.toml +0 -0
  385. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seti.toml +0 -0
  386. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/shades-of-purple.toml +0 -0
  387. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/shaman.toml +0 -0
  388. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/slate.toml +0 -0
  389. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sleepyhollow.toml +0 -0
  390. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/smyck.toml +0 -0
  391. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/snazzy.toml +0 -0
  392. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/softserver.toml +0 -0
  393. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/solarized-darcula.toml +0 -0
  394. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/solarized-dark---patched.toml +0 -0
  395. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  396. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacedust.toml +0 -0
  397. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  398. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacegray-eighties.toml +0 -0
  399. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacegray.toml +0 -0
  400. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spiderman.toml +0 -0
  401. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spring.toml +0 -0
  402. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/square.toml +0 -0
  403. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sublette.toml +0 -0
  404. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/subliminal.toml +0 -0
  405. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sugarplum.toml +0 -0
  406. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sundried.toml +0 -0
  407. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/symfonic.toml +0 -0
  408. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/synthwave-everything.toml +0 -0
  409. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/synthwave.toml +0 -0
  410. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/synthwavealpha.toml +0 -0
  411. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tango-adapted.toml +0 -0
  412. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tango-half-adapted.toml +0 -0
  413. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/teerb.toml +0 -0
  414. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/terafox.toml +0 -0
  415. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/terminal-basic.toml +0 -0
  416. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/thayer-bright.toml +0 -0
  417. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/the-hulk.toml +0 -0
  418. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  419. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tinacious-design-(light).toml +0 -0
  420. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tokyonight-day.toml +0 -0
  421. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tokyonight-storm.toml +0 -0
  422. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tokyonight.toml +0 -0
  423. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  424. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  425. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  426. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  427. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night.toml +0 -0
  428. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow.toml +0 -0
  429. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/toychest.toml +0 -0
  430. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/treehouse.toml +0 -0
  431. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/twilight.toml +0 -0
  432. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ubuntu.toml +0 -0
  433. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ultradark.toml +0 -0
  434. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ultraviolent.toml +0 -0
  435. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/underthesea.toml +0 -0
  436. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/unikitty.toml +0 -0
  437. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/urple.toml +0 -0
  438. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vaughn.toml +0 -0
  439. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vesper.toml +0 -0
  440. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vibrantink.toml +0 -0
  441. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vimbones.toml +0 -0
  442. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/violet-dark.toml +0 -0
  443. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/violet-light.toml +0 -0
  444. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/warmneon.toml +0 -0
  445. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wez.toml +0 -0
  446. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/whimsy.toml +0 -0
  447. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wildcherry.toml +0 -0
  448. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wilmersdorf.toml +0 -0
  449. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wombat.toml +0 -0
  450. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wryan.toml +0 -0
  451. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodedark.toml +0 -0
  452. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodedarkhc.toml +0 -0
  453. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodelight.toml +0 -0
  454. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodelighthc.toml +0 -0
  455. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodewwdc.toml +0 -0
  456. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenbones-dark.toml +0 -0
  457. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenbones-light.toml +0 -0
  458. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenbones.toml +0 -0
  459. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenburn.toml +0 -0
  460. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenburned.toml +0 -0
  461. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenwritten-dark.toml +0 -0
  462. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenwritten-light.toml +0 -0
  463. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/__init__.py +0 -0
  464. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/agent_activities.py +0 -0
  465. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/temporal_setup.py +0 -0
  466. {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/workflow.py +0 -0
  467. {flock_core-0.2.14 → flock_core-0.2.16}/tests/integration/test_agent_integration.py +0 -0
  468. {flock_core-0.2.14 → flock_core-0.2.16}/tests/unittests/test_flock.py +0 -0
  469. {flock_core-0.2.14 → flock_core-0.2.16}/tests/unittests/test_flock_agent.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.2.14
3
+ Version: 0.2.16
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -21,7 +21,9 @@ Let's get started!
21
21
  import asyncio
22
22
 
23
23
  from flock.core.flock import Flock
24
- from flock.core.flock_agent import FlockAgent
24
+ from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
25
+ from flock.core.logging.formatters.themes import OutputTheme
26
+
25
27
 
26
28
 
27
29
  # --------------------------------
@@ -23,20 +23,15 @@ import asyncio
23
23
  from pprint import pprint
24
24
 
25
25
  from flock.core.flock import Flock
26
- from flock.core.flock_agent import FlockAgent
27
- from flock.core.logging.formatters.base_formatter import FormatterOptions
28
- from flock.core.logging.formatters.rich_formatters import RichTables
29
- from flock.core.logging.formatters.themed_formatter import ThemedAgentResultFormatter
26
+ from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
27
+ from flock.core.logging.formatters.themes import OutputTheme
30
28
  from flock.core.tools import basic_tools
31
29
 
32
30
  async def main():
33
31
  # --------------------------------
34
32
  # Create the flock
35
33
  # --------------------------------
36
- # Some people need some swag in their output
37
- # See the formatting examples
38
- format_options = FormatterOptions(RichTables)
39
- flock = Flock(local_debug=True, output_formatter=format_options)
34
+ flock = Flock(local_debug=True)
40
35
 
41
36
 
42
37
  # --------------------------------
@@ -48,12 +43,18 @@ async def main():
48
43
  # - you can define if the agent should use the cache
49
44
  # results will get cached and if true and if the input is the same as before, the agent will return the cached result
50
45
  # this is useful for expensive operations like web scraping and for debugging
46
+ # Some people need some swag in their output
47
+ # Flock supports rendering the output as a table and you can choose a theme
51
48
  agent = FlockAgent(
52
49
  name="my_agent",
53
50
  input="url",
54
51
  output="title, headings: list[str], entities_and_metadata: list[dict[str, str]], type:Literal['news', 'blog', 'opinion piece', 'tweet']",
55
52
  tools=[basic_tools.get_web_content_as_markdown],
56
53
  use_cache=True,
54
+ output_config=FlockAgentOutputConfig(
55
+ render_table=True,
56
+ theme=OutputTheme.abernathy
57
+ )
57
58
  )
58
59
  flock.add_agent(agent)
59
60
 
@@ -23,10 +23,9 @@ from devtools import debug
23
23
 
24
24
 
25
25
  from flock.core.flock import Flock
26
- from flock.core.flock_agent import FlockAgent
27
- from flock.core.logging.formatters.base_formatter import FormatterOptions
28
- from flock.core.logging.formatters.rich_formatters import RichTables
26
+ from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
29
27
  from flock.core.logging.formatters.themed_formatter import ThemedAgentResultFormatter
28
+ from flock.core.logging.formatters.themes import OutputTheme
30
29
  from flock.core.tools import basic_tools
31
30
 
32
31
  MODEL = "openai/gpt-4o"
@@ -35,10 +34,7 @@ async def main():
35
34
  # --------------------------------
36
35
  # Create the flock
37
36
  # --------------------------------
38
- # In case the table of example 02 wasn't fancy enough
39
- # The author had over 300 cli themes lying around....
40
- format_options = FormatterOptions(ThemedAgentResultFormatter, wait_for_input=False, settings={"theme": "adventuretime"})
41
- flock = Flock(local_debug=True, output_formatter=format_options)
37
+ flock = Flock(local_debug=True)
42
38
 
43
39
 
44
40
  # --------------------------------
@@ -53,6 +49,10 @@ async def main():
53
49
  input="a_person",
54
50
  output="persons_age_in_days",
55
51
  tools=[basic_tools.web_search_duckduckgo, basic_tools.code_eval],
52
+ output_config=FlockAgentOutputConfig(
53
+ render_table=True,
54
+ theme=OutputTheme.adventuretime
55
+ ),
56
56
  use_cache=True,
57
57
  )
58
58
  flock.add_agent(agent)
@@ -22,8 +22,6 @@ from typing import Literal
22
22
 
23
23
  from flock.core.flock import Flock
24
24
  from flock.core.flock_agent import FlockAgent
25
- from flock.core.logging.formatters.base_formatter import FormatterOptions
26
- from flock.core.logging.formatters.rich_formatters import RichTables
27
25
  from flock.core.logging.formatters.themed_formatter import ThemedAgentResultFormatter
28
26
  from flock.core.tools import basic_tools
29
27
 
@@ -28,23 +28,20 @@ In later examples, we will explore more advanced hand-off scenarios and fall bac
28
28
  import asyncio
29
29
 
30
30
  from flock.core.flock import Flock
31
- from flock.core.flock_agent import FlockAgent
32
- from flock.core.logging.formatters.base_formatter import FormatterOptions
33
- from flock.core.logging.formatters.rich_formatters import RichTables
31
+ from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
32
+ from flock.core.logging.formatters.themes import OutputTheme
34
33
 
35
34
 
36
35
  async def main():
37
36
 
38
- flock = Flock(local_debug=True, output_formatter=
39
- FormatterOptions(formatter=RichTables,
40
- wait_for_input=True,
41
- settings={}),
42
- enable_logging=True)
37
+ flock = Flock(local_debug=True,enable_logging=True)
43
38
 
44
39
  idea_agent = FlockAgent(
45
40
  name="idea_agent",
46
41
  input="query",
47
42
  output="a_fun_software_project_idea",
43
+ output_config=FlockAgentOutputConfig(render_table=True,
44
+ wait_for_input=True), # wait for input to continue
48
45
  use_cache=True,
49
46
  )
50
47
 
@@ -52,6 +49,8 @@ async def main():
52
49
  name="project_plan_agent",
53
50
  input="a_fun_software_project_idea",
54
51
  output="catchy_project_name, project_pitch, techstack, project_implementation_plan",
52
+ output_config=FlockAgentOutputConfig(render_table=True,
53
+ wait_for_input=True), # wait for input to continue
55
54
  use_cache=True,
56
55
  )
57
56
 
@@ -29,7 +29,7 @@ async def main():
29
29
  description="Outline a thorough overview of a topic.",
30
30
  input="topic",
31
31
  output="title,sections: list[str],section_subheadings: dict[str, list[str]]|mapping from section headings to subheadings",
32
- tools=[basic_tools.web_search_tavily],
32
+ tools=[basic_tools.web_search_tavily, basic_tools.get_web_content_as_markdown],
33
33
  )
34
34
 
35
35
 
@@ -37,7 +37,7 @@ async def main():
37
37
  name="draft_agent",
38
38
  input="flock.topic,flock.section_heading,flock.section_subheadings: list[str]",
39
39
  output="content|markdown-formatted section",
40
- tools=[basic_tools.web_search_tavily],
40
+ tools=[basic_tools.web_search_tavily, basic_tools.get_web_content_as_markdown],
41
41
  )
42
42
 
43
43
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flock-core"
3
- version = "0.2.14"
3
+ version = "0.2.16"
4
4
  description = "Declarative LLM Orchestration at Scale"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -1,5 +1,8 @@
1
1
  """Flock package initialization."""
2
2
 
3
+ from flock.cli.constants import CLI_THEME_BUILDER
4
+ from flock.core.logging.formatters.theme_builder import theme_builder
5
+
3
6
 
4
7
  def main():
5
8
  """Main function."""
@@ -35,6 +38,7 @@ def main():
35
38
  CLI_LOAD_FLOCK,
36
39
  # CLI_LOAD_EXAMPLE,
37
40
  questionary.Separator(),
41
+ CLI_THEME_BUILDER,
38
42
  CLI_SETTINGS,
39
43
  questionary.Separator(),
40
44
  CLI_START_ADVANCED_MODE,
@@ -45,6 +49,8 @@ def main():
45
49
 
46
50
  if result == CLI_LOAD_FLOCK:
47
51
  load_flock()
52
+ if result == CLI_THEME_BUILDER:
53
+ theme_builder()
48
54
 
49
55
 
50
56
  if __name__ == "__main__":
@@ -4,6 +4,7 @@ CLI_CREATE_AGENT = "Create an agent"
4
4
  CLI_CREATE_FLOCK = "Create a flock"
5
5
  CLI_LOAD_AGENT = "Load an agent"
6
6
  CLI_LOAD_FLOCK = "Load a *.flock file"
7
+ CLI_THEME_BUILDER = "Theme builder"
7
8
  CLI_LOAD_EXAMPLE = "Load a example"
8
9
  CLI_SETTINGS = "Settings"
9
10
  CLI_START_ADVANCED_MODE = "Start advanced mode (coming soon)"
@@ -44,4 +44,3 @@ TELEMETRY = TelemetryConfig(
44
44
  OTEL_ENABLE_FILE,
45
45
  OTEL_ENABLE_SQL,
46
46
  )
47
- TELEMETRY.setup_tracing()
@@ -1,12 +1,16 @@
1
1
  # src/your_package/core/execution/local_executor.py
2
2
  from flock.core.context.context import FlockContext
3
3
  from flock.core.logging.logging import get_logger
4
- from flock.workflow.activities import run_agent # This should be the local activity function
4
+ from flock.workflow.activities import (
5
+ run_agent, # This should be the local activity function
6
+ )
5
7
 
6
8
  logger = get_logger("flock")
7
9
 
8
10
 
9
- async def run_local_workflow(context: FlockContext, output_formatter, box_result: bool = True) -> dict:
11
+ async def run_local_workflow(
12
+ context: FlockContext, box_result: bool = True
13
+ ) -> dict:
10
14
  """Execute the agent workflow locally (for debugging).
11
15
 
12
16
  Args:
@@ -18,7 +22,7 @@ async def run_local_workflow(context: FlockContext, output_formatter, box_result
18
22
  A dictionary containing the workflow result.
19
23
  """
20
24
  logger.info("Running local debug workflow")
21
- result = await run_agent(context, output_formatter)
25
+ result = await run_agent(context)
22
26
  if box_result:
23
27
  from box import Box
24
28
 
@@ -1,9 +1,7 @@
1
1
  # src/your_package/core/execution/temporal_executor.py
2
- from devtools import pprint
3
2
 
4
3
  from flock.core.context.context import FlockContext
5
4
  from flock.core.context.context_vars import FLOCK_RUN_ID
6
- from flock.core.logging.formatters.formatter_factory import FormatterFactory
7
5
  from flock.core.logging.logging import get_logger
8
6
  from flock.workflow.activities import (
9
7
  run_agent, # Activity function used in Temporal
@@ -16,7 +14,6 @@ logger = get_logger("flock")
16
14
 
17
15
  async def run_temporal_workflow(
18
16
  context: FlockContext,
19
- output_formatter,
20
17
  box_result: bool = True,
21
18
  ) -> dict:
22
19
  """Execute the agent workflow via Temporal for robust, distributed processing.
@@ -43,11 +40,7 @@ async def run_temporal_workflow(
43
40
 
44
41
  agent_name = context.get_variable("FLOCK_CURRENT_AGENT")
45
42
  logger.debug("Formatting Temporal result", agent=agent_name)
46
- if output_formatter:
47
- formatter = FormatterFactory.create_formatter(output_formatter)
48
- formatter.display(result, agent_name, output_formatter.wait_for_input)
49
- else:
50
- pprint(result)
43
+
51
44
  if box_result:
52
45
  from box import Box
53
46
 
@@ -10,13 +10,12 @@ import cloudpickle
10
10
  from opentelemetry import trace
11
11
  from opentelemetry.baggage import get_baggage, set_baggage
12
12
 
13
+ from flock.config import TELEMETRY
13
14
  from flock.core.context.context import FlockContext
14
15
  from flock.core.context.context_manager import initialize_context
15
16
  from flock.core.execution.local_executor import run_local_workflow
16
17
  from flock.core.execution.temporal_executor import run_temporal_workflow
17
18
  from flock.core.flock_agent import FlockAgent
18
- from flock.core.logging.formatters.base_formatter import FormatterOptions
19
- from flock.core.logging.formatters.pprint_formatter import PrettyPrintFormatter
20
19
  from flock.core.logging.logging import get_logger
21
20
  from flock.core.registry.agent_registry import Registry
22
21
  from flock.core.util.cli_helper import display_banner
@@ -24,7 +23,7 @@ from flock.core.util.input_resolver import top_level_to_keys
24
23
 
25
24
  T = TypeVar("T", bound=FlockAgent)
26
25
  logger = get_logger("flock")
27
-
26
+ TELEMETRY.setup_tracing()
28
27
  tracer = trace.get_tracer(__name__)
29
28
 
30
29
 
@@ -40,9 +39,6 @@ class Flock:
40
39
  model: str = "openai/gpt-4o",
41
40
  local_debug: bool = False,
42
41
  enable_logging: bool = False,
43
- output_formatter: FormatterOptions = FormatterOptions(
44
- PrettyPrintFormatter
45
- ),
46
42
  show_cli_banner: bool = True,
47
43
  ):
48
44
  """Initialize the Flock orchestrator.
@@ -57,9 +53,6 @@ class Flock:
57
53
  span.set_attribute("model", model)
58
54
  span.set_attribute("local_debug", local_debug)
59
55
  span.set_attribute("enable_logging", enable_logging)
60
- span.set_attribute(
61
- "output_formatter", output_formatter.formatter.__name__
62
- )
63
56
  logger.info(
64
57
  "Initializing Flock",
65
58
  model=model,
@@ -80,7 +73,6 @@ class Flock:
80
73
  self.context = FlockContext()
81
74
  self.model = model
82
75
  self.local_debug = local_debug
83
- self.output_formatter = output_formatter
84
76
  self.start_agent: FlockAgent | str | None = None
85
77
  self.input: dict = {}
86
78
 
@@ -410,13 +402,9 @@ class Flock:
410
402
  )
411
403
 
412
404
  if self.local_debug:
413
- return await run_local_workflow(
414
- self.context, self.output_formatter, box_result
415
- )
405
+ return await run_local_workflow(self.context, box_result)
416
406
  else:
417
- return await run_temporal_workflow(
418
- self.context, self.output_formatter, box_result
419
- )
407
+ return await run_temporal_workflow(self.context, box_result)
420
408
  except Exception as e:
421
409
  logger.exception("Execution failed", error=str(e))
422
410
  raise
@@ -12,6 +12,10 @@ import cloudpickle
12
12
  from pydantic import BaseModel, Field
13
13
 
14
14
  from flock.core.context.context import FlockContext
15
+ from flock.core.logging.formatters.themed_formatter import (
16
+ ThemedAgentResultFormatter,
17
+ )
18
+ from flock.core.logging.formatters.themes import OutputTheme
15
19
  from flock.core.logging.logging import get_logger
16
20
  from flock.core.mixin.dspy_integration import AgentType, DSPyIntegrationMixin
17
21
  from flock.core.mixin.prompt_parser import PromptParserMixin
@@ -48,6 +52,25 @@ class FlockAgentConfig:
48
52
  )
49
53
 
50
54
 
55
+ @dataclass
56
+ class FlockAgentOutputConfig:
57
+ """Configuration options for a FlockAgent."""
58
+
59
+ render_table: bool = field(
60
+ default=False, metadata={"description": "Renders a table."}
61
+ )
62
+ theme: OutputTheme = field( # type: ignore
63
+ default=OutputTheme.afterglow,
64
+ metadata={"description": "Disables the agent's output."},
65
+ )
66
+ max_length: int = field(
67
+ default=1000, metadata={"description": "Disables the agent's output."}
68
+ )
69
+ wait_for_input: bool = field(
70
+ default=False, metadata={"description": "Wait for input."}
71
+ )
72
+
73
+
51
74
  @dataclass
52
75
  class HandOff:
53
76
  """Base class for handoff returns."""
@@ -136,8 +159,8 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
136
159
  """
137
160
 
138
161
  name: str = Field(..., description="Unique identifier for the agent.")
139
- model: str = Field(
140
- "openai/gpt-4o", description="The model to use (e.g., 'openai/gpt-4o')."
162
+ model: str | None = Field(
163
+ None, description="The model to use (e.g., 'openai/gpt-4o')."
141
164
  )
142
165
  description: str | Callable[..., str] = Field(
143
166
  "", description="A human-readable description of the agent."
@@ -186,6 +209,11 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
186
209
  description="Configuration options for the agent, such as serialization settings.",
187
210
  )
188
211
 
212
+ output_config: FlockAgentOutputConfig = Field(
213
+ default_factory=FlockAgentOutputConfig,
214
+ description="Configuration options for the agent's output.",
215
+ )
216
+
189
217
  # Lifecycle callback fields: if provided, these callbacks are used instead of overriding the methods.
190
218
  initialize_callback: Callable[[dict[str, Any]], Awaitable[None]] | None = (
191
219
  Field(
@@ -414,6 +442,7 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
414
442
  try:
415
443
  await self.initialize(inputs)
416
444
  result = await self.evaluate(inputs)
445
+ self.display_output(result)
417
446
  await self.terminate(inputs, result)
418
447
  span.set_attribute("result", str(result))
419
448
  logger.info("Agent run completed", agent=self.name)
@@ -426,6 +455,18 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
426
455
  span.record_exception(run_error)
427
456
  raise
428
457
 
458
+ def display_info(self) -> None:
459
+ pass
460
+
461
+ def display_output(self, result: dict[str, Any]) -> None:
462
+ """Display the agent's output using the configured output formatter."""
463
+ ThemedAgentResultFormatter(
464
+ self.output_config.theme,
465
+ self.output_config.max_length,
466
+ self.output_config.render_table,
467
+ self.output_config.wait_for_input,
468
+ ).display_result(result, self.name)
469
+
429
470
  async def run_temporal(self, inputs: dict[str, Any]) -> dict[str, Any]:
430
471
  """Execute this agent via a Temporal workflow for enhanced fault tolerance and asynchronous processing.
431
472
 
@@ -0,0 +1,38 @@
1
+ """Enum Builder."""
2
+
3
+ import os
4
+ import pathlib
5
+ import re
6
+
7
+ theme_folder = pathlib.Path(__file__).parent.parent.parent.parent / "themes"
8
+
9
+ if not theme_folder.exists():
10
+ raise FileNotFoundError(f"Theme folder not found: {theme_folder}")
11
+
12
+ theme_files = [
13
+ pathlib.Path(f.path).stem for f in os.scandir(theme_folder) if f.is_file()
14
+ ]
15
+
16
+ theme_enum_entries = {}
17
+ for theme in theme_files:
18
+ safe_name = (
19
+ theme.replace("-", "_")
20
+ .replace(" ", "_")
21
+ .replace("(", "_")
22
+ .replace(")", "_")
23
+ .replace("+", "_")
24
+ .replace(".", "_")
25
+ )
26
+
27
+ if re.match(r"^\d", safe_name):
28
+ safe_name = f"_{safe_name}"
29
+
30
+ theme_enum_entries[safe_name] = theme
31
+
32
+ with open("theme_enum.py", "w") as f:
33
+ f.write("from enum import Enum\n\n")
34
+ f.write("class OutputOptionsTheme(Enum):\n")
35
+ for safe_name, original_name in theme_enum_entries.items():
36
+ f.write(f' {safe_name} = "{original_name}"\n')
37
+
38
+ print("Generated theme_enum.py ✅")
@@ -371,7 +371,7 @@ def save_theme(theme: dict, filename: pathlib.Path) -> None:
371
371
  # --- Main Interactive Loop --- #
372
372
 
373
373
 
374
- def main():
374
+ def theme_builder():
375
375
  console = Console(force_terminal=True, color_system="truecolor")
376
376
  themes_dir = pathlib.Path(__file__).parent.parent.parent.parent / "themes"
377
377
  theme_files = load_theme_files(themes_dir)
@@ -458,7 +458,7 @@ def main():
458
458
  )
459
459
  if sel2.lower() == "r":
460
460
  console.print("Regenerating samples...")
461
- main() # restart the builder
461
+ theme_builder() # restart the builder
462
462
  return
463
463
  try:
464
464
  sel2 = int(sel2)
@@ -474,7 +474,3 @@ def main():
474
474
  save_path = themes_dir / filename
475
475
  save_theme(chosen_sample_theme, save_path)
476
476
  console.print(f"\n[green]Theme saved as {save_path}.[/green]")
477
-
478
-
479
- if __name__ == "__main__":
480
- main()