zrb 1.9.4__tar.gz → 1.9.6__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 (399) hide show
  1. zrb-1.9.6/PKG-INFO +250 -0
  2. zrb-1.9.6/README.md +209 -0
  3. {zrb-1.9.4 → zrb-1.9.6}/pyproject.toml +1 -2
  4. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/__init__.py +8 -8
  5. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/__main__.py +1 -1
  6. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/__init__.py +0 -50
  7. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/chat_session.py +1 -1
  8. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/history.py +1 -1
  9. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/llm_ask.py +3 -3
  10. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/api.py +19 -9
  11. zrb-1.9.6/src/zrb/builtin/llm/tool/cli.py +29 -0
  12. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/code.py +20 -20
  13. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/file.py +107 -155
  14. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/rag.py +28 -5
  15. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/sub_agent.py +12 -14
  16. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/web.py +46 -14
  17. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/todo.py +1 -1
  18. {zrb-1.9.4/src/zrb → zrb-1.9.6/src/zrb/config}/llm_config.py +143 -158
  19. {zrb-1.9.4/src/zrb → zrb-1.9.6/src/zrb/config}/llm_rate_limitter.py +1 -1
  20. {zrb-1.9.4/src/zrb/runner → zrb-1.9.6/src/zrb/config}/web_auth_config.py +1 -1
  21. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/context/shared_context.py +1 -1
  22. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/text_input.py +1 -1
  23. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/cli.py +2 -2
  24. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_app.py +2 -2
  25. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/docs_route.py +1 -1
  26. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/error_page/serve_default_404.py +1 -1
  27. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/error_page/show_error_page.py +1 -1
  28. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/home_page/home_page_route.py +2 -2
  29. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/login_api_route.py +1 -1
  30. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/login_page/login_page_route.py +2 -2
  31. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/logout_api_route.py +1 -1
  32. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/logout_page/logout_page_route.py +2 -2
  33. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/node_page/group/show_group_page.py +1 -1
  34. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/node_page/node_page_route.py +1 -1
  35. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/node_page/task/show_task_page.py +1 -1
  36. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/refresh_token_api_route.py +1 -1
  37. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/static_route.py +1 -1
  38. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/task_input_api_route.py +1 -1
  39. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/task_session_api_route.py +1 -1
  40. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_util/cookie.py +1 -1
  41. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_util/token.py +1 -1
  42. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_util/user.py +1 -1
  43. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session_state_logger/session_state_logger_factory.py +1 -1
  44. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/cmd_task.py +1 -1
  45. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/agent.py +1 -1
  46. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/config.py +1 -1
  47. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/context_enrichment.py +2 -2
  48. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/history_summarization.py +2 -2
  49. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/prompt.py +1 -1
  50. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm_task.py +1 -1
  51. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/init_path.py +1 -1
  52. zrb-1.9.4/PKG-INFO +0 -245
  53. zrb-1.9.4/README.md +0 -203
  54. zrb-1.9.4/src/zrb/builtin/llm/tool/cli.py +0 -23
  55. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/attr/__init__.py +0 -0
  56. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/attr/type.py +0 -0
  57. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/base64.py +0 -0
  58. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/git.py +0 -0
  59. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/git_subtree.py +0 -0
  60. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/group.py +0 -0
  61. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/http.py +0 -0
  62. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/jwt.py +0 -0
  63. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/input.py +0 -0
  64. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/previous-session.js +0 -0
  65. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/llm/tool/__init__.py +0 -0
  66. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/md5.py +0 -0
  67. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/__init__.py +0 -0
  68. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
  69. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
  70. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
  71. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
  72. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
  73. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
  74. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
  75. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
  76. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
  77. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
  78. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
  79. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
  80. {zrb-1.9.4 → zrb-1.9.6}/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
  81. {zrb-1.9.4 → zrb-1.9.6}/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
  82. {zrb-1.9.4 → zrb-1.9.6}/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
  83. {zrb-1.9.4 → zrb-1.9.6}/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
  84. {zrb-1.9.4 → zrb-1.9.6}/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
  85. {zrb-1.9.4 → zrb-1.9.6}/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
  86. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
  87. {zrb-1.9.4 → zrb-1.9.6}/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
  88. {zrb-1.9.4 → zrb-1.9.6}/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
  89. {zrb-1.9.4 → zrb-1.9.6}/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
  90. {zrb-1.9.4 → zrb-1.9.6}/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
  91. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
  92. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
  93. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
  94. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
  95. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
  96. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
  97. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
  98. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
  99. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +0 -0
  100. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini +0 -0
  101. {zrb-1.9.4 → zrb-1.9.6}/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
  102. {zrb-1.9.4 → zrb-1.9.6}/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
  103. {zrb-1.9.4 → zrb-1.9.6}/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
  104. {zrb-1.9.4 → zrb-1.9.6}/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
  105. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README +0 -0
  106. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py +0 -0
  107. {zrb-1.9.4 → zrb-1.9.6}/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
  108. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep +0 -0
  109. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py +0 -0
  110. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +0 -0
  111. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py +0 -0
  112. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
  113. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
  114. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
  115. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
  116. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
  117. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
  118. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
  119. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
  120. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
  121. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
  122. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
  123. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
  124. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
  125. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
  126. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
  127. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
  128. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
  129. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
  130. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
  131. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
  132. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
  133. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
  134. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
  135. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
  136. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
  137. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
  138. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
  139. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
  140. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
  141. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
  142. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
  143. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
  144. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
  145. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
  146. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
  147. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
  148. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
  149. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
  150. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
  151. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
  152. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
  153. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
  154. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
  155. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
  156. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
  157. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
  158. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
  159. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
  160. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
  161. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
  162. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
  163. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
  164. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
  165. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
  166. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
  167. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
  168. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
  169. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
  170. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
  171. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
  172. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
  173. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
  174. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
  175. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
  176. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
  177. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
  178. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
  179. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
  180. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
  181. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
  182. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
  183. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
  184. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
  185. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
  186. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
  187. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
  188. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
  189. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
  190. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
  191. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
  192. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
  193. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +0 -0
  194. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +0 -0
  195. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +0 -0
  196. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +0 -0
  197. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +0 -0
  198. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +0 -0
  199. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +0 -0
  200. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +0 -0
  201. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +0 -0
  202. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
  203. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +0 -0
  204. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +0 -0
  205. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +0 -0
  206. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +0 -0
  207. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +0 -0
  208. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +0 -0
  209. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +0 -0
  210. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +0 -0
  211. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +0 -0
  212. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +0 -0
  213. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
  214. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
  215. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
  216. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
  217. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
  218. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
  219. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
  220. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
  221. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
  222. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
  223. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
  224. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
  225. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
  226. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
  227. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
  228. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
  229. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
  230. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
  231. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/create/__init__.py +0 -0
  232. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/create/project-template/README.md +0 -0
  233. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
  234. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/project/create/project_task.py +0 -0
  235. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/python.py +0 -0
  236. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/random.py +0 -0
  237. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
  238. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
  239. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/common_input.py +0 -0
  240. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
  241. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
  242. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
  243. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
  244. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/ubuntu.py +0 -0
  245. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
  246. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
  247. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
  248. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/shell/__init__.py +0 -0
  249. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
  250. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
  251. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
  252. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
  253. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/builtin/uuid.py +0 -0
  254. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/callback/__init__.py +0 -0
  255. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/callback/any_callback.py +0 -0
  256. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/callback/callback.py +0 -0
  257. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/cmd/__init__.py +0 -0
  258. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/cmd/cmd_result.py +0 -0
  259. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/cmd/cmd_val.py +0 -0
  260. {zrb-1.9.4/src/zrb → zrb-1.9.6/src/zrb/config}/config.py +0 -0
  261. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/content_transformer/__init__.py +0 -0
  262. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/content_transformer/any_content_transformer.py +0 -0
  263. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/content_transformer/content_transformer.py +0 -0
  264. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/context/__init__.py +0 -0
  265. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/context/any_context.py +0 -0
  266. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/context/any_shared_context.py +0 -0
  267. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/context/context.py +0 -0
  268. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/dot_dict/__init__.py +0 -0
  269. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/dot_dict/dot_dict.py +0 -0
  270. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/env/__init__.py +0 -0
  271. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/env/any_env.py +0 -0
  272. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/env/env.py +0 -0
  273. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/env/env_file.py +0 -0
  274. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/env/env_map.py +0 -0
  275. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/group/__init__.py +0 -0
  276. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/group/any_group.py +0 -0
  277. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/group/group.py +0 -0
  278. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/__init__.py +0 -0
  279. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/any_input.py +0 -0
  280. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/base_input.py +0 -0
  281. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/bool_input.py +0 -0
  282. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/float_input.py +0 -0
  283. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/int_input.py +0 -0
  284. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/option_input.py +0 -0
  285. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/password_input.py +0 -0
  286. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/input/str_input.py +0 -0
  287. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/__init__.py +0 -0
  288. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/common_util.py +0 -0
  289. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/__init__.py +0 -0
  290. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/error_page/view.html +0 -0
  291. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
  292. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/home_page/view.html +0 -0
  293. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/login_page/view.html +0 -0
  294. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/logout_page/view.html +0 -0
  295. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
  296. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
  297. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
  298. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/global_template.html +0 -0
  299. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
  300. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/common.css +0 -0
  301. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/common.js +0 -0
  302. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
  303. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
  304. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
  305. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.amber.min.css +0 -0
  306. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.blue.min.css +0 -0
  307. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.cyan.min.css +0 -0
  308. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.fuchsia.min.css +0 -0
  309. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.green.min.css +0 -0
  310. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.grey.min.css +0 -0
  311. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.indigo.min.css +0 -0
  312. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.jade.min.css +0 -0
  313. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.lime.min.css +0 -0
  314. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.min.css +0 -0
  315. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.orange.min.css +0 -0
  316. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.pink.min.css +0 -0
  317. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.pumpkin.min.css +0 -0
  318. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.purple.min.css +0 -0
  319. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.red.min.css +0 -0
  320. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.sand.min.css +0 -0
  321. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.slate.min.css +0 -0
  322. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.violet.min.css +0 -0
  323. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.yellow.min.css +0 -0
  324. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/pico-css/pico.zinc.min.css +0 -0
  325. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
  326. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
  327. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
  328. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
  329. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_schema/session.py +0 -0
  330. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_schema/token.py +0 -0
  331. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_schema/user.py +0 -0
  332. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/runner/web_util/html.py +0 -0
  333. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session/__init__.py +0 -0
  334. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session/any_session.py +0 -0
  335. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session/session.py +0 -0
  336. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session_state_log/__init__.py +0 -0
  337. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session_state_log/session_state_log.py +0 -0
  338. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session_state_logger/__init__.py +0 -0
  339. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
  340. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
  341. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/__init__.py +0 -0
  342. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/any_task.py +0 -0
  343. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base/__init__.py +0 -0
  344. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base/context.py +0 -0
  345. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base/execution.py +0 -0
  346. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base/lifecycle.py +0 -0
  347. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base/monitoring.py +0 -0
  348. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base/operators.py +0 -0
  349. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base_task.py +0 -0
  350. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/base_trigger.py +0 -0
  351. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/http_check.py +0 -0
  352. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/__init__.py +0 -0
  353. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/context.py +0 -0
  354. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/error.py +0 -0
  355. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/history.py +0 -0
  356. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/print_node.py +0 -0
  357. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/tool_wrapper.py +0 -0
  358. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/llm/typing.py +0 -0
  359. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/make_task.py +0 -0
  360. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/rsync_task.py +0 -0
  361. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/scaffolder.py +0 -0
  362. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/scheduler.py +0 -0
  363. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/task.py +0 -0
  364. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task/tcp_check.py +0 -0
  365. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task_status/__init__.py +0 -0
  366. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/task_status/task_status.py +0 -0
  367. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/__init__.py +0 -0
  368. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/attr.py +0 -0
  369. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cli/__init__.py +0 -0
  370. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cli/style.py +0 -0
  371. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cli/subcommand.py +0 -0
  372. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cmd/__init__.py +0 -0
  373. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cmd/command.py +0 -0
  374. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cmd/remote.py +0 -0
  375. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/__init__.py +0 -0
  376. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modification_mode.py +0 -0
  377. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_class.py +0 -0
  378. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_class_parent.py +0 -0
  379. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_class_property.py +0 -0
  380. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_dict.py +0 -0
  381. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_function.py +0 -0
  382. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_function_call.py +0 -0
  383. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_method.py +0 -0
  384. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/codemod/modify_module.py +0 -0
  385. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/cron.py +0 -0
  386. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/file.py +0 -0
  387. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/git.py +0 -0
  388. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/git_subtree.py +0 -0
  389. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/group.py +0 -0
  390. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/load.py +0 -0
  391. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/run.py +0 -0
  392. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/string/__init__.py +0 -0
  393. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/string/conversion.py +0 -0
  394. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/string/format.py +0 -0
  395. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/string/name.py +0 -0
  396. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/todo.py +0 -0
  397. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/util/todo_model.py +0 -0
  398. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/xcom/__init__.py +0 -0
  399. {zrb-1.9.4 → zrb-1.9.6}/src/zrb/xcom/xcom.py +0 -0
