zrb 1.15.21__tar.gz → 2.0.0a2__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.
Files changed (491) hide show
  1. {zrb-1.15.21 → zrb-2.0.0a2}/PKG-INFO +37 -26
  2. {zrb-1.15.21 → zrb-2.0.0a2}/README.md +3 -9
  3. {zrb-1.15.21 → zrb-2.0.0a2}/pyproject.toml +44 -17
  4. zrb-2.0.0a2/src/zrb/__init__.py +119 -0
  5. zrb-2.0.0a2/src/zrb/attr/type.py +15 -0
  6. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/__init__.py +55 -1
  7. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/git.py +12 -1
  8. zrb-2.0.0a2/src/zrb/builtin/group.py +65 -0
  9. zrb-2.0.0a2/src/zrb/builtin/llm/chat.py +147 -0
  10. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +7 -7
  11. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +5 -5
  12. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +1 -1
  13. zrb-2.0.0a2/src/zrb/builtin/searxng/config/settings.yml +5671 -0
  14. zrb-2.0.0a2/src/zrb/builtin/searxng/start.py +21 -0
  15. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/shell/autocomplete/bash.py +4 -3
  16. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/shell/autocomplete/zsh.py +4 -3
  17. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/callback/callback.py +8 -1
  18. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/cmd/cmd_result.py +2 -1
  19. zrb-2.0.0a2/src/zrb/config/config.py +825 -0
  20. zrb-2.0.0a2/src/zrb/config/helper.py +84 -0
  21. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/config/web_auth_config.py +50 -35
  22. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/context/any_shared_context.py +20 -3
  23. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/context/context.py +38 -4
  24. zrb-2.0.0a2/src/zrb/context/print_fn.py +13 -0
  25. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/context/shared_context.py +16 -3
  26. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/group/any_group.py +3 -3
  27. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/group/group.py +3 -3
  28. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/option_input.py +41 -1
  29. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/text_input.py +7 -24
  30. zrb-2.0.0a2/src/zrb/llm/agent/__init__.py +9 -0
  31. zrb-2.0.0a2/src/zrb/llm/agent/agent.py +215 -0
  32. zrb-2.0.0a2/src/zrb/llm/agent/summarizer.py +20 -0
  33. zrb-2.0.0a2/src/zrb/llm/app/__init__.py +10 -0
  34. zrb-2.0.0a2/src/zrb/llm/app/completion.py +281 -0
  35. zrb-2.0.0a2/src/zrb/llm/app/confirmation/allow_tool.py +66 -0
  36. zrb-2.0.0a2/src/zrb/llm/app/confirmation/handler.py +178 -0
  37. zrb-2.0.0a2/src/zrb/llm/app/confirmation/replace_confirmation.py +77 -0
  38. zrb-2.0.0a2/src/zrb/llm/app/keybinding.py +34 -0
  39. zrb-2.0.0a2/src/zrb/llm/app/layout.py +117 -0
  40. zrb-2.0.0a2/src/zrb/llm/app/lexer.py +155 -0
  41. zrb-2.0.0a2/src/zrb/llm/app/redirection.py +28 -0
  42. zrb-2.0.0a2/src/zrb/llm/app/style.py +16 -0
  43. zrb-2.0.0a2/src/zrb/llm/app/ui.py +733 -0
  44. zrb-2.0.0a2/src/zrb/llm/config/__init__.py +4 -0
  45. zrb-2.0.0a2/src/zrb/llm/config/config.py +122 -0
  46. zrb-2.0.0a2/src/zrb/llm/config/limiter.py +247 -0
  47. zrb-2.0.0a2/src/zrb/llm/history_manager/__init__.py +4 -0
  48. zrb-2.0.0a2/src/zrb/llm/history_manager/any_history_manager.py +23 -0
  49. zrb-2.0.0a2/src/zrb/llm/history_manager/file_history_manager.py +91 -0
  50. zrb-2.0.0a2/src/zrb/llm/history_processor/summarizer.py +108 -0
  51. zrb-2.0.0a2/src/zrb/llm/note/__init__.py +3 -0
  52. zrb-2.0.0a2/src/zrb/llm/note/manager.py +122 -0
  53. zrb-2.0.0a2/src/zrb/llm/prompt/__init__.py +29 -0
  54. zrb-2.0.0a2/src/zrb/llm/prompt/claude_compatibility.py +92 -0
  55. zrb-2.0.0a2/src/zrb/llm/prompt/compose.py +55 -0
  56. zrb-2.0.0a2/src/zrb/llm/prompt/default.py +51 -0
  57. zrb-2.0.0a2/src/zrb/llm/prompt/markdown/file_extractor.md +112 -0
  58. zrb-2.0.0a2/src/zrb/llm/prompt/markdown/mandate.md +23 -0
  59. zrb-2.0.0a2/src/zrb/llm/prompt/markdown/persona.md +3 -0
  60. zrb-2.0.0a2/src/zrb/llm/prompt/markdown/repo_extractor.md +112 -0
  61. zrb-2.0.0a2/src/zrb/llm/prompt/markdown/repo_summarizer.md +29 -0
  62. zrb-2.0.0a2/src/zrb/llm/prompt/markdown/summarizer.md +21 -0
  63. zrb-2.0.0a2/src/zrb/llm/prompt/note.py +41 -0
  64. zrb-2.0.0a2/src/zrb/llm/prompt/system_context.py +46 -0
  65. zrb-2.0.0a2/src/zrb/llm/prompt/zrb.py +41 -0
  66. zrb-2.0.0a2/src/zrb/llm/skill/__init__.py +3 -0
  67. zrb-2.0.0a2/src/zrb/llm/skill/manager.py +86 -0
  68. zrb-2.0.0a2/src/zrb/llm/task/__init__.py +4 -0
  69. zrb-2.0.0a2/src/zrb/llm/task/llm_chat_task.py +310 -0
  70. zrb-2.0.0a2/src/zrb/llm/task/llm_task.py +245 -0
  71. zrb-2.0.0a2/src/zrb/llm/tool/__init__.py +39 -0
  72. zrb-2.0.0a2/src/zrb/llm/tool/bash.py +75 -0
  73. zrb-2.0.0a2/src/zrb/llm/tool/code.py +266 -0
  74. zrb-2.0.0a2/src/zrb/llm/tool/file.py +419 -0
  75. zrb-2.0.0a2/src/zrb/llm/tool/note.py +70 -0
  76. {zrb-1.15.21/src/zrb/builtin → zrb-2.0.0a2/src/zrb}/llm/tool/rag.py +32 -36
  77. zrb-2.0.0a2/src/zrb/llm/tool/search/brave.py +53 -0
  78. zrb-2.0.0a2/src/zrb/llm/tool/search/searxng.py +47 -0
  79. zrb-2.0.0a2/src/zrb/llm/tool/search/serpapi.py +47 -0
  80. zrb-2.0.0a2/src/zrb/llm/tool/skill.py +19 -0
  81. zrb-2.0.0a2/src/zrb/llm/tool/sub_agent.py +70 -0
  82. zrb-2.0.0a2/src/zrb/llm/tool/web.py +97 -0
  83. zrb-2.0.0a2/src/zrb/llm/tool/zrb_task.py +66 -0
  84. zrb-2.0.0a2/src/zrb/llm/util/attachment.py +101 -0
  85. zrb-2.0.0a2/src/zrb/llm/util/prompt.py +104 -0
  86. zrb-2.0.0a2/src/zrb/llm/util/stream_response.py +178 -0
  87. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_util/user.py +7 -3
  88. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/session/any_session.py +12 -9
  89. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/session/session.py +38 -17
  90. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/any_task.py +8 -0
  91. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base/context.py +25 -13
  92. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base/execution.py +67 -55
  93. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base/lifecycle.py +7 -4
  94. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base/monitoring.py +12 -7
  95. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base_task.py +48 -49
  96. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base_trigger.py +16 -6
  97. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/cmd_task.py +6 -0
  98. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/http_check.py +11 -5
  99. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/make_task.py +5 -3
  100. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/rsync_task.py +30 -10
  101. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/scaffolder.py +7 -4
  102. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/scheduler.py +7 -4
  103. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/tcp_check.py +6 -4
  104. zrb-2.0.0a2/src/zrb/util/ascii_art/art/bee.txt +17 -0
  105. zrb-2.0.0a2/src/zrb/util/ascii_art/art/cat.txt +9 -0
  106. zrb-2.0.0a2/src/zrb/util/ascii_art/art/ghost.txt +16 -0
  107. zrb-2.0.0a2/src/zrb/util/ascii_art/art/panda.txt +17 -0
  108. zrb-2.0.0a2/src/zrb/util/ascii_art/art/rose.txt +14 -0
  109. zrb-2.0.0a2/src/zrb/util/ascii_art/art/unicorn.txt +15 -0
  110. zrb-2.0.0a2/src/zrb/util/ascii_art/banner.py +92 -0
  111. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/attr.py +45 -30
  112. zrb-2.0.0a2/src/zrb/util/cli/markdown.py +32 -0
  113. zrb-2.0.0a2/src/zrb/util/cli/text.py +30 -0
  114. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/cmd/command.py +33 -10
  115. zrb-2.0.0a2/src/zrb/util/file.py +127 -0
  116. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/git.py +2 -2
  117. zrb-1.15.21/src/zrb/util/llm/prompt.py → zrb-2.0.0a2/src/zrb/util/markdown.py +2 -3
  118. zrb-2.0.0a2/src/zrb/util/match.py +78 -0
  119. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/run.py +3 -3
  120. zrb-2.0.0a2/src/zrb/util/yaml.py +204 -0
  121. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/xcom/xcom.py +10 -0
  122. zrb-1.15.21/src/zrb/__init__.py +0 -134
  123. zrb-1.15.21/src/zrb/attr/__init__.py +0 -0
  124. zrb-1.15.21/src/zrb/attr/type.py +0 -12
  125. zrb-1.15.21/src/zrb/builtin/group.py +0 -49
  126. zrb-1.15.21/src/zrb/builtin/llm/chat_session.py +0 -298
  127. zrb-1.15.21/src/zrb/builtin/llm/history.py +0 -71
  128. zrb-1.15.21/src/zrb/builtin/llm/input.py +0 -27
  129. zrb-1.15.21/src/zrb/builtin/llm/llm_ask.py +0 -209
  130. zrb-1.15.21/src/zrb/builtin/llm/previous-session.js +0 -21
  131. zrb-1.15.21/src/zrb/builtin/llm/tool/__init__.py +0 -0
  132. zrb-1.15.21/src/zrb/builtin/llm/tool/api.py +0 -71
  133. zrb-1.15.21/src/zrb/builtin/llm/tool/cli.py +0 -35
  134. zrb-1.15.21/src/zrb/builtin/llm/tool/code.py +0 -254
  135. zrb-1.15.21/src/zrb/builtin/llm/tool/file.py +0 -629
  136. zrb-1.15.21/src/zrb/builtin/llm/tool/sub_agent.py +0 -138
  137. zrb-1.15.21/src/zrb/builtin/llm/tool/web.py +0 -204
  138. zrb-1.15.21/src/zrb/builtin/project/__init__.py +0 -0
  139. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
  140. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py +0 -0
  141. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
  142. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
  143. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
  144. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
  145. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
  146. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
  147. zrb-1.15.21/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
  148. zrb-1.15.21/src/zrb/builtin/project/create/__init__.py +0 -0
  149. zrb-1.15.21/src/zrb/builtin/shell/__init__.py +0 -0
  150. zrb-1.15.21/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
  151. zrb-1.15.21/src/zrb/callback/__init__.py +0 -0
  152. zrb-1.15.21/src/zrb/cmd/__init__.py +0 -0
  153. zrb-1.15.21/src/zrb/config/config.py +0 -452
  154. zrb-1.15.21/src/zrb/config/default_prompt/file_extractor_system_prompt.md +0 -112
  155. zrb-1.15.21/src/zrb/config/default_prompt/interactive_system_prompt.md +0 -32
  156. zrb-1.15.21/src/zrb/config/default_prompt/persona.md +0 -1
  157. zrb-1.15.21/src/zrb/config/default_prompt/repo_extractor_system_prompt.md +0 -112
  158. zrb-1.15.21/src/zrb/config/default_prompt/repo_summarizer_system_prompt.md +0 -29
  159. zrb-1.15.21/src/zrb/config/default_prompt/summarization_prompt.md +0 -16
  160. zrb-1.15.21/src/zrb/config/default_prompt/system_prompt.md +0 -29
  161. zrb-1.15.21/src/zrb/config/llm_config.py +0 -243
  162. zrb-1.15.21/src/zrb/config/llm_context/config.py +0 -158
  163. zrb-1.15.21/src/zrb/config/llm_context/config_parser.py +0 -46
  164. zrb-1.15.21/src/zrb/config/llm_rate_limitter.py +0 -148
  165. zrb-1.15.21/src/zrb/content_transformer/__init__.py +0 -0
  166. zrb-1.15.21/src/zrb/context/__init__.py +0 -0
  167. zrb-1.15.21/src/zrb/dot_dict/__init__.py +0 -0
  168. zrb-1.15.21/src/zrb/env/__init__.py +0 -0
  169. zrb-1.15.21/src/zrb/group/__init__.py +0 -0
  170. zrb-1.15.21/src/zrb/input/__init__.py +0 -0
  171. zrb-1.15.21/src/zrb/runner/__init__.py +0 -0
  172. zrb-1.15.21/src/zrb/runner/web_route/__init__.py +0 -0
  173. zrb-1.15.21/src/zrb/runner/web_route/home_page/__init__.py +0 -0
  174. zrb-1.15.21/src/zrb/session/__init__.py +0 -0
  175. zrb-1.15.21/src/zrb/session_state_log/__init__.py +0 -0
  176. zrb-1.15.21/src/zrb/session_state_logger/__init__.py +0 -0
  177. zrb-1.15.21/src/zrb/task/__init__.py +0 -0
  178. zrb-1.15.21/src/zrb/task/base/__init__.py +0 -0
  179. zrb-1.15.21/src/zrb/task/llm/__init__.py +0 -0
  180. zrb-1.15.21/src/zrb/task/llm/agent.py +0 -257
  181. zrb-1.15.21/src/zrb/task/llm/config.py +0 -112
  182. zrb-1.15.21/src/zrb/task/llm/conversation_history.py +0 -199
  183. zrb-1.15.21/src/zrb/task/llm/conversation_history_model.py +0 -74
  184. zrb-1.15.21/src/zrb/task/llm/default_workflow/coding.md +0 -24
  185. zrb-1.15.21/src/zrb/task/llm/default_workflow/copywriting.md +0 -17
  186. zrb-1.15.21/src/zrb/task/llm/default_workflow/researching.md +0 -18
  187. zrb-1.15.21/src/zrb/task/llm/error.py +0 -95
  188. zrb-1.15.21/src/zrb/task/llm/history_summarization.py +0 -218
  189. zrb-1.15.21/src/zrb/task/llm/history_summarization_tool.py +0 -38
  190. zrb-1.15.21/src/zrb/task/llm/print_node.py +0 -208
  191. zrb-1.15.21/src/zrb/task/llm/prompt.py +0 -325
  192. zrb-1.15.21/src/zrb/task/llm/tool_wrapper.py +0 -245
  193. zrb-1.15.21/src/zrb/task/llm/typing.py +0 -3
  194. zrb-1.15.21/src/zrb/task/llm_task.py +0 -354
  195. zrb-1.15.21/src/zrb/task_status/__init__.py +0 -0
  196. zrb-1.15.21/src/zrb/util/__init__.py +0 -0
  197. zrb-1.15.21/src/zrb/util/cli/__init__.py +0 -0
  198. zrb-1.15.21/src/zrb/util/cli/markdown.py +0 -12
  199. zrb-1.15.21/src/zrb/util/cmd/__init__.py +0 -0
  200. zrb-1.15.21/src/zrb/util/codemod/__init__.py +0 -0
  201. zrb-1.15.21/src/zrb/util/file.py +0 -99
  202. zrb-1.15.21/src/zrb/util/string/__init__.py +0 -0
  203. zrb-1.15.21/src/zrb/xcom/__init__.py +0 -0
  204. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/__main__.py +0 -0
  205. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/base64.py +0 -0
  206. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/git_subtree.py +0 -0
  207. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/http.py +0 -0
  208. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/jwt.py +0 -0
  209. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/md5.py +0 -0
  210. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
  211. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
  212. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
  213. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
  214. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
  215. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
  216. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
  217. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
  218. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
  219. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
  220. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html +0 -0
  221. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py +0 -0
  222. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py +0 -0
  223. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py +0 -0
  224. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository.py +0 -0
  225. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository_factory.py +0 -0
  226. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
  227. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_create_my_entity.py +0 -0
  228. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_delete_my_entity.py +0 -0
  229. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_read_my_entity.py +0 -0
  230. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_update_my_entity.py +0 -0
  231. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
  232. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
  233. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
  234. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
  235. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
  236. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
  237. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
  238. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +0 -0
  239. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini +0 -0
  240. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_api_client.py +0 -0
  241. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client.py +0 -0
  242. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client_factory.py +0 -0
  243. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_direct_client.py +0 -0
  244. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README +0 -0
  245. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py +0 -0
  246. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/script.py.mako +0 -0
  247. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep +0 -0
  248. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py +0 -0
  249. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +0 -0
  250. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
  251. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
  252. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
  253. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
  254. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
  255. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
  256. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
  257. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
  258. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
  259. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
  260. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
  261. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
  262. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
  263. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
  264. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
  265. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
  266. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
  267. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
  268. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
  269. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
  270. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
  271. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
  272. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
  273. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
  274. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
  275. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
  276. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
  277. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
  278. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
  279. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
  280. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
  281. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
  282. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
  283. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
  284. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
  285. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
  286. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
  287. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
  288. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
  289. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
  290. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
  291. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
  292. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
  293. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
  294. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
  295. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
  296. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
  297. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
  298. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
  299. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
  300. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
  301. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
  302. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
  303. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
  304. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
  305. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
  306. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
  307. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
  308. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
  309. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
  310. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
  311. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
  312. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
  313. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
  314. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
  315. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
  316. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
  317. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
  318. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
  319. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
  320. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
  321. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
  322. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
  323. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
  324. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
  325. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +0 -0
  326. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +0 -0
  327. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +0 -0
  328. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +0 -0
  329. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +0 -0
  330. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +0 -0
  331. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +0 -0
  332. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +0 -0
  333. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +0 -0
  334. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
  335. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +0 -0
  336. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +0 -0
  337. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +0 -0
  338. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +0 -0
  339. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +0 -0
  340. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +0 -0
  341. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +0 -0
  342. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +0 -0
  343. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +0 -0
  344. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +0 -0
  345. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
  346. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
  347. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
  348. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
  349. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
  350. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
  351. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
  352. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
  353. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
  354. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
  355. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
  356. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
  357. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
  358. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
  359. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
  360. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
  361. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/create/project-template/README.md +0 -0
  362. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
  363. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/project/create/project_task.py +0 -0
  364. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/python.py +0 -0
  365. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/random.py +0 -0
  366. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
  367. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
  368. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/common_input.py +0 -0
  369. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
  370. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
  371. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
  372. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
  373. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/ubuntu.py +0 -0
  374. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
  375. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
  376. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
  377. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
  378. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/todo.py +0 -0
  379. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/builtin/uuid.py +0 -0
  380. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/callback/any_callback.py +0 -0
  381. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/cmd/cmd_val.py +0 -0
  382. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/content_transformer/any_content_transformer.py +0 -0
  383. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/content_transformer/content_transformer.py +0 -0
  384. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/context/any_context.py +0 -0
  385. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/dot_dict/dot_dict.py +0 -0
  386. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/env/any_env.py +0 -0
  387. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/env/env.py +0 -0
  388. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/env/env_file.py +0 -0
  389. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/env/env_map.py +0 -0
  390. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/any_input.py +0 -0
  391. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/base_input.py +0 -0
  392. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/bool_input.py +0 -0
  393. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/float_input.py +0 -0
  394. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/int_input.py +0 -0
  395. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/password_input.py +0 -0
  396. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/input/str_input.py +0 -0
  397. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/cli.py +0 -0
  398. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/common_util.py +0 -0
  399. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_app.py +0 -0
  400. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/docs_route.py +0 -0
  401. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
  402. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
  403. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/error_page/view.html +0 -0
  404. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
  405. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/home_page/view.html +0 -0
  406. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/login_api_route.py +0 -0
  407. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
  408. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/login_page/view.html +0 -0
  409. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/logout_api_route.py +0 -0
  410. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
  411. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/logout_page/view.html +0 -0
  412. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
  413. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
  414. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
  415. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
  416. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
  417. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
  418. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
  419. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/global_template.html +0 -0
  420. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
  421. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/common.css +0 -0
  422. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/common.js +0 -0
  423. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
  424. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
  425. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
  426. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.amber.min.css +0 -0
  427. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.blue.min.css +0 -0
  428. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.cyan.min.css +0 -0
  429. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.fuchsia.min.css +0 -0
  430. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.green.min.css +0 -0
  431. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.grey.min.css +0 -0
  432. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.indigo.min.css +0 -0
  433. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.jade.min.css +0 -0
  434. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.lime.min.css +0 -0
  435. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.min.css +0 -0
  436. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.orange.min.css +0 -0
  437. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.pink.min.css +0 -0
  438. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.pumpkin.min.css +0 -0
  439. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.purple.min.css +0 -0
  440. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.red.min.css +0 -0
  441. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.sand.min.css +0 -0
  442. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.slate.min.css +0 -0
  443. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.violet.min.css +0 -0
  444. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.yellow.min.css +0 -0
  445. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/pico-css/pico.zinc.min.css +0 -0
  446. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
  447. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
  448. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
  449. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
  450. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/static/static_route.py +0 -0
  451. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
  452. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
  453. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_schema/session.py +0 -0
  454. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_schema/token.py +0 -0
  455. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_schema/user.py +0 -0
  456. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_util/cookie.py +0 -0
  457. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_util/html.py +0 -0
  458. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/runner/web_util/token.py +0 -0
  459. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/session_state_log/session_state_log.py +0 -0
  460. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
  461. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
  462. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
  463. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/base/operators.py +0 -0
  464. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task/task.py +0 -0
  465. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/task_status/task_status.py +0 -0
  466. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/callable.py +0 -0
  467. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/cli/style.py +0 -0
  468. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/cli/subcommand.py +0 -0
  469. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/cmd/remote.py +0 -0
  470. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modification_mode.py +0 -0
  471. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_class.py +0 -0
  472. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_class_parent.py +0 -0
  473. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_class_property.py +0 -0
  474. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_dict.py +0 -0
  475. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_function.py +0 -0
  476. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_function_call.py +0 -0
  477. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_method.py +0 -0
  478. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/codemod/modify_module.py +0 -0
  479. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/cron.py +0 -0
  480. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/git_diff_model.py +0 -0
  481. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/git_subtree.py +0 -0
  482. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/git_subtree_model.py +0 -0
  483. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/group.py +0 -0
  484. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/init_path.py +0 -0
  485. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/load.py +0 -0
  486. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/string/conversion.py +0 -0
  487. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/string/format.py +0 -0
  488. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/string/name.py +0 -0
  489. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/todo.py +0 -0
  490. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/todo_model.py +0 -0
  491. {zrb-1.15.21 → zrb-2.0.0a2}/src/zrb/util/truncate.py +0 -0
