flock-core 0.3.20__tar.gz → 0.3.22__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 (615) hide show
  1. flock_core-0.3.22/.cursorignore +4 -0
  2. {flock_core-0.3.20 → flock_core-0.3.22}/.gitignore +8 -0
  3. {flock_core-0.3.20 → flock_core-0.3.22}/.project/SPECS.md +9 -1
  4. flock_core-0.3.22/.project/TASKS.md +47 -0
  5. flock_core-0.3.22/.project/USERSTORIES.md +21 -0
  6. flock_core-0.3.22/.project/planning_prompt.md +184 -0
  7. flock_core-0.3.22/.project/specs/09_cli_system.md +119 -0
  8. flock_core-0.3.22/.project/tasks/done/001-env-settings-editor.md +82 -0
  9. flock_core-0.3.22/.project/tasks/done/002-env-settings-ui-components.md +67 -0
  10. flock_core-0.3.22/.project/tasks/done/003-env-settings-file-operations.md +66 -0
  11. flock_core-0.3.22/.project/tasks/done/004-settings-security-features.md +66 -0
  12. flock_core-0.3.22/.project/tasks/done/005-env-profile-switching.md +73 -0
  13. flock_core-0.3.22/.project/userstories/US001-Settings-Editor.md +186 -0
  14. flock_core-0.3.22/.project/userstories/done/US001-Settings-Editor.md +186 -0
  15. {flock_core-0.3.20 → flock_core-0.3.22}/.vscode/launch.json +10 -0
  16. {flock_core-0.3.20 → flock_core-0.3.22}/.vscode/tasks.json +21 -0
  17. {flock_core-0.3.20 → flock_core-0.3.22}/PKG-INFO +1 -1
  18. flock_core-0.3.22/docs/changelog.md +26 -0
  19. flock_core-0.3.22/docs/cli/index.md +62 -0
  20. flock_core-0.3.22/docs/cli/settings-editor.md +117 -0
  21. flock_core-0.3.22/examples/03_apps/dynamic_apps/main.py +53 -0
  22. flock_core-0.3.22/examples/03_apps/story_gen/main.py +117 -0
  23. {flock_core-0.3.20 → flock_core-0.3.22}/mkdocs.yml +5 -0
  24. {flock_core-0.3.20 → flock_core-0.3.22}/pyproject.toml +16 -1
  25. flock_core-0.3.22/scripts/code_collector.py +605 -0
  26. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/__init__.py +7 -1
  27. flock_core-0.3.22/src/flock/cli/settings.py +857 -0
  28. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock_agent.py +1 -8
  29. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock_evaluator.py +4 -0
  30. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock_factory.py +2 -0
  31. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/formatters/themed_formatter.py +0 -7
  32. flock_core-0.3.22/src/flock/core/serialization/__init__.py +7 -0
  33. flock_core-0.3.22/src/flock/core/serialization/json_encoder.py +41 -0
  34. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/output/output_module.py +7 -4
  35. flock_core-0.3.22/tests/unit/core/test_flock_agent_unit.py +257 -0
  36. {flock_core-0.3.20 → flock_core-0.3.22}/uv.lock +1 -1
  37. flock_core-0.3.20/examples/03_apps/story_gen/main.py +0 -656
  38. flock_core-0.3.20/src/flock/cli/settings.py +0 -1
  39. flock_core-0.3.20/tests/unit/core/test_flock_agent_unit.py +0 -18
  40. {flock_core-0.3.20 → flock_core-0.3.22}/.devcontainer/devcontainer.json +0 -0
  41. {flock_core-0.3.20 → flock_core-0.3.22}/.env_template +0 -0
  42. {flock_core-0.3.20 → flock_core-0.3.22}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  43. {flock_core-0.3.20 → flock_core-0.3.22}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  44. {flock_core-0.3.20 → flock_core-0.3.22}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  45. {flock_core-0.3.20 → flock_core-0.3.22}/.github/workflows/.gitkeep +0 -0
  46. {flock_core-0.3.20 → flock_core-0.3.22}/.github/workflows/deploy-documentation.yml +0 -0
  47. {flock_core-0.3.20 → flock_core-0.3.22}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  48. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/01_core_architecture.md +0 -0
  49. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/02_agent_factory.md +0 -0
  50. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/03_module_system.md +0 -0
  51. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/04_evaluator_system.md +0 -0
  52. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/05_router_system.md +0 -0
  53. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/06_tool_system.md +0 -0
  54. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/07_execution_system.md +0 -0
  55. {flock_core-0.3.20 → flock_core-0.3.22}/.project/specs/08_context_system.md +0 -0
  56. {flock_core-0.3.20 → flock_core-0.3.22}/.vscode/settings.json +0 -0
  57. {flock_core-0.3.20 → flock_core-0.3.22}/LICENSE +0 -0
  58. {flock_core-0.3.20 → flock_core-0.3.22}/README.md +0 -0
  59. {flock_core-0.3.20 → flock_core-0.3.22}/docs/advanced/complex-workflows.md +0 -0
  60. {flock_core-0.3.20 → flock_core-0.3.22}/docs/advanced/custom-agents.md +0 -0
  61. {flock_core-0.3.20 → flock_core-0.3.22}/docs/advanced/performance.md +0 -0
  62. {flock_core-0.3.20 → flock_core-0.3.22}/docs/advanced/testing.md +0 -0
  63. {flock_core-0.3.20 → flock_core-0.3.22}/docs/api/flock-core.md +0 -0
  64. {flock_core-0.3.20 → flock_core-0.3.22}/docs/api/flockagent.md +0 -0
  65. {flock_core-0.3.20 → flock_core-0.3.22}/docs/api/types.md +0 -0
  66. {flock_core-0.3.20 → flock_core-0.3.22}/docs/api/utilities.md +0 -0
  67. {flock_core-0.3.20 → flock_core-0.3.22}/docs/architecture/components.md +0 -0
  68. {flock_core-0.3.20 → flock_core-0.3.22}/docs/architecture/design-decisions.md +0 -0
  69. {flock_core-0.3.20 → flock_core-0.3.22}/docs/architecture/overview.md +0 -0
  70. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/drawio/architecture.drawio +0 -0
  71. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/cli_outputs/out.png +0 -0
  72. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/components_chart.png +0 -0
  73. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/examples/01_01.png +0 -0
  74. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/examples/01_02.png +0 -0
  75. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/examples/01_03.png +0 -0
  76. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/examples/01_04.png +0 -0
  77. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/examples/01_05.png +0 -0
  78. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/examples/01_06.png +0 -0
  79. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/flock.png +0 -0
  80. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/flock_cli.png +0 -0
  81. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/flow_chart.png +0 -0
  82. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  83. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/hummingbird.png +0 -0
  84. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/icon.png +0 -0
  85. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/icon.png~ +0 -0
  86. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/logo.png +0 -0
  87. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/memory_concepts.png +0 -0
  88. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/memory_flow.png +0 -0
  89. {flock_core-0.3.20 → flock_core-0.3.22}/docs/assets/images/memory_flow_chart.png +0 -0
  90. {flock_core-0.3.20 → flock_core-0.3.22}/docs/contributing/code-style.md +0 -0
  91. {flock_core-0.3.20 → flock_core-0.3.22}/docs/contributing/development.md +0 -0
  92. {flock_core-0.3.20 → flock_core-0.3.22}/docs/contributing/documentation.md +0 -0
  93. {flock_core-0.3.20 → flock_core-0.3.22}/docs/contributing/testing.md +0 -0
  94. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/agents.md +0 -0
  95. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/declarative.md +0 -0
  96. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/error-handling.md +0 -0
  97. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/evaluators.md +0 -0
  98. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/memory.md +0 -0
  99. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/modules/memory.md +0 -0
  100. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/modules/metrics.md +0 -0
  101. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/modules/output.md +0 -0
  102. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/modules.md +0 -0
  103. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/routers/agent.md +0 -0
  104. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/routers/default.md +0 -0
  105. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/routers/llm.md +0 -0
  106. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/routers.md +0 -0
  107. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/tools/azure-tools.md +0 -0
  108. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/tools/overview.md +0 -0
  109. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/type-system.md +0 -0
  110. {flock_core-0.3.20 → flock_core-0.3.22}/docs/core-concepts/workflows.md +0 -0
  111. {flock_core-0.3.20 → flock_core-0.3.22}/docs/create_doc_boilerplate.py +0 -0
  112. {flock_core-0.3.20 → flock_core-0.3.22}/docs/deployment/monitoring.md +0 -0
  113. {flock_core-0.3.20 → flock_core-0.3.22}/docs/deployment/production-setup.md +0 -0
  114. {flock_core-0.3.20 → flock_core-0.3.22}/docs/deployment/scalability.md +0 -0
  115. {flock_core-0.3.20 → flock_core-0.3.22}/docs/deployment/security.md +0 -0
  116. {flock_core-0.3.20 → flock_core-0.3.22}/docs/development/dev.md +0 -0
  117. {flock_core-0.3.20 → flock_core-0.3.22}/docs/development/replace-dspy/implementation_plan.md +0 -0
  118. {flock_core-0.3.20 → flock_core-0.3.22}/docs/development/topics.md +0 -0
  119. {flock_core-0.3.20 → flock_core-0.3.22}/docs/examples/chain-gang.md +0 -0
  120. {flock_core-0.3.20 → flock_core-0.3.22}/docs/examples/hello-flock.md +0 -0
  121. {flock_core-0.3.20 → flock_core-0.3.22}/docs/examples/pydantic.md +0 -0
  122. {flock_core-0.3.20 → flock_core-0.3.22}/docs/examples/type-system.md +0 -0
  123. {flock_core-0.3.20 → flock_core-0.3.22}/docs/features/agent-chaining.md +0 -0
  124. {flock_core-0.3.20 → flock_core-0.3.22}/docs/features/agent-definition.md +0 -0
  125. {flock_core-0.3.20 → flock_core-0.3.22}/docs/features/lifecycle-hooks.md +0 -0
  126. {flock_core-0.3.20 → flock_core-0.3.22}/docs/features/pydantic.md +0 -0
  127. {flock_core-0.3.20 → flock_core-0.3.22}/docs/features/type-safety.md +0 -0
  128. {flock_core-0.3.20 → flock_core-0.3.22}/docs/getting-started/concepts.md +0 -0
  129. {flock_core-0.3.20 → flock_core-0.3.22}/docs/getting-started/configuration.md +0 -0
  130. {flock_core-0.3.20 → flock_core-0.3.22}/docs/getting-started/installation.md +0 -0
  131. {flock_core-0.3.20 → flock_core-0.3.22}/docs/getting-started/quickstart.md +0 -0
  132. {flock_core-0.3.20 → flock_core-0.3.22}/docs/index.md +0 -0
  133. {flock_core-0.3.20 → flock_core-0.3.22}/docs/integrations/dspy.md +0 -0
  134. {flock_core-0.3.20 → flock_core-0.3.22}/docs/integrations/litellm.md +0 -0
  135. {flock_core-0.3.20 → flock_core-0.3.22}/docs/integrations/rest-api.md +0 -0
  136. {flock_core-0.3.20 → flock_core-0.3.22}/docs/integrations/tavily.md +0 -0
  137. {flock_core-0.3.20 → flock_core-0.3.22}/docs/integrations/temporal.md +0 -0
  138. {flock_core-0.3.20 → flock_core-0.3.22}/docs/release-notes/release_notes.md +0 -0
  139. {flock_core-0.3.20 → flock_core-0.3.22}/docs/stylesheets/extra.css +0 -0
  140. {flock_core-0.3.20 → flock_core-0.3.22}/docs/tutorials/blog-generator.md +0 -0
  141. {flock_core-0.3.20 → flock_core-0.3.22}/docs/tutorials/custom-tools.md +0 -0
  142. {flock_core-0.3.20 → flock_core-0.3.22}/docs/tutorials/error-recovery.md +0 -0
  143. {flock_core-0.3.20 → flock_core-0.3.22}/docs/tutorials/multi-agent.md +0 -0
  144. {flock_core-0.3.20 → flock_core-0.3.22}/examples/01_introduction/01_simple_example.py +0 -0
  145. {flock_core-0.3.20 → flock_core-0.3.22}/examples/01_introduction/02_typed_output.py +0 -0
  146. {flock_core-0.3.20 → flock_core-0.3.22}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
  147. {flock_core-0.3.20 → flock_core-0.3.22}/examples/01_introduction/04_descriptions.py +0 -0
  148. {flock_core-0.3.20 → flock_core-0.3.22}/examples/01_introduction/05_typed_output2.py +0 -0
  149. {flock_core-0.3.20 → flock_core-0.3.22}/examples/01_introduction/06_simple_hand_off.py +0 -0
  150. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/api/api_client.py +0 -0
  151. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/api/api_server.py +0 -0
  152. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/context/context.py +0 -0
  153. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/evaluator/multi_hops_memory.py +0 -0
  154. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/evaluator/multi_hops_zep.py +0 -0
  155. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/modules/use_modules.py +0 -0
  156. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/router/router_example.py +0 -0
  157. {flock_core-0.3.20 → flock_core-0.3.22}/examples/02_concepts/tools/azure_tools_example.py +0 -0
  158. {flock_core-0.3.20 → flock_core-0.3.22}/examples/03_apps/roguelike/game.py +0 -0
  159. /flock_core-0.3.20/examples/03_apps/story_gen/main copy.py → /flock_core-0.3.22/examples/03_apps/story_gen/cursor.py +0 -0
  160. {flock_core-0.3.20 → flock_core-0.3.22}/examples/04_comparison/rag_comparison/rag.ipynb +0 -0
  161. {flock_core-0.3.20 → flock_core-0.3.22}/examples/05_documentation/getting-started/first_agent_01.py +0 -0
  162. {flock_core-0.3.20 → flock_core-0.3.22}/examples/05_documentation/getting-started/first_agent_02.py +0 -0
  163. {flock_core-0.3.20 → flock_core-0.3.22}/examples/05_documentation/getting-started/first_agent_03.py +0 -0
  164. {flock_core-0.3.20 → flock_core-0.3.22}/examples/README.md +0 -0
  165. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/flock_without_llms.py +0 -0
  166. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/long_research_no_handoff.py +0 -0
  167. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/painting_by_numbers.py +0 -0
  168. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/project_manager.py +0 -0
  169. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer.py +0 -0
  170. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer_llm.py +0 -0
  171. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/load_01.py +0 -0
  172. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/load_02.py +0 -0
  173. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/load_03.py +0 -0
  174. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/load_04.py +0 -0
  175. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/save_01.py +0 -0
  176. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/save_02.py +0 -0
  177. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/save_and_load/save_03.py +0 -0
  178. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/02_cook_book/self_improvement_with_memory.py +0 -0
  179. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/hier/her_vis.py +0 -0
  180. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/hier/hier_mem.py +0 -0
  181. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/misc/memory.py +0 -0
  182. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/misc/self_learner.py +0 -0
  183. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/misc/self_learner2.py +0 -0
  184. {flock_core-0.3.20 → flock_core-0.3.22}/examples/playground/website/app.py +0 -0
  185. {flock_core-0.3.20 → flock_core-0.3.22}/requirements.txt +0 -0
  186. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/assets/release_notes.md +0 -0
  187. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/constants.py +0 -0
  188. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/create_agent.py +0 -0
  189. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/create_flock.py +0 -0
  190. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/load_agent.py +0 -0
  191. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/load_examples.py +0 -0
  192. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/load_flock.py +0 -0
  193. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/cli/load_release_notes.py +0 -0
  194. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/config.py +0 -0
  195. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/__init__.py +0 -0
  196. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/context/context.py +0 -0
  197. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/context/context_manager.py +0 -0
  198. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/context/context_vars.py +0 -0
  199. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/execution/local_executor.py +0 -0
  200. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/execution/temporal_executor.py +0 -0
  201. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock.py +0 -0
  202. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock_api.py +0 -0
  203. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock_module.py +0 -0
  204. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/flock_router.py +0 -0
  205. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/interpreter/python_interpreter.py +0 -0
  206. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/__init__.py +0 -0
  207. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  208. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  209. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/formatters/themes.py +0 -0
  210. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/logging.py +0 -0
  211. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  212. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/telemetry.py +0 -0
  213. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  214. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  215. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  216. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/logging/trace_and_logged.py +0 -0
  217. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/mixin/dspy_integration.py +0 -0
  218. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/mixin/prompt_parser.py +0 -0
  219. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/registry/agent_registry.py +0 -0
  220. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/serialization/secure_serializer.py +0 -0
  221. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/serialization/serializable.py +0 -0
  222. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/tools/azure_tools.py +0 -0
  223. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/tools/basic_tools.py +0 -0
  224. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/tools/dev_tools/github.py +0 -0
  225. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/tools/llm_tools.py +0 -0
  226. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/tools/markdown_tools.py +0 -0
  227. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/util/cli_helper.py +0 -0
  228. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/util/hydrator.py +0 -0
  229. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/core/util/input_resolver.py +0 -0
  230. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  231. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
  232. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  233. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
  234. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  235. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/azure-search/azure_search_module.py +0 -0
  236. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/callback/callback_module.py +0 -0
  237. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/memory/memory_module.py +0 -0
  238. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/memory/memory_parser.py +0 -0
  239. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/memory/memory_storage.py +0 -0
  240. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/performance/metrics_module.py +0 -0
  241. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/modules/zep/zep_module.py +0 -0
  242. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/platform/docker_tools.py +0 -0
  243. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/platform/jaeger_install.py +0 -0
  244. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/__init__.py +0 -0
  245. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/agent/__init__.py +0 -0
  246. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/agent/agent_router.py +0 -0
  247. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/agent/handoff_agent.py +0 -0
  248. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/default/__init__.py +0 -0
  249. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/default/default_router.py +0 -0
  250. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/llm/__init__.py +0 -0
  251. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/routers/llm/llm_router.py +0 -0
  252. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/3024-day.toml +0 -0
  253. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/3024-night.toml +0 -0
  254. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/aardvark-blue.toml +0 -0
  255. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/abernathy.toml +0 -0
  256. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/adventure.toml +0 -0
  257. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/adventuretime.toml +0 -0
  258. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/afterglow.toml +0 -0
  259. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/alabaster.toml +0 -0
  260. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/alienblood.toml +0 -0
  261. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/andromeda.toml +0 -0
  262. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/apple-classic.toml +0 -0
  263. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/apple-system-colors.toml +0 -0
  264. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/arcoiris.toml +0 -0
  265. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/argonaut copy.toml +0 -0
  266. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/argonaut.toml +0 -0
  267. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/arthur.toml +0 -0
  268. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ateliersulphurpool.toml +0 -0
  269. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/atom.toml +0 -0
  270. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/atom_test.toml +0 -0
  271. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/atomonelight.toml +0 -0
  272. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/aurora.toml +0 -0
  273. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ayu copy.toml +0 -0
  274. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ayu-light.toml +0 -0
  275. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ayu-mirage.toml +0 -0
  276. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ayu.toml +0 -0
  277. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/banana-blueberry.toml +0 -0
  278. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/batman.toml +0 -0
  279. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/belafonte-day.toml +0 -0
  280. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/belafonte-night.toml +0 -0
  281. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/birdsofparadise.toml +0 -0
  282. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/blazer.toml +0 -0
  283. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/blue-matrix.toml +0 -0
  284. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/blueberrypie.toml +0 -0
  285. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/bluedolphin.toml +0 -0
  286. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/blulocodark.toml +0 -0
  287. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/blulocolight.toml +0 -0
  288. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/borland.toml +0 -0
  289. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/breeze.toml +0 -0
  290. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/bright-lights.toml +0 -0
  291. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/broadcast.toml +0 -0
  292. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/brogrammer.toml +0 -0
  293. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-dark.toml +0 -0
  294. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-light.toml +0 -0
  295. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  296. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  297. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-solarized-light.toml +0 -0
  298. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-tango-dark.toml +0 -0
  299. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/builtin-tango-light.toml +0 -0
  300. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/c64.toml +0 -0
  301. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/calamity.toml +0 -0
  302. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/catppuccin-frappe.toml +0 -0
  303. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/catppuccin-latte.toml +0 -0
  304. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  305. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/catppuccin-mocha.toml +0 -0
  306. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cga.toml +0 -0
  307. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/chalk.toml +0 -0
  308. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/chalkboard.toml +0 -0
  309. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/challengerdeep.toml +0 -0
  310. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/chester.toml +0 -0
  311. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ciapre.toml +0 -0
  312. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/clrs.toml +0 -0
  313. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cobalt-neon.toml +0 -0
  314. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cobalt2.toml +0 -0
  315. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/coffee-theme.toml +0 -0
  316. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/crayonponyfish.toml +0 -0
  317. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cutiepro.toml +0 -0
  318. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cyberdyne.toml +0 -0
  319. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cyberpunk.toml +0 -0
  320. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  321. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dark+.toml +0 -0
  322. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dark-pastel.toml +0 -0
  323. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/darkermatrix.toml +0 -0
  324. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/darkmatrix.toml +0 -0
  325. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/darkside.toml +0 -0
  326. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dayfox.toml +0 -0
  327. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/deep.toml +0 -0
  328. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/desert.toml +0 -0
  329. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dimidium.toml +0 -0
  330. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dimmedmonokai.toml +0 -0
  331. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/django.toml +0 -0
  332. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/djangorebornagain.toml +0 -0
  333. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/djangosmooth.toml +0 -0
  334. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/doom-peacock.toml +0 -0
  335. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/doomone.toml +0 -0
  336. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dotgov.toml +0 -0
  337. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dracula+.toml +0 -0
  338. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/dracula.toml +0 -0
  339. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/duckbones.toml +0 -0
  340. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/duotone-dark.toml +0 -0
  341. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/earthsong.toml +0 -0
  342. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/elemental.toml +0 -0
  343. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/elementary.toml +0 -0
  344. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/encom.toml +0 -0
  345. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/espresso-libre.toml +0 -0
  346. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/espresso.toml +0 -0
  347. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/everblush.toml +0 -0
  348. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/fahrenheit.toml +0 -0
  349. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/fairyfloss.toml +0 -0
  350. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/farmhouse-dark.toml +0 -0
  351. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/farmhouse-light.toml +0 -0
  352. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/fideloper.toml +0 -0
  353. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/firefly-traditional.toml +0 -0
  354. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/firefoxdev.toml +0 -0
  355. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/firewatch.toml +0 -0
  356. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/fishtank.toml +0 -0
  357. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/flat.toml +0 -0
  358. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/flatland.toml +0 -0
  359. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/flexoki-dark.toml +0 -0
  360. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/flexoki-light.toml +0 -0
  361. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/floraverse.toml +0 -0
  362. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/forestblue.toml +0 -0
  363. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/framer.toml +0 -0
  364. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/frontenddelight.toml +0 -0
  365. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/funforrest.toml +0 -0
  366. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/galaxy.toml +0 -0
  367. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/galizur.toml +0 -0
  368. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/github-dark.toml +0 -0
  369. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/github.toml +0 -0
  370. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/glacier.toml +0 -0
  371. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/grape.toml +0 -0
  372. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/grass.toml +0 -0
  373. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/grey-green.toml +0 -0
  374. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/gruber-darker.toml +0 -0
  375. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/gruvboxdark.toml +0 -0
  376. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  377. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/gruvboxlight.toml +0 -0
  378. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/guezwhoz.toml +0 -0
  379. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hacktober.toml +0 -0
  380. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hardcore.toml +0 -0
  381. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/harper.toml +0 -0
  382. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hax0r-blue.toml +0 -0
  383. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hax0r-gr33n.toml +0 -0
  384. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hax0r-r3d.toml +0 -0
  385. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/highway.toml +0 -0
  386. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hipster-green.toml +0 -0
  387. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hivacruz.toml +0 -0
  388. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/homebrew.toml +0 -0
  389. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hopscotch.256.toml +0 -0
  390. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hopscotch.toml +0 -0
  391. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hurtado.toml +0 -0
  392. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/hybrid.toml +0 -0
  393. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ic-green-ppl.toml +0 -0
  394. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ic-orange-ppl.toml +0 -0
  395. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iceberg-dark.toml +0 -0
  396. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iceberg-light.toml +0 -0
  397. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/idea.toml +0 -0
  398. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/idletoes.toml +0 -0
  399. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ir-black.toml +0 -0
  400. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-dark-background.toml +0 -0
  401. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-default.toml +0 -0
  402. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-light-background.toml +0 -0
  403. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  404. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  405. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  406. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  407. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  408. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/iterm2-tango-light.toml +0 -0
  409. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/jackie-brown.toml +0 -0
  410. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/japanesque.toml +0 -0
  411. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/jellybeans.toml +0 -0
  412. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/jetbrains-darcula.toml +0 -0
  413. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/jubi.toml +0 -0
  414. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/kanagawabones.toml +0 -0
  415. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/kibble.toml +0 -0
  416. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/kolorit.toml +0 -0
  417. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/konsolas.toml +0 -0
  418. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/kurokula.toml +0 -0
  419. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/lab-fox.toml +0 -0
  420. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/laser.toml +0 -0
  421. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/later-this-evening.toml +0 -0
  422. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/lavandula.toml +0 -0
  423. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/liquidcarbon.toml +0 -0
  424. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  425. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  426. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/lovelace.toml +0 -0
  427. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/man-page.toml +0 -0
  428. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/mariana.toml +0 -0
  429. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/material.toml +0 -0
  430. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/materialdark.toml +0 -0
  431. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/materialdarker.toml +0 -0
  432. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/materialdesigncolors.toml +0 -0
  433. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/materialocean.toml +0 -0
  434. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/mathias.toml +0 -0
  435. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/matrix.toml +0 -0
  436. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/medallion.toml +0 -0
  437. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/mellifluous.toml +0 -0
  438. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/midnight-in-mojave.toml +0 -0
  439. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/mirage.toml +0 -0
  440. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/misterioso.toml +0 -0
  441. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/molokai.toml +0 -0
  442. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/monalisa.toml +0 -0
  443. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/monokai-remastered.toml +0 -0
  444. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/monokai-soda.toml +0 -0
  445. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/monokai-vivid.toml +0 -0
  446. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/n0tch2k.toml +0 -0
  447. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/neobones-dark.toml +0 -0
  448. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/neobones-light.toml +0 -0
  449. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/neon.toml +0 -0
  450. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/neopolitan.toml +0 -0
  451. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/neutron.toml +0 -0
  452. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/night-owlish-light.toml +0 -0
  453. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nightfox.toml +0 -0
  454. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nightlion-v1.toml +0 -0
  455. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nightlion-v2.toml +0 -0
  456. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/niji.toml +0 -0
  457. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nocturnal-winter.toml +0 -0
  458. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nord-light.toml +0 -0
  459. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nord.toml +0 -0
  460. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/novel.toml +0 -0
  461. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nvimdark.toml +0 -0
  462. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/nvimlight.toml +0 -0
  463. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/obsidian.toml +0 -0
  464. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ocean.toml +0 -0
  465. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/oceanic-next.toml +0 -0
  466. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/oceanicmaterial.toml +0 -0
  467. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ollie.toml +0 -0
  468. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/onehalfdark.toml +0 -0
  469. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/onehalflight.toml +0 -0
  470. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/operator-mono-dark.toml +0 -0
  471. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/overnight-slumber.toml +0 -0
  472. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/oxocarbon.toml +0 -0
  473. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/palenighthc.toml +0 -0
  474. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/pandora.toml +0 -0
  475. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/paraiso-dark.toml +0 -0
  476. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/paulmillr.toml +0 -0
  477. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/pencildark.toml +0 -0
  478. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/pencillight.toml +0 -0
  479. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/peppermint.toml +0 -0
  480. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/piatto-light.toml +0 -0
  481. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/pnevma.toml +0 -0
  482. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/popping-and-locking.toml +0 -0
  483. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/primary.toml +0 -0
  484. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/pro-light.toml +0 -0
  485. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/pro.toml +0 -0
  486. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/purple-rain.toml +0 -0
  487. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/purplepeter.toml +0 -0
  488. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rapture.toml +0 -0
  489. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/raycast-dark.toml +0 -0
  490. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/raycast-light.toml +0 -0
  491. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rebecca.toml +0 -0
  492. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/red-alert.toml +0 -0
  493. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/red-planet.toml +0 -0
  494. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/red-sands.toml +0 -0
  495. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/relaxed.toml +0 -0
  496. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/retro.toml +0 -0
  497. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rippedcasts.toml +0 -0
  498. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rose-pine-dawn.toml +0 -0
  499. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rose-pine-moon.toml +0 -0
  500. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rose-pine.toml +0 -0
  501. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/rouge-2.toml +0 -0
  502. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/royal.toml +0 -0
  503. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ryuuko.toml +0 -0
  504. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/sakura.toml +0 -0
  505. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/scarlet-protocol.toml +0 -0
  506. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/seafoam-pastel.toml +0 -0
  507. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/seashells.toml +0 -0
  508. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/seoulbones-dark.toml +0 -0
  509. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/seoulbones-light.toml +0 -0
  510. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/seti.toml +0 -0
  511. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/shades-of-purple.toml +0 -0
  512. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/shaman.toml +0 -0
  513. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/slate.toml +0 -0
  514. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/sleepyhollow.toml +0 -0
  515. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/smyck.toml +0 -0
  516. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/snazzy.toml +0 -0
  517. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/softserver.toml +0 -0
  518. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/solarized-darcula.toml +0 -0
  519. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/solarized-dark---patched.toml +0 -0
  520. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  521. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/spacedust.toml +0 -0
  522. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  523. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/spacegray-eighties.toml +0 -0
  524. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/spacegray.toml +0 -0
  525. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/spiderman.toml +0 -0
  526. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/spring.toml +0 -0
  527. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/square.toml +0 -0
  528. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/sublette.toml +0 -0
  529. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/subliminal.toml +0 -0
  530. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/sugarplum.toml +0 -0
  531. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/sundried.toml +0 -0
  532. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/symfonic.toml +0 -0
  533. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/synthwave-everything.toml +0 -0
  534. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/synthwave.toml +0 -0
  535. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/synthwavealpha.toml +0 -0
  536. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tango-adapted.toml +0 -0
  537. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tango-half-adapted.toml +0 -0
  538. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/teerb.toml +0 -0
  539. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/terafox.toml +0 -0
  540. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/terminal-basic.toml +0 -0
  541. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/thayer-bright.toml +0 -0
  542. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/the-hulk.toml +0 -0
  543. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  544. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tinacious-design-(light).toml +0 -0
  545. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tokyonight-day.toml +0 -0
  546. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tokyonight-storm.toml +0 -0
  547. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tokyonight.toml +0 -0
  548. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  549. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  550. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  551. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  552. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tomorrow-night.toml +0 -0
  553. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/tomorrow.toml +0 -0
  554. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/toychest.toml +0 -0
  555. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/treehouse.toml +0 -0
  556. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/twilight.toml +0 -0
  557. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ubuntu.toml +0 -0
  558. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ultradark.toml +0 -0
  559. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/ultraviolent.toml +0 -0
  560. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/underthesea.toml +0 -0
  561. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/unikitty.toml +0 -0
  562. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/urple.toml +0 -0
  563. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/vaughn.toml +0 -0
  564. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/vesper.toml +0 -0
  565. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/vibrantink.toml +0 -0
  566. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/vimbones.toml +0 -0
  567. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/violet-dark.toml +0 -0
  568. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/violet-light.toml +0 -0
  569. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/warmneon.toml +0 -0
  570. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/wez.toml +0 -0
  571. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/whimsy.toml +0 -0
  572. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/wildcherry.toml +0 -0
  573. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/wilmersdorf.toml +0 -0
  574. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/wombat.toml +0 -0
  575. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/wryan.toml +0 -0
  576. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/xcodedark.toml +0 -0
  577. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/xcodedarkhc.toml +0 -0
  578. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/xcodelight.toml +0 -0
  579. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/xcodelighthc.toml +0 -0
  580. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/xcodewwdc.toml +0 -0
  581. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenbones-dark.toml +0 -0
  582. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenbones-light.toml +0 -0
  583. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenbones.toml +0 -0
  584. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenburn.toml +0 -0
  585. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenburned.toml +0 -0
  586. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenwritten-dark.toml +0 -0
  587. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/themes/zenwritten-light.toml +0 -0
  588. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/workflow/__init__.py +0 -0
  589. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/workflow/activities.py +0 -0
  590. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/workflow/agent_activities.py +0 -0
  591. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/workflow/temporal_setup.py +0 -0
  592. {flock_core-0.3.20 → flock_core-0.3.22}/src/flock/workflow/workflow.py +0 -0
  593. {flock_core-0.3.20 → flock_core-0.3.22}/tests/PLAN.md +0 -0
  594. {flock_core-0.3.20 → flock_core-0.3.22}/tests/TESTING.md +0 -0
  595. {flock_core-0.3.20 → flock_core-0.3.22}/tests/__init__.py +0 -0
  596. {flock_core-0.3.20 → flock_core-0.3.22}/tests/api/__init__.py +0 -0
  597. {flock_core-0.3.20 → flock_core-0.3.22}/tests/cli/__init__.py +0 -0
  598. {flock_core-0.3.20 → flock_core-0.3.22}/tests/conftest.py +0 -0
  599. {flock_core-0.3.20 → flock_core-0.3.22}/tests/e2e/__init__.py +0 -0
  600. {flock_core-0.3.20 → flock_core-0.3.22}/tests/e2e/local/__init__.py +0 -0
  601. {flock_core-0.3.20 → flock_core-0.3.22}/tests/e2e/local/test_simple_workflow_local.py +0 -0
  602. {flock_core-0.3.20 → flock_core-0.3.22}/tests/e2e/temporal/__init__.py +0 -0
  603. {flock_core-0.3.20 → flock_core-0.3.22}/tests/fixtures/__init__.py +0 -0
  604. {flock_core-0.3.20 → flock_core-0.3.22}/tests/integration/__init__.py +0 -0
  605. {flock_core-0.3.20 → flock_core-0.3.22}/tests/integration/core/__init__.py +0 -0
  606. {flock_core-0.3.20 → flock_core-0.3.22}/tests/integration/core/test_flock_agent_integration.py +0 -0
  607. {flock_core-0.3.20 → flock_core-0.3.22}/tests/integration/modules/__init__.py +0 -0
  608. {flock_core-0.3.20 → flock_core-0.3.22}/tests/integration/temporal/__init__.py +0 -0
  609. {flock_core-0.3.20 → flock_core-0.3.22}/tests/pytest.ini +0 -0
  610. {flock_core-0.3.20 → flock_core-0.3.22}/tests/unit/__init__.py +0 -0
  611. {flock_core-0.3.20 → flock_core-0.3.22}/tests/unit/core/__init__.py +0 -0
  612. {flock_core-0.3.20 → flock_core-0.3.22}/tests/unit/evaluators/__init__.py +0 -0
  613. {flock_core-0.3.20 → flock_core-0.3.22}/tests/unit/modules/__init__.py +0 -0
  614. {flock_core-0.3.20 → flock_core-0.3.22}/tests/unit/routers/__init__.py +0 -0
  615. {flock_core-0.3.20 → flock_core-0.3.22}/tests/unit/utils/__init__.py +0 -0