zrb-1.9.6/PKG-INFO ADDED
@@ -0,0 +1,250 @@
1
+ Metadata-Version: 2.1
2
+ Name: zrb
3
+ Version: 1.9.6
4
+ Summary: Your Automation Powerhouse
5
+ Home-page: https://github.com/state-alchemists/zrb
6
+ License: AGPL-3.0-or-later
7
+ Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
8
+ Author: Go Frendi Gunawan
9
+ Author-email: gofrendiasgard@gmail.com
10
+ Requires-Python: >=3.10.0,<4.0.0
11
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Provides-Extra: all
17
+ Provides-Extra: playwright
18
+ Provides-Extra: rag
19
+ Requires-Dist: beautifulsoup4 (>=4.13.3,<5.0.0)
20
+ Requires-Dist: black (>=25.1.0,<25.2.0)
21
+ Requires-Dist: chromadb (>=0.6.3,<0.7.0) ; extra == "rag" or extra == "all"
22
+ Requires-Dist: fastapi[standard] (>=0.115.14,<0.116.0)
23
+ Requires-Dist: isort (>=6.0.1,<6.1.0)
24
+ Requires-Dist: libcst (>=1.7.0,<2.0.0)
25
+ Requires-Dist: openai (>=1.86.0,<2.0.0) ; extra == "rag" or extra == "all"
26
+ Requires-Dist: pdfplumber (>=0.11.6,<0.12.0) ; extra == "rag" or extra == "all"
27
+ Requires-Dist: playwright (>=1.53.0,<2.0.0) ; extra == "playwright" or extra == "all"
28
+ Requires-Dist: prompt-toolkit (>=3.0.51,<4.0.0)
29
+ Requires-Dist: psutil (>=7.0.0,<8.0.0)
30
+ Requires-Dist: pydantic-ai (>=0.3.4,<0.4.0)
31
+ Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
32
+ Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
33
+ Requires-Dist: python-jose[cryptography] (>=3.4.0,<4.0.0)
34
+ Requires-Dist: requests (>=2.32.4,<3.0.0)
35
+ Requires-Dist: rich (>=14.0.0,<15.0.0)
36
+ Requires-Dist: tiktoken (>=0.8.0,<0.9.0)
37
+ Requires-Dist: ulid-py (>=1.1.0,<2.0.0)
38
+ Project-URL: Documentation, https://github.com/state-alchemists/zrb
39
+ Project-URL: Repository, https://github.com/state-alchemists/zrb
40
+ Description-Content-Type: text/markdown
41
+
42
+ ![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb/android-chrome-192x192.png)
43
+
44
+ # 🤖 Zrb: Your Automation Powerhouse
45
+
46
+ **Zrb (Zaruba) is a Python-based tool that makes it easy to create, organize, and run automation tasks.** Think of it as a command-line sidekick, ready to handle everything from simple scripts to complex, AI-powered workflows.
47
+
48
+ Whether you're running tasks from the terminal or a sleek web UI, Zrb streamlines your process with task dependencies, environment management, and even inter-task communication.
49
+
50
+ [Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md) | [Contribution Guidelines](https://github.com/state-alchemists/zrb/pulls) | [Report an Issue](https://github.com/state-alchemists/zrb/issues)
51
+
52
+ ---
53
+
54
+ ## 🔥 Why Choose Zrb?
55
+
56
+ Zrb is designed to be powerful yet intuitive, offering a unique blend of features:
57
+
58
+ - 🤖 **Built-in LLM Integration:** Go beyond simple automation. Leverage Large Language Models to generate code, create diagrams, produce documentation, and more.
59
+ - 🐍 **Pure Python:** Write your tasks in Python. No complex DSLs or YAML configurations to learn.
60
+ - 🔗 **Smart Task Chaining:** Define dependencies between tasks to build sophisticated, ordered workflows.
61
+ - 💻 **Dual-Mode Execution:** Run tasks from the command line for speed or use the built-in web UI for a more visual experience.
62
+ - ⚙️ **Flexible Configuration:** Manage inputs with defaults, prompts, or command-line arguments. Handle secrets and settings with environment variables from the system or `.env` files.
63
+ - 🗣️ **Cross-Communication (XCom):** Allow tasks to safely exchange small pieces of data.
64
+ - 🌍 **Open & Extensible:** Zrb is open-source. Feel free to contribute, customize, or extend it to meet your needs.
65
+
66
+ ---
67
+
68
+ ## 🚀 Quick Start: Your First AI-Powered Workflow in 5 Minutes
69
+
70
+ Let's create a two-step workflow that uses an LLM to analyze your code and generate a Mermaid diagram, then converts that diagram into a PNG image.
71
+
72
+ ### 1. Prerequisites: Get Your Tools Ready
73
+
74
+ Before you start, make sure you have the following:
75
+
76
+ - **An LLM API Key:** Zrb needs an API key to talk to an AI model.
77
+ ```bash
78
+ export OPENAI_API_KEY="your-key-here"
79
+ ```
80
+ > Zrb defaults to OpenAI, but you can easily configure it for other providers like **Deepseek, Ollama, etc.** See the [LLM Integration Guide](https://github.com/state-alchemists/zrb/blob/main/docs/installation-and-configuration/configuration/llm-integration.md) for details.
81
+
82
+ - **Mermaid CLI:** This tool converts Mermaid diagram scripts into images.
83
+ ```bash
84
+ npm install -g @mermaid-js/mermaid-cli
85
+ ```
86
+
87
+ ### 2. Install Zrb
88
+
89
+ The easiest way to get Zrb is with `pip`.
90
+
91
+ ```bash
92
+ pip install zrb
93
+ # Or for the latest pre-release version:
94
+ # pip install --pre zrb
95
+ ```
96
+
97
+ Alternatively, you can use an installation script that handles all prerequisites:
98
+ ```bash
99
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
100
+ ```
101
+
102
+ > For other installation methods, including **Docker 🐋** and **Android 📱**, check out the full [Installation Guide](https://github.com/state-alchemists/zrb/blob/main/docs/installation-and-configuration/README.md).
103
+
104
+ ### 3. Define Your Tasks
105
+
106
+ Create a file named `zrb_init.py` in your project directory. Zrb automatically discovers this file.
107
+
108
+ > **💡 Pro Tip:** You can place `zrb_init.py` in your home directory (`~/zrb_init.py`), and the tasks you define will be available globally across all your projects!
109
+
110
+ Add the following Python code to your `zrb_init.py`:
111
+
112
+ ```python
113
+ from zrb import cli, LLMTask, CmdTask, StrInput, Group
114
+ from zrb.builtin.llm.tool.code import analyze_repo
115
+ from zrb.builtin.llm.tool.file import write_to_file
116
+
117
+
118
+ # Create a group for Mermaid-related tasks
119
+ mermaid_group = cli.add_group(Group(
120
+ name="mermaid",
121
+ description="🧜 Mermaid diagram related tasks"
122
+ ))
123
+
124
+ # Task 1: Generate a Mermaid script from your source code
125
+ make_mermaid_script = mermaid_group.add_task(
126
+ LLMTask(
127
+ name="make-script",
128
+ description="Create a mermaid diagram from source code in the current directory",
129
+ input=[
130
+ StrInput(name="dir", default="./"),
131
+ StrInput(name="diagram", default="state-diagram"),
132
+ ],
133
+ message=(
134
+ "Read all necessary files in {ctx.input.dir}, "
135
+ "make a {ctx.input.diagram} in mermaid format. "
136
+ "Write the script into `{ctx.input.dir}/{ctx.input.diagram}.mmd`"
137
+ ),
138
+ tools=[
139
+ analyze_repo, write_to_file
140
+ ],
141
+ )
142
+ )
143
+
144
+ # Task 2: Convert the Mermaid script into a PNG image
145
+ make_mermaid_image = mermaid_group.add_task(
146
+ CmdTask(
147
+ name="make-image",
148
+ description="Create a PNG from a mermaid script",
149
+ input=[
150
+ StrInput(name="dir", default="./"),
151
+ StrInput(name="diagram", default="state-diagram"),
152
+ ],
153
+ cmd="mmdc -i '{ctx.input.diagram}.mmd' -o '{ctx.input.diagram}.png'",
154
+ cwd="{ctx.input.dir}",
155
+ )
156
+ )
157
+
158
+ # Set up the dependency: the image task runs after the script is created
159
+ make_mermaid_script >> make_mermaid_image
160
+ ```
161
+
162
+ ### 4. Run Your Workflow!
163
+
164
+ Now, navigate to any project with source code. For example:
165
+
166
+ ```bash
167
+ git clone git@github.com:jjinux/gotetris.git
168
+ cd gotetris
169
+ ```
170
+
171
+ Run your new task to generate the diagram:
172
+
173
+ ```bash
174
+ zrb mermaid make-image --diagram "state-diagram" --dir ./
175
+ ```
176
+
177
+ You can also run it interactively and let Zrb prompt you for inputs:
178
+ ```bash
179
+ zrb mermaid make-image
180
+ ```
181
+ Zrb will ask for the directory and diagram name—just press **Enter** to accept the defaults.
182
+
183
+ In moments, you'll have a beautiful state diagram of your code!
184
+
185
+ ![State Diagram](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/state-diagram.png)
186
+
187
+ ---
188
+
189
+ ## 🖥️ Try the Web UI
190
+
191
+ Prefer a graphical interface? Zrb has you covered. Start the web server:
192
+
193
+ ```bash
194
+ zrb server start
195
+ ```
196
+
197
+ Then open your browser to `http://localhost:21213` to see your tasks in a clean, user-friendly interface.
198
+
199
+ ![Zrb Web UI](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb-web-ui.png)
200
+
201
+ ---
202
+
203
+ ## 💬 Interact with an LLM Directly
204
+
205
+ Zrb brings AI capabilities right to your command line.
206
+
207
+ ### Interactive Chat
208
+
209
+ Start a chat session with an LLM to ask questions, brainstorm ideas, or get coding help.
210
+
211
+ ```bash
212
+ zrb llm chat
213
+ ```
214
+
215
+ ### Quick Questions
216
+
217
+ For a single question, use the `ask` command for a fast response.
218
+
219
+ ```bash
220
+ zrb llm ask "What is the capital of Indonesia?"
221
+ ```
222
+
223
+ ---
224
+
225
+ ## 🎥 Demo & Documentation
226
+
227
+ - **Dive Deeper:** [**Explore the Full Zrb Documentation**](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
228
+ - **Watch the Video Demo:**
229
+
230
+ [![Video Title](https://img.youtube.com/vi/W7dgk96l__o/0.jpg)](https://www.youtube.com/watch?v=W7dgk96l__o)
231
+
232
+ ---
233
+
234
+ ## 🤝 Join the Community & Support the Project
235
+
236
+ - **Bugs & Feature Requests:** Found a bug or have a great idea? [Open an issue](https://github.com/state-alchemists/zrb/issues). Please include your Zrb version (`zrb version`) and steps to reproduce the issue.
237
+ - **Contributions:** We love pull requests! See our [contribution guidelines](https://github.com/state-alchemists/zrb/pulls) to get started.
238
+ - **Support Zrb:** If you find Zrb valuable, please consider showing your support.
239
+
240
+ [![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/donator.png)](https://stalchmst.com)
241
+
242
+ ---
243
+
244
+ ## 🎉 Fun Fact
245
+
246
+ **Did you know?** Zrb is named after `Zaruba`, a powerful, sentient Madou Ring that acts as a guide and support tool in the *Garo* universe.
247
+
248
+ > *Madou Ring Zaruba (魔導輪ザルバ, Madōrin Zaruba) is a Madougu which supports bearers of the Garo Armor.* [(Garo Wiki | Fandom)](https://garo.fandom.com/wiki/Zaruba)
249
+
250
+ ![Madou Ring Zaruba on Kouga's Hand](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/madou-ring-zaruba.jpg)
zrb-1.9.6/README.md ADDED
@@ -0,0 +1,209 @@
1
+ ![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb/android-chrome-192x192.png)
2
+
3
+ # 🤖 Zrb: Your Automation Powerhouse
4
+
5
+ **Zrb (Zaruba) is a Python-based tool that makes it easy to create, organize, and run automation tasks.** Think of it as a command-line sidekick, ready to handle everything from simple scripts to complex, AI-powered workflows.
6
+
7
+ Whether you're running tasks from the terminal or a sleek web UI, Zrb streamlines your process with task dependencies, environment management, and even inter-task communication.
8
+
9
+ [Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md) | [Contribution Guidelines](https://github.com/state-alchemists/zrb/pulls) | [Report an Issue](https://github.com/state-alchemists/zrb/issues)
10
+
11
+ ---
12
+
13
+ ## 🔥 Why Choose Zrb?
14
+
15
+ Zrb is designed to be powerful yet intuitive, offering a unique blend of features:
16
+
17
+ - 🤖 **Built-in LLM Integration:** Go beyond simple automation. Leverage Large Language Models to generate code, create diagrams, produce documentation, and more.
18
+ - 🐍 **Pure Python:** Write your tasks in Python. No complex DSLs or YAML configurations to learn.
19
+ - 🔗 **Smart Task Chaining:** Define dependencies between tasks to build sophisticated, ordered workflows.
20
+ - 💻 **Dual-Mode Execution:** Run tasks from the command line for speed or use the built-in web UI for a more visual experience.
21
+ - ⚙️ **Flexible Configuration:** Manage inputs with defaults, prompts, or command-line arguments. Handle secrets and settings with environment variables from the system or `.env` files.
22
+ - 🗣️ **Cross-Communication (XCom):** Allow tasks to safely exchange small pieces of data.
23
+ - 🌍 **Open & Extensible:** Zrb is open-source. Feel free to contribute, customize, or extend it to meet your needs.
24
+
25
+ ---
26
+
27
+ ## 🚀 Quick Start: Your First AI-Powered Workflow in 5 Minutes
28
+
29
+ Let's create a two-step workflow that uses an LLM to analyze your code and generate a Mermaid diagram, then converts that diagram into a PNG image.
30
+
31
+ ### 1. Prerequisites: Get Your Tools Ready
32
+
33
+ Before you start, make sure you have the following:
34
+
35
+ - **An LLM API Key:** Zrb needs an API key to talk to an AI model.
36
+ ```bash
37
+ export OPENAI_API_KEY="your-key-here"
38
+ ```
39
+ > Zrb defaults to OpenAI, but you can easily configure it for other providers like **Deepseek, Ollama, etc.** See the [LLM Integration Guide](https://github.com/state-alchemists/zrb/blob/main/docs/installation-and-configuration/configuration/llm-integration.md) for details.
40
+
41
+ - **Mermaid CLI:** This tool converts Mermaid diagram scripts into images.
42
+ ```bash
43
+ npm install -g @mermaid-js/mermaid-cli
44
+ ```
45
+
46
+ ### 2. Install Zrb
47
+
48
+ The easiest way to get Zrb is with `pip`.
49
+
50
+ ```bash
51
+ pip install zrb
52
+ # Or for the latest pre-release version:
53
+ # pip install --pre zrb
54
+ ```
55
+
56
+ Alternatively, you can use an installation script that handles all prerequisites:
57
+ ```bash
58
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
59
+ ```
60
+
61
+ > For other installation methods, including **Docker 🐋** and **Android 📱**, check out the full [Installation Guide](https://github.com/state-alchemists/zrb/blob/main/docs/installation-and-configuration/README.md).
62
+
63
+ ### 3. Define Your Tasks
64
+
65
+ Create a file named `zrb_init.py` in your project directory. Zrb automatically discovers this file.
66
+
67
+ > **💡 Pro Tip:** You can place `zrb_init.py` in your home directory (`~/zrb_init.py`), and the tasks you define will be available globally across all your projects!
68
+
69
+ Add the following Python code to your `zrb_init.py`:
70
+
71
+ ```python
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
75
+
76
+
77
+ # Create a group for Mermaid-related tasks
78
+ mermaid_group = cli.add_group(Group(
79
+ name="mermaid",
80
+ description="🧜 Mermaid diagram related tasks"
81
+ ))
82
+
83
+ # Task 1: Generate a Mermaid script from your source code
84
+ make_mermaid_script = mermaid_group.add_task(
85
+ LLMTask(
86
+ name="make-script",
87
+ description="Create a mermaid diagram from source code in the current directory",
88
+ input=[
89
+ StrInput(name="dir", default="./"),
90
+ StrInput(name="diagram", default="state-diagram"),
91
+ ],
92
+ message=(
93
+ "Read all necessary files in {ctx.input.dir}, "
94
+ "make a {ctx.input.diagram} in mermaid format. "
95
+ "Write the script into `{ctx.input.dir}/{ctx.input.diagram}.mmd`"
96
+ ),
97
+ tools=[
98
+ analyze_repo, write_to_file
99
+ ],
100
+ )
101
+ )
102
+
103
+ # Task 2: Convert the Mermaid script into a PNG image
104
+ make_mermaid_image = mermaid_group.add_task(
105
+ CmdTask(
106
+ name="make-image",
107
+ description="Create a PNG from a mermaid script",
108
+ input=[
109
+ StrInput(name="dir", default="./"),
110
+ StrInput(name="diagram", default="state-diagram"),
111
+ ],
112
+ cmd="mmdc -i '{ctx.input.diagram}.mmd' -o '{ctx.input.diagram}.png'",
113
+ cwd="{ctx.input.dir}",
114
+ )
115
+ )
116
+
117
+ # Set up the dependency: the image task runs after the script is created
118
+ make_mermaid_script >> make_mermaid_image
119
+ ```
120
+
121
+ ### 4. Run Your Workflow!
122
+
123
+ Now, navigate to any project with source code. For example:
124
+
125
+ ```bash
126
+ git clone git@github.com:jjinux/gotetris.git
127
+ cd gotetris
128
+ ```
129
+
130
+ Run your new task to generate the diagram:
131
+
132
+ ```bash
133
+ zrb mermaid make-image --diagram "state-diagram" --dir ./
134
+ ```
135
+
136
+ You can also run it interactively and let Zrb prompt you for inputs:
137
+ ```bash
138
+ zrb mermaid make-image
139
+ ```
140
+ Zrb will ask for the directory and diagram name—just press **Enter** to accept the defaults.
141
+
142
+ In moments, you'll have a beautiful state diagram of your code!
143
+
144
+ ![State Diagram](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/state-diagram.png)
145
+
146
+ ---
147
+
148
+ ## 🖥️ Try the Web UI
149
+
150
+ Prefer a graphical interface? Zrb has you covered. Start the web server:
151
+
152
+ ```bash
153
+ zrb server start
154
+ ```
155
+
156
+ Then open your browser to `http://localhost:21213` to see your tasks in a clean, user-friendly interface.
157
+
158
+ ![Zrb Web UI](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb-web-ui.png)
159
+
160
+ ---
161
+
162
+ ## 💬 Interact with an LLM Directly
163
+
164
+ Zrb brings AI capabilities right to your command line.
165
+
166
+ ### Interactive Chat
167
+
168
+ Start a chat session with an LLM to ask questions, brainstorm ideas, or get coding help.
169
+
170
+ ```bash
171
+ zrb llm chat
172
+ ```
173
+
174
+ ### Quick Questions
175
+
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
+
182
+ ---
183
+
184
+ ## 🎥 Demo & Documentation
185
+
186
+ - **Dive Deeper:** [**Explore the Full Zrb Documentation**](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
187
+ - **Watch the Video Demo:**
188
+
189
+ [![Video Title](https://img.youtube.com/vi/W7dgk96l__o/0.jpg)](https://www.youtube.com/watch?v=W7dgk96l__o)
190
+
191
+ ---
192
+
193
+ ## 🤝 Join the Community & Support the Project
194
+
195
+ - **Bugs & Feature Requests:** Found a bug or have a great idea? [Open an issue](https://github.com/state-alchemists/zrb/issues). Please include your Zrb version (`zrb version`) and steps to reproduce the issue.
196
+ - **Contributions:** We love pull requests! See our [contribution guidelines](https://github.com/state-alchemists/zrb/pulls) to get started.
197
+ - **Support Zrb:** If you find Zrb valuable, please consider showing your support.
198
+
199
+ [![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/donator.png)](https://stalchmst.com)
200
+
201
+ ---
202
+
203
+ ## 🎉 Fun Fact
204
+
205
+ **Did you know?** Zrb is named after `Zaruba`, a powerful, sentient Madou Ring that acts as a guide and support tool in the *Garo* universe.
206
+
207
+ > *Madou Ring Zaruba (魔導輪ザルバ, Madōrin Zaruba) is a Madougu which supports bearers of the Garo Armor.* [(Garo Wiki | Fandom)](https://garo.fandom.com/wiki/Zaruba)
208
+
209
+ ![Madou Ring Zaruba on Kouga's Hand](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/madou-ring-zaruba.jpg)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zrb"
3
- version = "1.9.4"
3
+ version = "1.9.6"
4
4
  description = "Your Automation Powerhouse"
5
5
  authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
6
6
  license = "AGPL-3.0-or-later"
@@ -83,4 +83,3 @@ zrb = "zrb.__main__:serve_cli"
83
83
  [build-system]
84
84
  requires = ["poetry-core>=1.0.0"]
85
85
  build-backend = "poetry.core.masonry.api"
86
-
@@ -14,7 +14,7 @@ _LAZY_LOAD = {
14
14
  "CmdResult": "zrb.cmd.cmd_result",
15
15
  "Cmd": "zrb.cmd.cmd_val",
16
16
  "CmdPath": "zrb.cmd.cmd_val",
17
- "CFG": "zrb.config",
17
+ "CFG": "zrb.config.config",
18
18
  "AnyContentTransformer": "zrb.content_transformer.any_content_transformer",
19
19
  "ContentTransformer": "zrb.content_transformer.content_transformer",
20
20
  "AnyContext": "zrb.context.any_context",
@@ -36,10 +36,10 @@ _LAZY_LOAD = {
36
36
  "PasswordInput": "zrb.input.password_input",
37
37
  "StrInput": "zrb.input.str_input",
38
38
  "TextInput": "zrb.input.text_input",
39
- "llm_config": "zrb.llm_config",
40
- "llm_rate_limitter": "zrb.llm_rate_limitter",
39
+ "llm_config": "zrb.config.llm_config",
40
+ "llm_rate_limitter": "zrb.config.llm_rate_limitter",
41
41
  "cli": "zrb.runner.cli",
42
- "web_auth_config": "zrb.runner.web_auth_config",
42
+ "web_auth_config": "zrb.config.web_auth_config",
43
43
  "User": "zrb.runner.web_schema.user",
44
44
  "Session": "zrb.session.session",
45
45
  "AnyTask": "zrb.task.any_task",
@@ -74,7 +74,10 @@ if TYPE_CHECKING:
74
74
  from zrb.callback.callback import Callback
75
75
  from zrb.cmd.cmd_result import CmdResult
76
76
  from zrb.cmd.cmd_val import Cmd, CmdPath
77
- from zrb.config import CFG
77
+ from zrb.config.config import CFG
78
+ from zrb.config.llm_config import llm_config
79
+ from zrb.config.llm_rate_limitter import llm_rate_limitter
80
+ from zrb.config.web_auth_config import web_auth_config
78
81
  from zrb.content_transformer.any_content_transformer import AnyContentTransformer
79
82
  from zrb.content_transformer.content_transformer import ContentTransformer
80
83
  from zrb.context.any_context import AnyContext
@@ -96,10 +99,7 @@ if TYPE_CHECKING:
96
99
  from zrb.input.password_input import PasswordInput
97
100
  from zrb.input.str_input import StrInput
98
101
  from zrb.input.text_input import TextInput
99
- from zrb.llm_config import llm_config
100
- from zrb.llm_rate_limitter import llm_rate_limitter
101
102
  from zrb.runner.cli import cli
102
- from zrb.runner.web_auth_config import web_auth_config
103
103
  from zrb.runner.web_schema.user import User
104
104
  from zrb.session.session import Session
105
105
  from zrb.task.any_task import AnyTask
@@ -2,7 +2,7 @@ import logging
2
2
  import os
3
3
  import sys
4
4
 
5
- from zrb.config import CFG
5
+ from zrb.config.config import CFG
6
6
  from zrb.runner.cli import cli
7
7
  from zrb.util.cli.style import stylize_error, stylize_faint, stylize_warning
8
8
  from zrb.util.group import NodeNotFoundError
@@ -43,53 +43,3 @@ from zrb.builtin.uuid import (
43
43
  validate_uuid_v4,
44
44
  validate_uuid_v5,
45
45
  )
46
-
47
- assert create_project
48
- assert add_fastapp_to_project
49
- assert get_shell_subcommands
50
- assert make_bash_autocomplete
51
- assert make_zsh_autocomplete
52
- assert encode_base64
53
- assert decode_base64
54
- assert validate_base64
55
- assert encode_jwt
56
- assert decode_jwt
57
- assert validate_jwt
58
- assert llm_ask
59
- assert hash_md5
60
- assert sum_md5
61
- assert validate_md5
62
- assert get_git_diff
63
- assert prune_local_branches
64
- assert format_python_code
65
- assert git_commit
66
- assert git_pull
67
- assert git_push
68
- assert git_add_subtree
69
- assert git_pull_subtree
70
- assert git_push_subtree
71
- assert list_todo
72
- assert add_todo
73
- assert archive_todo
74
- assert edit_todo
75
- assert complete_todo
76
- assert log_todo
77
- assert show_todo
78
- assert throw_dice
79
- assert shuffle_values
80
- assert setup_ubuntu
81
- assert setup_latex_on_ubuntu
82
- assert setup_asdf
83
- assert setup_tmux
84
- assert setup_zsh
85
- assert validate_uuid
86
- assert validate_uuid_v1
87
- assert validate_uuid_v3
88
- assert validate_uuid_v4
89
- assert validate_uuid_v5
90
- assert generate_uuid_v1
91
- assert generate_uuid_v3
92
- assert generate_uuid_v4
93
- assert generate_uuid_v5
94
- assert http_request
95
- assert generate_curl
@@ -7,8 +7,8 @@ conversation flow via XCom.
7
7
 
8
8
  import asyncio
9
9
 
10
+ from zrb.config.llm_config import llm_config
10
11
  from zrb.context.any_context import AnyContext
11
- from zrb.llm_config import llm_config
12
12
  from zrb.util.cli.style import stylize_bold_yellow, stylize_faint
13
13
 
14
14
 
@@ -2,7 +2,7 @@ import json
2
2
  import os
3
3
  from typing import Any
4
4
 
5
- from zrb.config import CFG
5
+ from zrb.config.config import CFG
6
6
  from zrb.context.any_shared_context import AnySharedContext
7
7
  from zrb.task.llm.history import ConversationHistoryData
8
8
  from zrb.util.file import read_file, write_file
@@ -7,10 +7,10 @@ from zrb.builtin.llm.tool.cli import run_shell_command
7
7
  from zrb.builtin.llm.tool.code import analyze_repo
8
8
  from zrb.builtin.llm.tool.file import (
9
9
  analyze_file,
10
- apply_diff,
11
10
  list_files,
12
11
  read_from_file,
13
12
  read_many_files,
13
+ replace_in_file,
14
14
  search_files,
15
15
  write_many_files,
16
16
  write_to_file,
@@ -22,7 +22,7 @@ from zrb.builtin.llm.tool.web import (
22
22
  search_wikipedia,
23
23
  )
24
24
  from zrb.callback.callback import Callback
25
- from zrb.config import CFG
25
+ from zrb.config.config import CFG
26
26
  from zrb.input.bool_input import BoolInput
27
27
  from zrb.input.str_input import StrInput
28
28
  from zrb.input.text_input import TextInput
@@ -135,7 +135,7 @@ if CFG.LLM_ALLOW_ACCESS_LOCAL_FILE:
135
135
  list_files,
136
136
  read_from_file,
137
137
  read_many_files,
138
- apply_diff,
138
+ replace_in_file,
139
139
  write_to_file,
140
140
  write_many_files,
141
141
  )
@@ -3,11 +3,16 @@ from typing import Literal
3
3
 
4
4
 
5
5
  def get_current_location() -> str:
6
- """Get current location (latitude, longitude) based on IP address.
6
+ """
7
+ Fetches the user's current geographical location (latitude and longitude) based on their IP address.
8
+
9
+ Use this tool when the user asks "Where am I?", "What is my current location?", or has a query that requires knowing their location to be answered.
10
+
7
11
  Returns:
8
- str: JSON string representing latitude and longitude.
12
+ str: A JSON string containing the 'lat' and 'lon' of the current location.
13
+ Example: '{"lat": 48.8584, "lon": 2.2945}'
9
14
  Raises:
10
- requests.RequestException: If the API request fails.
15
+ requests.RequestException: If the API request to the location service fails.
11
16
  """
12
17
  import requests
13
18
 
@@ -24,15 +29,20 @@ def get_current_weather(
24
29
  longitude: float,
25
30
  temperature_unit: Literal["celsius", "fahrenheit"],
26
31
  ) -> str:
27
- """Get current weather for a specific location.
32
+ """
33
+ Retrieves the current weather conditions for a given geographical location.
34
+
35
+ Use this tool when the user asks about the weather. If the user does not provide a location, first use the `get_current_location` tool to determine their location.
36
+
28
37
  Args:
29
- latitude (float): Latitude coordinate.
30
- longitude (float): Longitude coordinate.
31
- temperature_unit (Literal["celsius", "fahrenheit"]): Temperature unit.
38
+ latitude (float): The latitude of the location.
39
+ longitude (float): The longitude of the location.
40
+ temperature_unit (Literal["celsius", "fahrenheit"]): The desired unit for the temperature reading.
41
+
32
42
  Returns:
33
- str: JSON string with weather data.
43
+ str: A JSON string containing detailed weather data, including temperature, wind speed, and weather code.
34
44
  Raises:
35
- requests.RequestException: If the API request fails.
45
+ requests.RequestException: If the API request to the weather service fails.
36
46
  """
37
47
  import requests
38
48