@@ -1,41 +1,58 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: zrb
3
- Version: 1.15.21
3
+ Version: 2.0.0a2
4
4
  Summary: Your Automation Powerhouse
5
5
  License: AGPL-3.0-or-later
6
6
  Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
7
7
  Author: Go Frendi Gunawan
8
8
  Author-email: gofrendiasgard@gmail.com
9
- Requires-Python: >=3.10.0,<4.0.0
9
+ Requires-Python: >=3.11.0,<4.0.0
10
10
  Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
15
14
  Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
16
  Provides-Extra: all
17
+ Provides-Extra: anthropic
18
+ Provides-Extra: bedrock
19
+ Provides-Extra: cohere
20
+ Provides-Extra: google
21
+ Provides-Extra: groq
22
+ Provides-Extra: huggingface
23
+ Provides-Extra: mistral
17
24
  Provides-Extra: playwright
18
25
  Provides-Extra: rag
19
- Requires-Dist: beautifulsoup4 (>=4.13.4,<5.0.0)
20
- Requires-Dist: black (>=25.1.0,<26.0.0)
21
- Requires-Dist: chromadb (>=0.6.3,<0.7.0) ; extra == "rag" or extra == "all"
22
- Requires-Dist: fastapi[standard] (>=0.116.1,<0.117.0)
23
- Requires-Dist: isort (>=6.0.1,<7.0.0)
24
- Requires-Dist: libcst (>=1.8.2,<2.0.0)
25
- Requires-Dist: markdownify (>=1.2.0,<2.0.0)
26
- Requires-Dist: mcp (>1.12.3)
27
- Requires-Dist: openai (>=1.99.9)
26
+ Provides-Extra: vertexai
27
+ Requires-Dist: anthropic (>=0.75.0) ; extra == "anthropic" or extra == "all"
28
+ Requires-Dist: beautifulsoup4 (>=4.14.2,<5.0.0)
29
+ Requires-Dist: black (>=25.11.0,<26.0.0)
30
+ Requires-Dist: boto3 (>=1.42.14) ; extra == "bedrock"
31
+ Requires-Dist: chromadb (>=1.3.5,<2.0.0) ; extra == "rag" or extra == "all"
32
+ Requires-Dist: cohere (>=5.18.0) ; extra == "cohere" or extra == "all"
33
+ Requires-Dist: fastapi[standard] (>=0.123.9,<0.124.0)
34
+ Requires-Dist: google-auth (>=2.36.0) ; extra == "vertexai" or extra == "all"
35
+ Requires-Dist: google-genai (>=1.56.0) ; extra == "google" or extra == "all"
36
+ Requires-Dist: groq (>=0.25.0) ; extra == "groq" or extra == "all"
37
+ Requires-Dist: huggingface-hub[inference] (>=0.33.5,<1.0.0) ; extra == "huggingface"
38
+ Requires-Dist: isort (>=7.0.0,<8.0.0)
39
+ Requires-Dist: libcst (>=1.8.6,<2.0.0)
40
+ Requires-Dist: markdownify (>=1.2.2,<2.0.0)
41
+ Requires-Dist: mcp (>1.18.0)
42
+ Requires-Dist: mistralai (>=1.9.11) ; extra == "mistral"
43
+ Requires-Dist: openai (>=2.11.0)
28
44
  Requires-Dist: pdfplumber (>=0.11.7,<0.12.0)