@@ -0,0 +1,4 @@
1
+ # Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)
2
+ src/flock/themes/
3
+
4
+
@@ -6,6 +6,11 @@ __pycache__/
6
6
  # C extensions
7
7
  *.so
8
8
 
9
+ # ignore all .env* files except .env_template
10
+ *.env*
11
+ !*.env_template
12
+
13
+
9
14
  # Distribution / packaging
10
15
  .Python
11
16
  build/
@@ -33,6 +38,9 @@ news/
33
38
  .chroma/
34
39
  hierarchical_memory/
35
40
  .repomix-output.txt
41
+ output/
42
+ !src/flock/modules/output/output_module.py
43
+ .env.*
36
44
 
37
45
  # PyInstaller
38
46
  # Usually these files are written by a python script from a template
@@ -53,6 +53,12 @@ Flock is a declarative agent framework that focuses on simplifying the creation
53
53
  - Defines context propagation requirements
54
54
  - Specifies context access patterns
55
55
 
56
+ 9. [**CLI System**](specs/09_cli_system.md)
57
+ - Defines the command-line interface architecture
58
+ - Specifies modules like the Settings Editor and Theme Builder
59
+ - Documents environment profile management
60
+ - Outlines UI components and navigation patterns
61
+
56
62
  ## Design Principles