29
- Requires-Dist: playwright (>=1.54.0,<2.0.0) ; extra == "playwright" or extra == "all"
45
+ Requires-Dist: playwright (>=1.56.0,<2.0.0) ; extra == "playwright" or extra == "all"
30
46
  Requires-Dist: prompt-toolkit (>=3)
31
47
  Requires-Dist: psutil (>=7.0.0,<8.0.0)
32
- Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cohere,google,groq,huggingface,mistral,openai,vertexai] (>=0.8.1,<0.9.0)
48
+ Requires-Dist: pydantic-ai-slim (>=1.42.0,<1.43.0)
33
49
  Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
34
50
  Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
35
51
  Requires-Dist: python-jose[cryptography] (>=3.5.0,<4.0.0)
36
- Requires-Dist: requests (>=2.32.2,<3.0.0)
52
+ Requires-Dist: pyyaml (>=6.0.3,<7.0.0)
53
+ Requires-Dist: requests (>=2.32.5,<3.0.0)
37
54
  Requires-Dist: rich (>=13)
38
- Requires-Dist: tiktoken (>=0.8.0,<0.9.0)
55
+ Requires-Dist: tiktoken (>=0.12.0,<0.13.0)
39
56
  Requires-Dist: ulid-py (>=1.1.0,<2.0.0)
40
57
  Project-URL: Documentation, https://github.com/state-alchemists/zrb
41
58
  Project-URL: Homepage, https://github.com/state-alchemists/zrb
@@ -114,8 +131,8 @@ Add the following Python code to your `zrb_init.py`:
114
131
 
115
132
  ```python
116
133
  from zrb import cli, LLMTask, CmdTask, StrInput, Group
117
- from zrb.builtin.llm.tool.code import analyze_repo
118
- from zrb.builtin.llm.tool.file import write_to_file
134
+ from zrb.llm.tool.code import analyze_code
135
+ from zrb.llm.tool.file import write_file
119
136
 
120
137
 
121
138
  # Create a group for Mermaid-related tasks
@@ -139,7 +156,7 @@ make_mermaid_script = mermaid_group.add_task(
139
156
  "Write the script into `{ctx.input.dir}/{ctx.input.diagram}.mmd`"
140
157
  ),
141
158
  tools=[
142
- analyze_repo, write_to_file
159
+ analyze_code, write_file
143
160
  ],
144
161
  )
145
162
  )
@@ -215,13 +232,7 @@ Start a chat session with an LLM to ask questions, brainstorm ideas, or get codi
215
232
  zrb llm chat
216
233
  ```
217
234
 
218
- ### Quick Questions
219
235
 