57
63
 
58
64
  These specifications reveal several core design principles that guided the development of Flock:
@@ -62,6 +68,7 @@ These specifications reveal several core design principles that guided the devel
62
68
  3. **Declarative Over Imperative** - Focus on what agents do, not how they do it
63
69
  4. **Production Readiness** - Support for distributed execution, observability, and error handling
64
70
  5. **Developer Experience** - Simplified API with sensible defaults and clear patterns
71
+ 6. **User-Friendly Interface** - Intuitive CLI with clear navigation and helpful feedback
65
72
 
66
73
  ## Implementation Status
67
74
 
@@ -75,4 +82,5 @@ Based on the specifications, potential future enhancements could include:
75
82
  2. Enhanced observability and debugging tools
76
83
  3. Additional module types for common agent patterns
77
84
  4. Expanded router capabilities for complex workflows
78
- 5. Integration with additional execution engines beyond Temporal
85
+ 5. Integration with additional execution engines beyond Temporal
86
+ 6. Extended CLI functionality for agent management and monitoring
@@ -0,0 +1,47 @@
1
+ # Project Tasks
2
+
3
+ ## Environment Settings Editor
4
+
5
+ The settings editor is a key feature of the Flock CLI that allows users to view, edit, add, and delete environment variables in the `.env` file.
6
+
7
+ ### Implementation Tasks
8
+
9
+ | ID | Task | Priority | Status | Description |
10
+ |----|------|----------|--------|-------------|
11
+ | 001 | [Settings Editor Implementation](tasks/done/001-env-settings-editor.md) | High | Completed | Implement the core settings editor functionality |
12
+ | 002 | [Settings Editor UI Components](tasks/done/002-env-settings-ui-components.md) | High | Completed | Design and implement UI components for the settings editor |
13
+ | 003 | [Environment File Operations](tasks/done/003-env-settings-file-operations.md) | High | Completed | Implement robust file operations for the .env file |
14
+ | 004 | [Settings Security Features](tasks/done/004-settings-security-features.md) | High | Completed | Implement security features for protecting sensitive information |
15
+ | 005 | [Environment Profile Switching](tasks/done/005-env-profile-switching.md) | High | Completed | Implement feature to switch between multiple environment profiles (.env configurations) |
16
+
17
+ ## Implementation Approach
18
+
19
+ The settings editor was implemented in stages:
20
+
21
+ 1. **Core Functionality**: Parse and manipulate .env files, implement the main settings editor menu
22
+ 2. **UI Components**: Create a user-friendly interface with proper formatting and navigation
23
+ 3. **File Operations**: Ensure robust reading and writing of .env files with proper error handling
24
+ 4. **Security Features**: Add protection for sensitive information like API keys and tokens
25
+ 5. **Profile Management**: Implement ability to create and switch between different environment profiles
26
+
27
+ ## Definition of Done
28
+
29
+ The implementation is considered complete as:
30
+
31
+ - Users can access the settings editor from the main CLI menu
32
+ - All core functionality (view, edit, add, delete) works correctly
33
+ - Users can switch between different environment profiles (dev, test, prod)
34
+ - The UI is intuitive and provides clear feedback
35
+ - File operations are robust and prevent data loss
36
+ - Sensitive information is properly protected
37
+ - Code is well-documented and follows project conventions
38
+
39
+ ## Next Steps
40
+
41
+ After completing the settings editor, potential future enhancements could include:
42
+
43
+ - Settings groups/categories for better organization
44
+ - Import/export functionality for settings
45
+ - Presets for common configurations
46
+ - Integration with cloud-based secrets management
47
+ - Command history and autocomplete features
@@ -0,0 +1,21 @@
1
+ # User Stories
2
+
3
+ This document provides an index of all user stories for the Flock project.
4
+
5
+ ## Current User Stories
6
+
7
+ No active user stories.
8
+
9
+ ## Completed User Stories
10
+
11
+ | ID | Title | Priority | Status | Description |
12
+ |----|-------|----------|--------|-------------|
13
+ | [US001](userstories/done/US001-Settings-Editor.md) | Environment Settings Editor with Profile Management | High | Completed | Implement a settings editor with profile switching capability |
14
+
15
+ ## User Story Status Explanation
16
+
17
+ - **Not Started**: The user story has been defined but no work has been done
18
+ - **In Progress**: Work has started on the user story
19
+ - **Completed**: All tasks associated with the user story have been completed
20
+ - **On Hold**: The user story is temporarily paused
21
+ - **Blocked**: The user story cannot proceed due to external dependencies
@@ -0,0 +1,184 @@
1
+ # Planning Prompt Template
2
+
3
+ Use this prompt template when you want to create a new user story and related tasks for a feature in the Flock project.
4
+
5
+ ## Prompt Template
6
+
7
+ ```
8
+ I need to implement a new feature in my Flock CLI application. The feature is [BRIEF DESCRIPTION OF FEATURE].
9
+
10
+ Please help me plan this implementation by:
11
+
12
+ 1. Creating a detailed user story that describes:
13
+ - The current state of the system related to this feature
14
+ - The desired state after implementation
15
+ - Technical details about the project structure and relevant files
16
+ - Clear acceptance criteria
17
+ - UI mockups (if applicable)
18
+ - Any edge cases or special considerations
19
+
20
+ 2. Breaking down the implementation into specific tasks, where each task:
21
+ - Has a clear focus and scope
22
+ - Includes technical requirements
23
+ - Has a step-by-step implementation plan
24
+ - Defines "done" criteria
25
+ - Lists dependencies and related tasks
26
+ - Estimates effort required
27
+
28
+ 3. Creating a task index that organizes all tasks with their priorities and statuses
29
+
30
+ Follow the structure and format used in the Settings Editor feature:
31
+ - Create files in `.project/userstories/` for the user story
32
+ - Create files in `.project/tasks/` for each task
33
+ - Update `.project/USERSTORIES.md` to include the new user story
34
+ - Update `.project/TASKS.md` to include the new tasks
35
+
36
+ Additional context about my project:
37
+ [PROVIDE ANY RELEVANT CONTEXT ABOUT YOUR PROJECT, SUCH AS CURRENT STRUCTURE, LIBRARIES USED, OR SPECIFIC REQUIREMENTS]
38
+
39
+ Before continuing with implementing the code, please let me review the user story and tasks first.
40
+ ```
41
+
42
+ ## Example Use
43
+
44
+ Here's an example of how to use this template for a specific feature:
45
+
46
+ ```
47
+ I need to implement a new feature in my Flock CLI application. The feature is a command-line plugin system that allows users to create, install, and manage custom plugins to extend the functionality of the CLI.
48
+
49
+ Please help me plan this implementation by:
50
+
51
+ 1. Creating a detailed user story that describes:
52
+ - The current state of the system related to this feature
53
+ - The desired state after implementation
54
+ - Technical details about the project structure and relevant files
55
+ - Clear acceptance criteria
56
+ - UI mockups (if applicable)
57
+ - Any edge cases or special considerations
58
+
59
+ 2. Breaking down the implementation into specific tasks, where each task:
60
+ - Has a clear focus and scope
61
+ - Includes technical requirements
62
+ - Has a step-by-step implementation plan
63
+ - Defines "done" criteria
64
+ - Lists dependencies and related tasks
65
+ - Estimates effort required
66
+
67
+ 3. Creating a task index that organizes all tasks with their priorities and statuses
68
+
69
+ Follow the structure and format used in the Settings Editor feature:
70
+ - Create files in `.project/userstories/` for the user story
71
+ - Create files in `.project/tasks/` for each task
72
+ - Update `.project/USERSTORIES.md` to include the new user story
73
+ - Update `.project/TASKS.md` to include the new tasks
74
+
75
+ Additional context about my project:
76
+ - The CLI is built in Python using Rich for UI and Questionary for input
77
+ - We use a plugin architecture similar to the one in Poetry/Pip
78
+ - Plugins should be installable from Git repositories or local directories
79
+ - The CLI currently has a modular structure in src/flock/cli/
80
+
81
+ Before continuing with implementing the code, please let me review the user story and tasks first.
82
+ ```
83
+
84
+ ## Tips for Getting the Best Results
85
+
86
+ 1. **Be specific** about the feature you want to implement
87
+ 2. **Provide context** about your project's structure and current state
88
+ 3. **Mention any libraries or technologies** that should be used
89
+ 4. **Include any specific requirements** or constraints
90
+ 5. **Share examples** of similar features if available
91
+ 6. **Identify potential edge cases** or challenges
92
+ 7. **Specify the target audience** of the feature
93
+ 8. **Indicate priority level** if relevant
94
+
95
+ ## Template for User Story Structure
96
+
97
+ Your user story should typically follow this structure:
98
+
99
+ ```markdown
100
+ # User Story: [Feature Name]
101
+
102
+ ## ID
103
+ [ID Number]
104
+
105
+ ## Title
106
+ [Concise Title]
107
+
108
+ ## Description
109
+ As a [type of user], I want to [goal/action] so that [benefit/reason].
110
+
111
+ ## Current State
112
+ [Description of how things currently work or the absence of functionality]
113
+
114
+ ## Desired State
115
+ [Description of how things should work after implementation]
116
+
117
+ ## Technical Details
118
+ [Technical information about implementation, including project structure and technologies]
119
+
120
+ ## Related Tasks
121
+ [Links to related task files]
122
+
123
+ ## Acceptance Criteria
124
+ [List of specific criteria that must be met for the feature to be considered complete]
125
+
126
+ ## UI Mockups
127
+ [Text-based mockups if the feature has a UI component]
128
+
129
+ ## Notes
130
+ [Any additional information, cautions, or special considerations]
131
+
132
+ ## Stakeholders
133
+ [Who will be affected by or interested in this feature]
134
+
135
+ ## Priority
136
+ [Priority level]
137
+
138
+ ## Story Points / Effort
139
+ [Estimated effort required]
140
+ ```
141
+
142
+ ## Template for Task Structure
143
+
144
+ Your tasks should typically follow this structure:
145
+
146
+ ```markdown
147
+ # [Task Name]
148
+
149
+ ## Summary
150
+ [Brief description of the task]
151
+
152
+ ## Description
153
+ [More detailed explanation of what this task entails]
154
+
155
+ ## User Story
156
+ [Link to the related user story]
157
+
158
+ ## Technical Requirements
159
+ [Specific technical requirements for this task]
160
+
161
+ ## Implementation Plan
162
+ [Step-by-step plan for implementing this task]
163
+
164
+ ## Definition of Done
165
+ [Specific criteria that must be met for this task to be considered complete]
166
+
167
+ ## Dependencies
168
+ [Libraries, tools, or other tasks that this task depends on]
169
+
170
+ ## Related Tasks
171
+ [Links to related task files]
172
+
173
+ ## Estimated Effort
174
+ [Estimated time or complexity]
175
+
176
+ ## Priority
177
+ [Priority level]
178
+
179
+ ## Assignee
180
+ [Who is assigned to this task]
181
+
182
+ ## Status
183
+ [Current status of the task]
184
+ ```
@@ -0,0 +1,119 @@
1
+ # CLI System Specification
2
+
3
+ ## Overview
4
+
5
+ The Command Line Interface (CLI) system provides an interactive terminal-based user interface for the Flock framework. It allows users to manage agents, flocks, settings, and other aspects of the framework through a console application.
6
+
7
+ ## Components
8
+
9
+ ### 1. Main CLI Application
10
+
11
+ - **Entry Point**: `src/flock/__init__.py`
12
+ - **Purpose**: Provides the main menu and dispatches to specific CLI modules
13
+ - **Implementation**: Uses Rich for formatting and Questionary for interactive prompts
14
+ - **Main Menu Options**:
15
+ - Load a flock file
16
+ - Theme builder
17
+ - Settings editor
18
+ - Advanced mode (future)
19
+ - Web server (future)
20
+ - Release notes
21
+ - Exit
22
+
23
+ ### 2. Settings Editor
24
+
25
+ - **Module**: `src/flock/cli/settings.py`
26
+ - **Purpose**: View, edit, add, and delete environment variables in the `.env` file
27
+ - **Features**:
28
+ - Pagination of environment variables
29
+ - Masking of sensitive values (API keys, tokens, etc.)
30
+ - Environment profile management (dev, test, prod, etc.)
31
+ - Configurable variables per page
32
+
33
+ #### 2.1 Environment Variables Management
34
+
35
+ - View all environment variables with pagination
36
+ - Edit existing variables with proper validation
37
+ - Add new variables
38
+ - Delete existing variables
39
+ - Masking sensitive values (API keys, passwords, tokens)
40
+ - Toggle visibility of sensitive values
41
+
42
+ #### 2.2 Environment Profile System
43
+
44
+ - Multiple environment profiles (.env_dev, .env_prod, etc.)
45
+ - Active profile stored as .env
46
+ - Profile name stored as comment in first line: `# Profile: name`
47
+ - Profile operations:
48
+ - Switch between profiles
49
+ - Create new profiles
50
+ - Rename existing profiles
51
+ - Delete profiles
52
+ - Safe backup system before profile operations
53
+
54
+ #### 2.3 Settings Configuration
55
+
56
+ - Configurable settings stored in the .env file:
57
+ - `SHOW_SECRETS`: Controls visibility of sensitive values
58
+ - `VARS_PER_PAGE`: Controls pagination size (5-100 variables)
59
+
60
+ ### 3. Theme Builder
61
+
62
+ - **Module**: `flock/core/logging/formatters/theme_builder`
63
+ - **Purpose**: Customize the visual appearance of the CLI
64
+ - **Features**: [To be expanded]
65
+
66
+ ### 4. Flock Loader
67
+
68
+ - **Module**: `src/flock/cli/load_flock.py`
69
+ - **Purpose**: Load and execute .flock files
70
+ - **Features**: [To be expanded]
71
+
72
+ ## Design Principles
73
+
74
+ 1. **User-Friendly Interface**: Clear navigation, intuitive controls, and helpful feedback
75
+ 2. **Data Safety**: Backup operations before destructive actions, confirmation prompts
76
+ 3. **Efficient Workflow**: Keyboard shortcuts, pagination, customizable settings
77
+ 4. **Security Conscious**: Masking of sensitive values, confirmation for showing secrets
78
+ 5. **Consistent UI**: Using Rich for formatted output, Questionary for inputs
79
+
80
+ ## UI Components
81
+
82
+ ### Panels and Tables
83
+
84
+ - **Rich Panels**: Used for section headers and menus
85
+ - **Rich Tables**: Used for displaying structured data
86
+ - **Color Coding**: Green for success, yellow for warnings, red for errors
87
+
88
+ ### Interactive Elements
89
+
90
+ - **Selection Menus**: Using Questionary.select for menu navigation
91
+ - **Text Inputs**: Using Questionary.text for data entry
92
+ - **Confirmations**: Using Questionary.confirm for destructive actions
93
+
94
+ ## Navigation System
95
+
96
+ - **Main Menu**: Select from multiple modules
97
+ - **Module Menus**: Select operations within a module
98
+ - **Keyboard Shortcuts**: Single-key commands for common operations
99
+ - **Back Button**: Return to previous screen
100
+ - **Cancel Option**: Abort current operation
101
+
102
+ ## File Operations
103
+
104
+ - **Load Operations**: Reading from the .env file and profile files
105
+ - **Save Operations**: Writing to the .env file with proper backup
106
+ - **Backup System**: Creating .env.bak before destructive operations
107
+ - **Profile Files**: Managing .env_[profile_name] files
108
+
109
+ ## Future Enhancements
110
+
111
+ 1. **Command History**: Remember previous commands and inputs
112
+ 2. **Autocomplete**: Tab completion for variable names and commands
113
+ 3. **Search/Filter**: Find specific variables by name or value
114
+ 4. **Import/Export**: Support for importing/exporting profiles
115
+ 5. **Template System**: Pre-defined templates for common setups
116
+
117
+ ## Implementation Status
118
+
119
+ The CLI system is currently being implemented with the Settings Editor being the first major component completed. Additional components will be developed according to the project roadmap.
@@ -0,0 +1,82 @@
1
+ # Settings Editor Implementation
2
+
3
+ ## Summary
4
+ Implement a settings editor for the Flock CLI that allows users to view, edit, add, and delete variables in the `.env` file.
5
+
6
+ ## Description
7
+ The Flock CLI has a "Settings" menu item that needs to load a settings editor when selected. This editor will allow users to:
8
+ 1. View all current environment variables in the `.env` file
9
+ 2. Edit existing environment variable values
10
+ 3. Add new environment variables
11
+ 4. Delete existing environment variables
12
+ 5. Create and switch between different environment profiles (dev, test, prod)
13
+
14
+ The implementation should provide a smooth and elegant user experience, leveraging the existing libraries used in the project (Rich and Questionary).
15
+
16
+ ## User Story
17
+ [US001 - Environment Settings Editor](../userstories/done/US001-Settings-Editor.md)
18
+
19
+ ## Technical Requirements
20
+ - Create a new module in `src/flock/cli/settings.py` that implements the settings editor
21
+ - Use Rich for display and formatting of environment variables
22
+ - Use Questionary for interactive input and selection
23
+ - Handle edge cases such as:
24
+ - Missing `.env` file
25
+ - Invalid format in `.env` file
26
+ - Special characters in variable names or values
27
+ - Multi-line values
28
+ - Preserve comments and formatting in the `.env` file when possible
29
+ - Provide clear feedback after operations
30
+ - Implement confirmation for destructive operations (like deletion)
31
+ - Support managing multiple environment profiles
32
+
33
+ ## Implementation Plan
34
+ 1. Create a function to parse and load the `.env` file
35
+ 2. Create a function to save the `.env` file
36
+ 3. Implement a main menu for the settings editor
37
+ 4. Implement view functionality with pagination
38
+ 5. Implement edit functionality
39
+ 6. Implement add functionality
40
+ 7. Implement delete functionality
41
+ 8. Implement profile switching and management
42
+ 9. Connect the settings editor to the CLI main menu
43
+
44
+ ## Definition of Done
45
+ - The settings editor can be accessed from the main CLI menu
46
+ - Users can view, edit, add, and delete environment variables
47
+ - Users can create, switch between, and manage different environment profiles
48
+ - The UI is responsive and provides clear feedback
49
+ - Edge cases are handled gracefully
50
+ - Code is well-documented and follows project conventions
51
+ - Changes to the `.env` file are properly preserved
52
+
53
+ ## Dependencies
54
+ - Rich library
55
+ - Questionary library
56
+ - Python's os and dotenv modules
57
+
58
+ ## Related Tasks
59
+ - [002-env-settings-ui-components.md](002-env-settings-ui-components.md)
60
+ - [003-env-settings-file-operations.md](003-env-settings-file-operations.md)
61
+ - [005-env-profile-switching.md](005-env-profile-switching.md)
62
+
63
+ ## Estimated Effort
64
+ Medium - Approximately 4-6 hours of development time
65
+
66
+ ## Priority
67
+ High - This is a core functionality for the CLI
68
+
69
+ ## Assignee
70
+ TBD
71
+
72
+ ## Status
73
+ Completed - May 21, 2024
74
+
75
+ ## Implementation Notes
76
+ - Created settings_editor() function as the main entry point
77
+ - Implemented view_env_variables() with pagination and masking of sensitive values
78
+ - Added edit_env_variable(), add_env_variable(), and delete_env_variable() with proper validation
79
+ - Implemented profile management (switch_profile, create_profile, rename_profile, delete_profile)
80
+ - Added settings for show_secrets and vars_per_page control
81
+ - Ensured proper error handling and backups before destructive operations
82
+ - Connected the settings editor to the main CLI menu in src/flock/__init__.py
@@ -0,0 +1,67 @@
1
+ # Settings Editor UI Components
2
+
3
+ ## Summary
4
+ Design and implement the user interface components for the environment settings editor in the Flock CLI.
5
+
6
+ ## Description
7
+ This task focuses on creating a well-designed, intuitive UI for the settings editor using Rich and Questionary. The UI should make it easy for users to navigate through settings, understand what they're editing, and get visual feedback on their actions.
8
+
9
+ ## User Story
10
+ [US001 - Environment Settings Editor](../userstories/done/US001-Settings-Editor.md)
11
+
12
+ ## Technical Requirements
13
+ - Create a consistent visual layout for the settings editor
14
+ - Implement color coding for different types of environment variables (secrets, URLs, paths, etc.)
15
+ - Design navigation elements for moving through settings
16
+ - Create input components for editing values with appropriate validation
17
+ - Implement status messages and confirmation dialogs
18
+ - Ensure the UI is responsive and works well in different terminal sizes
19
+ - Provide visual cues for required vs optional settings
20
+
21
+ ## Implementation Plan
22
+ 1. Design the main settings list view with pagination
23
+ 2. Create a settings detail/edit view
24
+ 3. Design confirmation dialogs for destructive actions
25
+ 4. Implement status/feedback messages
26
+ 5. Create a help/legend component to explain UI elements
27
+ 6. Design the "add new setting" form
28
+ 7. Ensure consistent styling across all components
29
+
30
+ ## Definition of Done
31
+ - All UI components render correctly in different terminal environments
32
+ - Navigation is intuitive and efficient
33
+ - Visual feedback is clear and helpful
34
+ - Layout adapts to different terminal sizes
35
+ - Consistent styling throughout the application
36
+ - Input validation provides clear error messages
37
+
38
+ ## Dependencies
39
+ - Rich library for formatted output
40
+ - Questionary for interactive input
41
+ - Task 001 (Settings Editor Implementation)
42
+
43
+ ## Related Tasks
44
+ - [001-env-settings-editor.md](../tasks/done/001-env-settings-editor.md)
45
+ - [003-env-settings-file-operations.md](003-env-settings-file-operations.md)
46
+
47
+ ## Estimated Effort
48
+ Medium - Approximately 3-4 hours of development time
49
+
50
+ ## Priority
51
+ High - This is essential for user experience
52
+
53
+ ## Assignee
54
+ TBD
55
+
56
+ ## Status
57
+ Completed - May 21, 2024
58
+
59
+ ## Implementation Notes
60
+ - Implemented UI components using Rich for formatted output
61
+ - Created Rich tables for variable display with proper column styling
62
+ - Added color-coded feedback messages (green for success, yellow for warnings, red for errors)
63
+ - Implemented intuitive navigation with clear options and keyboard shortcuts
64
+ - Added confirmation dialogs for destructive operations
65
+ - Created visual status indicators (e.g., for the show secrets setting)
66
+ - Added helpful hints and instructions for user operations
67
+ - Ensured consistent style and layout throughout the application
@@ -0,0 +1,66 @@
1
+ # Environment File Operations
2
+
3
+ ## Summary
4
+ Implement robust file operations for reading, parsing, and writing the .env file in the settings editor.
5
+
6
+ ## Description
7
+ This task focuses on the backend functionality for safely manipulating the .env file, ensuring that changes are properly saved and the file format is preserved.
8
+
9
+ ## User Story
10
+ [US001 - Environment Settings Editor](../userstories/done/US001-Settings-Editor.md)
11
+
12
+ ## Technical Requirements
13
+ - Create a parser for .env files that preserves comments and formatting
14
+ - Implement a safe writing mechanism that prevents data loss
15
+ - Create backup functionality before making changes
16
+ - Handle missing or malformed .env files gracefully
17
+ - Support validation of key-value pairs
18
+ - Handle special characters and multi-line values correctly
19
+ - Implement error handling for file operations
20
+
21
+ ## Implementation Plan
22
+ 1. Create a function to parse .env files into a structured format
23
+ 2. Implement a function to write changes back to the .env file
24
+ 3. Add validation for environment variable names and values
25
+ 4. Create backup functionality
26
+ 5. Implement error handling for file operations
27
+ 6. Add support for creating a new .env file if none exists
28
+ 7. Add support for templates based on .env_template
29
+
30
+ ## Definition of Done
31
+ - .env files can be loaded and parsed correctly
32
+ - Comments and formatting are preserved when saving
33
+ - Backups are created before destructive operations
34
+ - Error handling prevents data loss
35
+ - Special characters and multi-line values are handled correctly
36
+ - Missing .env files are handled gracefully
37
+
38
+ ## Dependencies
39
+ - Python's os, io, and shutil modules
40
+ - Optional: python-dotenv library (if appropriate)
41
+
42
+ ## Related Tasks
43
+ - [001-env-settings-editor.md](../tasks/done/001-env-settings-editor.md)
44
+ - [002-env-settings-ui-components.md](002-env-settings-ui-components.md)
45
+
46
+ ## Estimated Effort
47
+ Medium - Approximately 3-4 hours of development time
48
+
49
+ ## Priority
50
+ High - This is critical for data integrity
51
+
52
+ ## Assignee
53
+ TBD
54
+
55
+ ## Status
56
+ Completed - May 21, 2024
57
+
58
+ ## Implementation Notes
59
+ - Created load_env_file() function to parse .env files preserving comments and empty lines
60
+ - Implemented save_env_file() function with proper error handling
61
+ - Added backup_env_file() function to create backups before changes
62
+ - Implemented graceful handling of missing or malformed .env files
63
+ - Added proper validation for variable names and values
64
+ - Ensured correct handling of special characters
65
+ - Implemented support for using .env_template when creating new profiles
66
+ - Added comprehensive error handling throughout file operations