220
- For a single question, use the `ask` command for a fast response.
221
-
222
- ```bash
223
- zrb llm ask "What is the capital of Indonesia?"
224
- ```
225
236
 
226
237
  ---
227
238
 
@@ -70,8 +70,8 @@ Add the following Python code to your `zrb_init.py`:
70
70
 
71
71
  ```python
72
72
  from zrb import cli, LLMTask, CmdTask, StrInput, Group
73
- from zrb.builtin.llm.tool.code import analyze_repo
74
- from zrb.builtin.llm.tool.file import write_to_file
73
+ from zrb.llm.tool.code import analyze_code
74
+ from zrb.llm.tool.file import write_file
75
75
 
76
76
 
77
77
  # Create a group for Mermaid-related tasks
@@ -95,7 +95,7 @@ make_mermaid_script = mermaid_group.add_task(
95
95
  "Write the script into `{ctx.input.dir}/{ctx.input.diagram}.mmd`"
96
96
  ),
97
97
  tools=[
98
- analyze_repo, write_to_file
98
+ analyze_code, write_file
99
99
  ],
100
100
  )
101
101
  )
@@ -171,13 +171,7 @@ Start a chat session with an LLM to ask questions, brainstorm ideas, or get codi
171
171
  zrb llm chat
172
172
  ```
173
173
 
174
- ### Quick Questions
175
174
 
176
- For a single question, use the `ask` command for a fast response.
177
-
178
- ```bash
179
- zrb llm ask "What is the capital of Indonesia?"
180
- ```
181
175
 
182
176
  ---
183
177
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zrb"
3
- version = "1.15.21"
3
+ version = "2.0.0a2"
4
4
  description = "Your Automation Powerhouse"
5
5
  authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
6
6
  license = "AGPL-3.0-or-later"
@@ -37,39 +37,66 @@ exclude = [
37
37
  ]
38
38
 
39
39
  [tool.poetry.dependencies]
40
- python = ">=3.10.0,<4.0.0"
40
+ python = ">=3.11.0,<4.0.0"
41
41
  python-dotenv = "^1.1.1"
42
- black = "^25.1.0"
43
- isort = "^6.0.1"
44
- libcst = "^1.8.2"
45
- beautifulsoup4 = "^4.13.4"
42
+ black = "^25.11.0"
43
+ isort = "^7.0.0"
44
+ libcst = "^1.8.6"
45
+ beautifulsoup4 = "^4.14.2"
46
46
  pdfplumber = "^0.11.7"
47
- fastapi = {extras = ["standard"], version = "^0.116.1"}
47
+ fastapi = {extras = ["standard"], version = "^0.123.9"}
48
48
  python-jose = {extras = ["cryptography"], version = "^3.5.0"}
49
49
  ulid-py = "^1.1.0"
50
50
  psutil = "^7.0.0"
51
51
 
52
52
  # NOTE: Look at https://github.com/pydantic/pydantic-ai/blob/main/pydantic_ai_slim/pyproject.toml
53
- pydantic-ai-slim = {extras = ["openai", "cohere", "vertexai", "google", "anthropic", "groq", "mistral", "bedrock", "huggingface"], version = "~0.8.1"}
53
+ pydantic-ai-slim = "~1.42.0"
54
54
 
55
55
  # NOTE: Make sure the following dependencies are not conflicting with pydantic-ai-slim
56
- openai = ">=1.99.9"
56
+ openai = ">=2.11.0"
57
57
  prompt-toolkit = ">=3"
58
58
  rich = ">=13"
59
- mcp = ">1.12.3"
60
- requests = "^2.32.2"
59
+ mcp = ">1.18.0"
60
+ requests = "^2.32.5"
61
61
 
62
- tiktoken = "^0.8.0"
63
- playwright = {version = "^1.54.0", optional = true}
64
- chromadb = {version = "^0.6.3", optional = true}
65
- markdownify = "^1.2.0"
62
+ tiktoken = "^0.12.0"
63
+ markdownify = "^1.2.2"
66
64
  pyjwt = "^2.10.1"
65
+ pyyaml = "^6.0.3"
66
+
67
+ # Optional packages
68
+ playwright = {version = "^1.56.0", optional = true}
69
+ chromadb = {version = "^1.3.5", optional = true}
70
+
71
+ # NOTE: Make sure the following dependencies are not conflicting with pydantic-ai-slim
72
+ cohere = {version = ">=5.18.0", optional = true}
73
+ google-auth = {version = ">=2.36.0", optional = true}
74
+ google-genai = {version = ">=1.56.0", optional = true}
75
+ anthropic = {version = ">=0.75.0", optional = true}
76
+ groq = {version = ">=0.25.0", optional = true}
77
+ mistralai = {version = ">=1.9.11", optional = true}
78
+ boto3 = {version = ">=1.42.14", optional = true}
79
+ huggingface-hub = {version = ">=0.33.5,<1.0.0", extras = ["inference"], optional = true}
67
80
 
68
81
  [tool.poetry.extras]
69
- # poetry install -E rag
82
+ # Install all extras:
83
+ # - poetry install --all-extras
84
+ # - pip install zrb[all]
85
+ # Install specific extra:
86
+ # - poetry install -E rag
87
+ # - pip install zrb[rag]
88
+
70
89
  rag = ["chromadb"]
71
90
  playwright = ["playwright"]
72
- all = ["chromadb", "playwright"]
91
+ cohere = ["cohere"]
92
+ vertexai = ["google-auth"]
93
+ google = ["google-genai"]
94
+ anthropic = ["anthropic"]
95
+ groq = ["groq"]
96
+ mistral = ["mistralai"]
97
+ bedrock = ["boto3"]
98
+ huggingface = ["huggingface-hub"]
99
+ all = ["chromadb", "playwright", "cohere", "google-auth", "google-genai", "anthropic", "groq", "mistral", "bedrock", "huggingface"]
73
100
 
74
101
  [tool.poetry.group.dev.dependencies]
75
102
  alembic = "^1.16.4" # FastApp dependencies
@@ -0,0 +1,119 @@
1
+ from zrb import builtin
2
+ from zrb.attr.type import (
3
+ AnyAttr,
4
+ BoolAttr,
5
+ FloatAttr,
6
+ IntAttr,
7
+ StrAttr,
8
+ StrDictAttr,
9
+ fstring,
10
+ )
11
+ from zrb.callback.any_callback import AnyCallback
12
+ from zrb.callback.callback import Callback
13
+ from zrb.cmd.cmd_result import CmdResult
14
+ from zrb.cmd.cmd_val import Cmd, CmdPath
15
+ from zrb.config.config import CFG
16
+ from zrb.config.web_auth_config import web_auth_config
17
+ from zrb.content_transformer.any_content_transformer import AnyContentTransformer
18
+ from zrb.content_transformer.content_transformer import ContentTransformer
19
+ from zrb.context.any_context import AnyContext
20
+ from zrb.context.any_shared_context import AnySharedContext
21
+ from zrb.context.context import Context
22
+ from zrb.context.shared_context import SharedContext
23
+ from zrb.env.any_env import AnyEnv
24
+ from zrb.env.env import Env
25
+ from zrb.env.env_file import EnvFile
26
+ from zrb.env.env_map import EnvMap
27
+ from zrb.group.any_group import AnyGroup
28
+ from zrb.group.group import Group
29
+ from zrb.input.any_input import AnyInput
30
+ from zrb.input.base_input import BaseInput
31
+ from zrb.input.bool_input import BoolInput
32
+ from zrb.input.float_input import FloatInput
33
+ from zrb.input.int_input import IntInput
34
+ from zrb.input.option_input import OptionInput
35
+ from zrb.input.password_input import PasswordInput
36
+ from zrb.input.str_input import StrInput
37
+ from zrb.input.text_input import TextInput
38
+ from zrb.llm.config.config import LLMConfig, llm_config
39
+ from zrb.llm.config.limiter import LLMLimiter, llm_limiter
40
+ from zrb.llm.task.llm_chat_task import LLMChatTask
41
+ from zrb.llm.task.llm_task import LLMTask
42
+ from zrb.runner.cli import cli
43
+ from zrb.runner.web_schema.user import User
44
+ from zrb.session.session import Session
45
+ from zrb.task.any_task import AnyTask
46
+ from zrb.task.base_task import BaseTask
47
+ from zrb.task.base_trigger import BaseTrigger
48
+ from zrb.task.cmd_task import CmdTask
49
+ from zrb.task.http_check import HttpCheck
50
+ from zrb.task.make_task import make_task
51
+ from zrb.task.rsync_task import RsyncTask
52
+ from zrb.task.scaffolder import Scaffolder
53
+ from zrb.task.scheduler import Scheduler
54
+ from zrb.task.task import Task
55
+ from zrb.task.tcp_check import TcpCheck
56
+ from zrb.util.load import load_file, load_module
57
+ from zrb.xcom.xcom import Xcom
58
+
59
+ __all__ = [
60
+ "builtin",
61
+ "AnyAttr",
62
+ "BoolAttr",
63
+ "FloatAttr",
64
+ "IntAttr",
65
+ "StrAttr",
66
+ "StrDictAttr",
67
+ "fstring",
68
+ "AnyCallback",
69
+ "Callback",
70
+ "CmdResult",
71
+ "Cmd",
72
+ "CmdPath",
73
+ "CFG",
74
+ "web_auth_config",
75
+ "AnyContentTransformer",
76
+ "ContentTransformer",
77
+ "AnyContext",
78
+ "AnySharedContext",
79
+ "Context",
80
+ "SharedContext",
81
+ "AnyEnv",
82
+ "Env",
83
+ "EnvFile",
84
+ "EnvMap",
85
+ "AnyGroup",
86
+ "Group",
87
+ "AnyInput",
88
+ "BaseInput",
89
+ "BoolInput",
90
+ "FloatInput",
91
+ "IntInput",
92
+ "OptionInput",
93
+ "PasswordInput",
94
+ "StrInput",
95
+ "TextInput",
96
+ "cli",
97
+ "User",
98
+ "Session",
99
+ "AnyTask",
100
+ "BaseTask",
101
+ "BaseTrigger",
102
+ "CmdTask",
103
+ "HttpCheck",
104
+ "make_task",
105
+ "RsyncTask",
106
+ "Scaffolder",
107
+ "Scheduler",
108
+ "Task",
109
+ "TcpCheck",
110
+ "load_file",
111
+ "load_module",
112
+ "Xcom",
113
+ "LLMTask",
114
+ "LLMChatTask",
115
+ "LLMConfig",
116
+ "llm_config",
117
+ "LLMLimiter",
118
+ "llm_limiter",
119
+ ]
@@ -0,0 +1,15 @@
1
+ from typing import Any, Callable
2
+
3
+ from zrb.context.any_context import AnyContext
4
+ from zrb.context.any_shared_context import AnySharedContext
5
+
6
+ fstring = str
7
+ AnyAttr = Any | fstring | Callable[[AnyContext | AnySharedContext], Any]
8
+ StrAttr = str | fstring | Callable[[AnyContext | AnySharedContext], str | None]
9
+ BoolAttr = bool | fstring | Callable[[AnyContext | AnySharedContext], bool | None]
10
+ IntAttr = int | fstring | Callable[[AnyContext | AnySharedContext], int | None]
11
+ FloatAttr = float | fstring | Callable[[AnyContext | AnySharedContext], float | None]
12
+ StrDictAttr = (
13
+ dict[str, StrAttr] | Callable[[AnyContext | AnySharedContext], dict[str, Any]]
14
+ )
15
+ StrListAttr = list[StrAttr] | Callable[[AnyContext | AnySharedContext], list[str]]
@@ -9,12 +9,13 @@ from zrb.builtin.git import (
9
9
  from zrb.builtin.git_subtree import git_add_subtree, git_pull_subtree, git_push_subtree
10
10
  from zrb.builtin.http import generate_curl, http_request
11
11
  from zrb.builtin.jwt import decode_jwt, encode_jwt, validate_jwt
12
- from zrb.builtin.llm.llm_ask import llm_ask
12
+ from zrb.builtin.llm.chat import llm_chat
13
13
  from zrb.builtin.md5 import hash_md5, sum_md5, validate_md5
14
14
  from zrb.builtin.project.add.fastapp.fastapp_task import add_fastapp_to_project
15
15
  from zrb.builtin.project.create.project_task import create_project
16
16
  from zrb.builtin.python import format_python_code
17
17
  from zrb.builtin.random import shuffle_values, throw_dice
18
+ from zrb.builtin.searxng.start import start_searxng
18
19
  from zrb.builtin.setup.asdf.asdf import setup_asdf
19
20
  from zrb.builtin.setup.latex.ubuntu import setup_latex_on_ubuntu
20
21
  from zrb.builtin.setup.tmux.tmux import setup_tmux
@@ -43,3 +44,56 @@ from zrb.builtin.uuid import (
43
44
  validate_uuid_v4,
44
45
  validate_uuid_v5,
45
46
  )
47
+
48
+ __all__ = [
49
+ "decode_base64",
50
+ "encode_base64",
51
+ "validate_base64",
52
+ "get_git_diff",
53
+ "git_commit",
54
+ "git_pull",
55
+ "git_push",
56
+ "prune_local_branches",
57
+ "git_add_subtree",
58
+ "git_pull_subtree",
59
+ "git_push_subtree",
60
+ "generate_curl",
61
+ "http_request",
62
+ "decode_jwt",
63
+ "encode_jwt",
64
+ "validate_jwt",
65
+ "llm_chat",
66
+ "hash_md5",
67
+ "sum_md5",
68
+ "validate_md5",
69
+ "add_fastapp_to_project",
70
+ "create_project",
71
+ "format_python_code",
72
+ "shuffle_values",
73
+ "throw_dice",
74
+ "start_searxng",
75
+ "setup_asdf",
76
+ "setup_latex_on_ubuntu",
77
+ "setup_tmux",
78
+ "setup_ubuntu",
79
+ "setup_zsh",
80
+ "make_bash_autocomplete",
81
+ "get_shell_subcommands",
82
+ "make_zsh_autocomplete",
83
+ "add_todo",
84
+ "archive_todo",
85
+ "complete_todo",
86
+ "edit_todo",
87
+ "list_todo",
88
+ "log_todo",
89
+ "show_todo",
90
+ "generate_uuid_v1",
91
+ "generate_uuid_v3",
92
+ "generate_uuid_v4",
93
+ "generate_uuid_v5",
94
+ "validate_uuid",
95
+ "validate_uuid_v1",
96
+ "validate_uuid_v3",
97
+ "validate_uuid_v4",
98
+ "validate_uuid_v5",
99
+ ]
@@ -82,6 +82,12 @@ async def get_git_diff(ctx: AnyContext):
82
82
 
83
83
  @make_task(
84
84
  name="prune-local-git-branches",
85
+ input=StrInput(
86
+ name="preserved-branch",
87
+ description="Branches to be preserved",
88
+ prompt="Branches to be preserved, comma separated",
89
+ default="master,main,dev,develop",
90
+ ),
85
91
  description="🧹 Prune local branches",
86
92
  group=git_branch_group,
87
93
  alias="prune",
@@ -93,8 +99,13 @@ async def prune_local_branches(ctx: AnyContext):
93
99
  branches = await get_branches(repo_dir, print_method=ctx.print)
94
100
  ctx.print(stylize_faint("Get current branch"))
95
101
  current_branch = await get_current_branch(repo_dir, print_method=ctx.print)
102
+ preserved_branches = [
103
+ branch.strip()
104
+ for branch in ctx.input.preserved_branch.split(",")
105
+ if branch.strip() != ""
106
+ ]
96
107
  for branch in branches:
97
- if branch == current_branch or branch == "main" or branch == "master":
108
+ if branch == current_branch or branch in preserved_branches:
98
109
  continue
99
110
  ctx.print(stylize_faint(f"Removing local branch: {branch}"))
100
111
  try:
@@ -0,0 +1,65 @@
1
+ from zrb.config.config import CFG
2
+ from zrb.group.group import Group
3
+ from zrb.runner.cli import cli
4
+
5
+
6
+ def _maybe_add_group(group: Group):
7
+ if CFG.LOAD_BUILTIN:
8
+ cli.add_group(group)
9
+ return group
10
+
11
+
12
+ base64_group = _maybe_add_group(
13
+ Group(name="base64", description="📄 Base64 operations")
14
+ )
15
+ uuid_group = _maybe_add_group(Group(name="uuid", description="🆔 UUID operations"))
16
+ uuid_v1_group = uuid_group.add_group(Group(name="v1", description="UUID V1 operations"))
17
+ uuid_v3_group = uuid_group.add_group(Group(name="v3", description="UUID V3 operations"))
18
+ uuid_v4_group = uuid_group.add_group(Group(name="v4", description="UUID V4 operations"))
19
+ uuid_v5_group = uuid_group.add_group(Group(name="v5", description="UUID V5 operations"))
20
+ ulid_group = _maybe_add_group(Group(name="ulid", description="🔢 ULID operations"))
21
+ jwt_group = _maybe_add_group(Group(name="jwt", description="🔒 JWT encode/decode"))
22
+ http_group = _maybe_add_group(
23
+ Group(name="http", description="🌐 HTTP request operations")
24
+ )
25
+
26
+ random_group = _maybe_add_group(Group(name="random", description="🔀 Random operation"))
27
+ git_group = _maybe_add_group(Group(name="git", description="🌱 Git related commands"))
28
+ git_branch_group = git_group.add_group(
29
+ Group(name="branch", description="🌿 Git branch related commands")
30
+ )
31
+ git_subtree_group = git_group.add_group(
32
+ Group(name="subtree", description="🌳 Git subtree related commands")
33
+ )
34
+ llm_group = _maybe_add_group(Group(name="llm", description="🤖 LLM operations"))
35
+ md5_group = _maybe_add_group(Group(name="md5", description="🔢 Md5 operations"))
36
+ python_group = _maybe_add_group(
37
+ Group(name="python", description="🐍 Python related commands")
38
+ )
39
+ todo_group = _maybe_add_group(Group(name="todo", description="✅ Todo management"))
40
+
41
+ shell_group = _maybe_add_group(
42
+ Group(name="shell", description="💬 Shell related commands")
43
+ )
44
+ shell_autocomplete_group = shell_group.add_group(
45
+ Group(name="autocomplete", description="⌨️ Shell autocomplete related commands")
46
+ )
47
+
48
+ project_group = _maybe_add_group(
49
+ Group(name="project", description="📁 Project related commands")
50
+ )
51
+ add_to_project_group = project_group.add_group(
52
+ Group(name="add", description="➕ Add things to project")
53
+ )
54
+ add_fastapp_to_project_group = add_to_project_group.add_group(
55
+ Group(name="fastapp", description="🚀 Add Fastapp resources")
56
+ )
57
+
58
+ setup_group = _maybe_add_group(Group(name="setup", description="🔧 Setup"))
59
+ setup_latex_group = setup_group.add_group(
60
+ Group(name="latex", description="✍️ Setup LaTeX")
61
+ )
62
+
63
+ searxng_group = _maybe_add_group(
64
+ Group(name="searxng", description="🔎 Searxng related command")
65
+ )
@@ -0,0 +1,147 @@
1
+ from zrb.builtin.group import llm_group
2
+ from zrb.config.config import CFG
3
+ from zrb.input.bool_input import BoolInput
4
+ from zrb.input.str_input import StrInput
5
+ from zrb.llm.app.confirmation.replace_confirmation import replace_confirmation
6
+ from zrb.llm.history_processor.summarizer import create_summarizer_history_processor
7
+ from zrb.llm.note.manager import NoteManager
8
+ from zrb.llm.prompt.claude_compatibility import (
9
+ create_claude_compatibility_prompt,
10
+ )
11
+ from zrb.llm.prompt.compose import PromptManager, new_prompt
12
+ from zrb.llm.prompt.default import (
13
+ get_mandate_prompt,
14
+ get_persona_prompt,
15
+ )
16
+ from zrb.llm.prompt.note import create_note_prompt
17
+ from zrb.llm.prompt.system_context import system_context
18
+ from zrb.llm.prompt.zrb import create_zrb_prompt
19
+ from zrb.llm.skill.manager import SkillManager
20
+ from zrb.llm.task.llm_chat_task import LLMChatTask
21
+ from zrb.llm.tool.bash import run_shell_command
22
+ from zrb.llm.tool.code import analyze_code
23
+ from zrb.llm.tool.file import (
24
+ analyze_file,
25
+ list_files,
26
+ read_file,
27
+ read_files,
28
+ replace_in_file,
29
+ search_files,
30
+ write_file,
31
+ write_files,
32
+ )
33
+ from zrb.llm.tool.note import create_note_tools
34
+ from zrb.llm.tool.skill import create_activate_skill_tool
35
+ from zrb.llm.tool.sub_agent import create_sub_agent_tool
36
+ from zrb.llm.tool.web import open_web_page, search_internet
37
+ from zrb.llm.tool.zrb_task import create_list_zrb_task_tool, create_run_zrb_task_tool
38
+ from zrb.runner.cli import cli
39
+
40
+ skill_manager = SkillManager()
41
+ note_manager = NoteManager()
42
+
43
+ llm_chat = LLMChatTask(
44
+ name="chat",
45
+ description="🤖 Chat with your AI Assistant",
46
+ input=[
47
+ StrInput("message", "Message", allow_empty=True, always_prompt=False),
48
+ StrInput(
49
+ "session", "Conversation Session", allow_empty=True, always_prompt=False
50
+ ),
51
+ BoolInput(
52
+ "yolo", "YOLO Mode", default=False, allow_empty=True, always_prompt=False
53
+ ),
54
+ StrInput("attach", "Attachments", allow_empty=True, always_prompt=False),
55
+ BoolInput(
56
+ "interactive",
57
+ "Interactive Mode",
58
+ default=True,
59
+ allow_empty=True,
60
+ always_prompt=False,
61
+ ),
62
+ ],
63
+ yolo="{ctx.input.yolo}",
64
+ message="{ctx.input.message}",
65
+ conversation_name="{ctx.input.session}",
66
+ interactive="{ctx.input.interactive}",
67
+ history_processors=[
68
+ create_summarizer_history_processor(
69
+ token_threshold=CFG.LLM_HISTORY_SUMMARIZATION_TOKEN_THRESHOLD,
70
+ summary_window=CFG.LLM_HISTORY_SUMMARIZATION_WINDOW,
71
+ )
72
+ ],
73
+ prompt_manager=PromptManager(),
74
+ ui_ascii_art=lambda ctx: CFG.LLM_ASSISTANT_ASCII_ART,
75
+ ui_assistant_name=lambda ctx: CFG.LLM_ASSISTANT_NAME,
76
+ ui_greeting=lambda ctx: f"{CFG.LLM_ASSISTANT_NAME}\n{CFG.LLM_ASSISTANT_JARGON}",
77
+ ui_jargon=lambda ctx: CFG.LLM_ASSISTANT_JARGON,
78
+ ui_summarize_commands=["/compress", "/compact"],
79
+ ui_attach_commands=["/attach"],
80
+ ui_exit_commands=["/q", "/bye", "/quit", "/exit"],
81
+ ui_info_commands=["/info", "/help"],
82
+ ui_save_commands=["/save"],
83
+ ui_load_commands=["/load"],
84
+ ui_yolo_toggle_commands=["/yolo"],
85
+ ui_redirect_output_commands=[">", "/redirect"],
86
+ ui_exec_commands=["!", "/exec"],
87
+ )
88
+ llm_group.add_task(llm_chat)
89
+ cli.add_task(llm_chat)
90
+
91
+
92
+ async def roll_dice() -> str:
93
+ """Roll a six-sided die and return the result."""
94
+ import asyncio
95
+ import random
96
+
97
+ await asyncio.sleep(3)
98
+ return str(random.randint(1, 6))
99
+
100
+
101
+ async def get_current_time() -> str:
102
+ """Get the current time."""
103
+ from datetime import datetime
104
+
105
+ return datetime.now().strftime("%H:%M:%S")
106
+
107
+
108
+ joke_agent = create_sub_agent_tool(
109
+ name="joke_agent",
110
+ description="Generates jokes about the current directory content.",
111
+ system_prompt=(
112
+ "You are a comedian. Use the 'run_shell_command' tool to list files "
113
+ "(ls -la) and make a funny joke about the project structure."
114
+ ),
115
+ tools=[run_shell_command],
116
+ )
117
+
118
+ llm_chat.prompt_manager.add_middleware(
119
+ new_prompt(get_persona_prompt(CFG.LLM_ASSISTANT_NAME)),
120
+ new_prompt(get_mandate_prompt()),
121
+ system_context,
122
+ create_note_prompt(note_manager),
123
+ create_claude_compatibility_prompt(skill_manager),
124
+ create_zrb_prompt(),
125
+ )
126
+ llm_chat.add_confirmation_middleware(replace_confirmation)
127
+ llm_chat.add_tool(
128
+ roll_dice,
129
+ joke_agent,
130
+ run_shell_command,
131
+ list_files,
132
+ read_file,
133
+ read_files,
134
+ write_file,
135
+ write_files,
136
+ replace_in_file,
137
+ search_files,
138
+ analyze_file,
139
+ analyze_code,
140
+ search_internet,
141
+ open_web_page,
142
+ create_list_zrb_task_tool(),
143
+ create_run_zrb_task_tool(),
144
+ create_activate_skill_tool(skill_manager),
145
+ *create_note_tools(note_manager),
146
+ )
147
+ llm_chat.add_tool(get_current_time)