zrb 1.3.1__tar.gz → 1.4.1__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 (350) hide show
  1. zrb-1.4.1/PKG-INFO +212 -0
  2. zrb-1.4.1/README.md +176 -0
  3. {zrb-1.3.1 → zrb-1.4.1}/pyproject.toml +2 -2
  4. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/__init__.py +2 -0
  5. zrb-1.4.1/src/zrb/__main__.py +50 -0
  6. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/llm_chat.py +36 -44
  7. zrb-1.4.1/src/zrb/builtin/llm/tool/file.py +152 -0
  8. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/config.py +0 -1
  9. zrb-1.4.1/src/zrb/llm_config.py +50 -0
  10. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/cli.py +0 -2
  11. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/llm_task.py +51 -12
  12. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/load.py +0 -16
  13. zrb-1.3.1/PKG-INFO +0 -175
  14. zrb-1.3.1/README.md +0 -139
  15. zrb-1.3.1/src/zrb/__main__.py +0 -26
  16. zrb-1.3.1/src/zrb/builtin/llm/tool/file.py +0 -39
  17. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/attr/__init__.py +0 -0
  18. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/attr/type.py +0 -0
  19. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/__init__.py +0 -0
  20. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/base64.py +0 -0
  21. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/git.py +0 -0
  22. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/git_subtree.py +0 -0
  23. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/group.py +0 -0
  24. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/previous-session.js +0 -0
  25. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/api.py +0 -0
  26. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/cli.py +0 -0
  27. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/rag.py +0 -0
  28. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/web.py +0 -0
  29. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/md5.py +0 -0
  30. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/__init__.py +0 -0
  31. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
  32. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
  33. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
  34. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
  35. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
  36. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
  37. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
  38. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
  39. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
  40. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
  41. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
  42. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
  43. {zrb-1.3.1 → zrb-1.4.1}/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
  44. {zrb-1.3.1 → zrb-1.4.1}/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
  45. {zrb-1.3.1 → zrb-1.4.1}/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
  46. {zrb-1.3.1 → zrb-1.4.1}/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
  47. {zrb-1.3.1 → zrb-1.4.1}/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
  48. {zrb-1.3.1 → zrb-1.4.1}/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
  49. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
  50. {zrb-1.3.1 → zrb-1.4.1}/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
  51. {zrb-1.3.1 → zrb-1.4.1}/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
  52. {zrb-1.3.1 → zrb-1.4.1}/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
  53. {zrb-1.3.1 → zrb-1.4.1}/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
  54. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
  55. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
  56. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
  57. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
  58. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
  59. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
  60. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
  61. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
  62. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +0 -0
  63. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini +0 -0
  64. {zrb-1.3.1 → zrb-1.4.1}/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
  65. {zrb-1.3.1 → zrb-1.4.1}/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
  66. {zrb-1.3.1 → zrb-1.4.1}/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
  67. {zrb-1.3.1 → zrb-1.4.1}/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
  68. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README +0 -0
  69. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py +0 -0
  70. {zrb-1.3.1 → zrb-1.4.1}/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
  71. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep +0 -0
  72. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py +0 -0
  73. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +0 -0
  74. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py +0 -0
  75. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
  76. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
  77. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
  78. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
  79. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
  80. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
  81. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
  82. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
  83. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
  84. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
  85. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
  86. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
  87. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
  88. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
  89. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
  90. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
  91. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
  92. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
  93. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
  94. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
  95. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
  96. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
  97. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
  98. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
  99. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
  100. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
  101. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
  102. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
  103. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
  104. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
  105. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
  106. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
  107. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
  108. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
  109. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
  110. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
  111. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
  112. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
  113. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
  114. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
  115. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
  116. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
  117. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
  118. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
  119. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
  120. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
  121. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
  122. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
  123. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
  124. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
  125. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
  126. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
  127. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
  128. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
  129. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
  130. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
  131. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
  132. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
  133. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
  134. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
  135. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
  136. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
  137. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
  138. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
  139. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
  140. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
  141. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
  142. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
  143. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
  144. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
  145. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
  146. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
  147. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
  148. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
  149. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
  150. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
  151. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
  152. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
  153. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
  154. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
  155. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
  156. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +0 -0
  157. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +0 -0
  158. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +0 -0
  159. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +0 -0
  160. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +0 -0
  161. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +0 -0
  162. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +0 -0
  163. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +0 -0
  164. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +0 -0
  165. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
  166. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +0 -0
  167. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +0 -0
  168. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +0 -0
  169. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +0 -0
  170. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +0 -0
  171. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +0 -0
  172. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +0 -0
  173. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +0 -0
  174. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +0 -0
  175. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +0 -0
  176. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
  177. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
  178. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
  179. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
  180. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
  181. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
  182. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
  183. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
  184. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
  185. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
  186. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
  187. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
  188. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
  189. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
  190. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
  191. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
  192. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
  193. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
  194. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/__init__.py +0 -0
  195. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/project-template/README.md +0 -0
  196. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
  197. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/project_task.py +0 -0
  198. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/python.py +0 -0
  199. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/random.py +0 -0
  200. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
  201. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
  202. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/common_input.py +0 -0
  203. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
  204. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
  205. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
  206. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
  207. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/ubuntu.py +0 -0
  208. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
  209. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
  210. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
  211. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/__init__.py +0 -0
  212. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
  213. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
  214. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
  215. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
  216. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/todo.py +0 -0
  217. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/callback/__init__.py +0 -0
  218. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/callback/any_callback.py +0 -0
  219. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/callback/callback.py +0 -0
  220. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/cmd/__init__.py +0 -0
  221. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/cmd/cmd_result.py +0 -0
  222. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/cmd/cmd_val.py +0 -0
  223. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/content_transformer/__init__.py +0 -0
  224. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/content_transformer/any_content_transformer.py +0 -0
  225. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/content_transformer/content_transformer.py +0 -0
  226. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/__init__.py +0 -0
  227. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/any_context.py +0 -0
  228. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/any_shared_context.py +0 -0
  229. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/context.py +0 -0
  230. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/shared_context.py +0 -0
  231. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/dot_dict/__init__.py +0 -0
  232. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/dot_dict/dot_dict.py +0 -0
  233. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/__init__.py +0 -0
  234. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/any_env.py +0 -0
  235. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/env.py +0 -0
  236. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/env_file.py +0 -0
  237. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/env_map.py +0 -0
  238. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/group/__init__.py +0 -0
  239. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/group/any_group.py +0 -0
  240. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/group/group.py +0 -0
  241. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/__init__.py +0 -0
  242. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/any_input.py +0 -0
  243. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/base_input.py +0 -0
  244. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/bool_input.py +0 -0
  245. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/float_input.py +0 -0
  246. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/int_input.py +0 -0
  247. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/option_input.py +0 -0
  248. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/password_input.py +0 -0
  249. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/str_input.py +0 -0
  250. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/text_input.py +0 -0
  251. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/__init__.py +0 -0
  252. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/common_util.py +0 -0
  253. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_app.py +0 -0
  254. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_config/config.py +0 -0
  255. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_config/config_factory.py +0 -0
  256. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/__init__.py +0 -0
  257. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/docs_route.py +0 -0
  258. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
  259. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
  260. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/error_page/view.html +0 -0
  261. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
  262. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
  263. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/home_page/view.html +0 -0
  264. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/login_api_route.py +0 -0
  265. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
  266. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/login_page/view.html +0 -0
  267. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/logout_api_route.py +0 -0
  268. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
  269. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/logout_page/view.html +0 -0
  270. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
  271. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
  272. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
  273. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
  274. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
  275. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
  276. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
  277. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
  278. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/common.css +0 -0
  279. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
  280. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
  281. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
  282. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
  283. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
  284. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
  285. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
  286. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
  287. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/static_route.py +0 -0
  288. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
  289. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
  290. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_schema/session.py +0 -0
  291. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_schema/token.py +0 -0
  292. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_schema/user.py +0 -0
  293. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/cookie.py +0 -0
  294. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/html.py +0 -0
  295. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/token.py +0 -0
  296. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/user.py +0 -0
  297. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session/__init__.py +0 -0
  298. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session/any_session.py +0 -0
  299. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session/session.py +0 -0
  300. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_log/__init__.py +0 -0
  301. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_log/session_state_log.py +0 -0
  302. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/__init__.py +0 -0
  303. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
  304. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
  305. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
  306. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/__init__.py +0 -0
  307. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/any_task.py +0 -0
  308. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/base_task.py +0 -0
  309. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/base_trigger.py +0 -0
  310. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/cmd_task.py +0 -0
  311. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/http_check.py +0 -0
  312. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/make_task.py +0 -0
  313. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/rsync_task.py +0 -0
  314. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/scaffolder.py +0 -0
  315. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/scheduler.py +0 -0
  316. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/task.py +0 -0
  317. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/tcp_check.py +0 -0
  318. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task_status/__init__.py +0 -0
  319. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task_status/task_status.py +0 -0
  320. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/__init__.py +0 -0
  321. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/attr.py +0 -0
  322. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cli/__init__.py +0 -0
  323. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cli/style.py +0 -0
  324. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cli/subcommand.py +0 -0
  325. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cmd/__init__.py +0 -0
  326. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cmd/command.py +0 -0
  327. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cmd/remote.py +0 -0
  328. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/__init__.py +0 -0
  329. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modification_mode.py +0 -0
  330. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_class.py +0 -0
  331. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_class_parent.py +0 -0
  332. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_class_property.py +0 -0
  333. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_dict.py +0 -0
  334. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_function.py +0 -0
  335. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_function_call.py +0 -0
  336. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_method.py +0 -0
  337. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_module.py +0 -0
  338. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cron.py +0 -0
  339. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/file.py +0 -0
  340. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/git.py +0 -0
  341. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/git_subtree.py +0 -0
  342. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/group.py +0 -0
  343. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/run.py +0 -0
  344. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/__init__.py +0 -0
  345. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/conversion.py +0 -0
  346. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/format.py +0 -0
  347. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/name.py +0 -0
  348. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/todo.py +0 -0
  349. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/xcom/__init__.py +0 -0
  350. {zrb-1.3.1 → zrb-1.4.1}/src/zrb/xcom/xcom.py +0 -0
zrb-1.4.1/PKG-INFO ADDED
@@ -0,0 +1,212 @@
1
+ Metadata-Version: 2.1
2
+ Name: zrb
3
+ Version: 1.4.1
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: rag
17
+ Requires-Dist: autopep8 (>=2.0.4,<3.0.0)
18
+ Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
19
+ Requires-Dist: black (>=24.10.0,<24.11.0)
20
+ Requires-Dist: chromadb (>=0.5.20,<0.6.0) ; extra == "rag"
21
+ Requires-Dist: fastapi[standard] (>=0.115.6,<0.116.0)
22
+ Requires-Dist: fastembed (>=0.5.1,<0.6.0)
23
+ Requires-Dist: isort (>=5.13.2,<5.14.0)
24
+ Requires-Dist: libcst (>=1.5.0,<2.0.0)
25
+ Requires-Dist: pdfplumber (>=0.11.4,<0.12.0) ; extra == "rag"
26
+ Requires-Dist: psutil (>=6.1.1,<7.0.0)
27
+ Requires-Dist: pydantic-ai (>=0.0.42,<0.0.43)
28
+ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
29
+ Requires-Dist: python-jose[cryptography] (>=3.4.0,<4.0.0)
30
+ Requires-Dist: requests (>=2.32.3,<3.0.0)
31
+ Requires-Dist: ulid-py (>=1.1.0,<2.0.0)
32
+ Project-URL: Documentation, https://github.com/state-alchemists/zrb
33
+ Project-URL: Repository, https://github.com/state-alchemists/zrb
34
+ Description-Content-Type: text/markdown
35
+
36
+ ![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb/android-chrome-192x192.png)
37
+
38
+ [Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
39
+
40
+ # 🤖 Zrb: Your Automation Powerhouse
41
+
42
+
43
+ **Unlock the full potential of automation in your projects!**
44
+
45
+ Zrb streamlines repetitive tasks, integrates with powerful LLMs, and lets you create custom automation workflows effortlessly. Whether you’re building CI/CD pipelines, code generators, or unique automation scripts, Zrb is designed to simplify and supercharge your workflow.
46
+
47
+ ---
48
+
49
+ ## 🚀 Why Zrb?
50
+
51
+ - **Easy Automation with Python:** Write your tasks in Python and let Zrb handle the rest.
52
+ - **Seamless Integration:** Utilize built-in support for LLM tasks, command execution, and more.
53
+ - **Custom Workflows:** Chain tasks, set dependencies, and build robust automation pipelines.
54
+ - **Developer-Friendly:** Quick to install and get started, with clear documentation and examples.
55
+ - **Web Interface:** Run Zrb as a server to make tasks accessible even to non-technical team members.
56
+
57
+ ---
58
+
59
+ ## 🔥 Key Features
60
+
61
+ - **LLM Integration:** Leverage state-of-the-art language models to generate code, diagrams, and documentation.
62
+ - **Task Chaining:** Easily define dependencies between tasks to create complex workflows.
63
+ - **CLI & Server Mode:** Run tasks directly from the command line or through a user-friendly web UI.
64
+ - **Flexible Input Handling:** Defaults, prompts, and command-line parameters to suit any workflow.
65
+ - **Extensible & Open Source:** Contribute, customize, or extend Zrb to fit your unique needs.
66
+
67
+ ---
68
+
69
+ ## 🛠️ Getting Started
70
+
71
+ ### Quick Installation
72
+
73
+ Install Zrb via pip:
74
+
75
+ ```bash
76
+ pip install zrb
77
+
78
+ ```
79
+
80
+ Or run our installation script to set up Zrb along with all prerequisites:
81
+
82
+ ```bash
83
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
84
+
85
+ ```
86
+
87
+ ### Your First Task
88
+
89
+ Create a file at `/home/<your-user-name>/zrb_init.py` with the following content:
90
+
91
+
92
+ ```python
93
+ import os
94
+ from zrb import cli, llm_config, LLMTask, CmdTask, StrInput, Group
95
+ from zrb.builtin.llm.tool.file import read_all_files, write_text_file
96
+
97
+ CURRENT_DIR = os.getcwd()
98
+
99
+ # Make UML group
100
+ uml_group = cli.add_group(Group(name="uml", description="UML related tasks"))
101
+
102
+ # Generate UML script
103
+ make_uml_script = uml_group.add_task(
104
+ LLMTask(
105
+ name="make-script",
106
+ description="Creating plantuml diagram based on source code in current directory",
107
+ input=StrInput(name="diagram", default="state diagram"),
108
+ message=(
109
+ f"Read source code in {CURRENT_DIR}, "
110
+ "make a {ctx.input.diagram} in plantuml format. "
111
+ f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
112
+ ),
113
+ tools=[
114
+ read_all_files,
115
+ write_text_file,
116
+ ],
117
+ )
118
+ )
119
+
120
+ # Defining a Cmd Task to transform Plantuml script into a png image.
121
+ make_uml_image = uml_group.add_task(
122
+ CmdTask(
123
+ name="make-image",
124
+ description="Creating png based on source code in current directory",
125
+ input=StrInput(name="diagram", default="state diagram"),
126
+ cmd="plantuml -tpng '{ctx.input.diagram}.uml'",
127
+ cwd=CURRENT_DIR,
128
+ )
129
+ )
130
+
131
+ # Making sure that make_png has make_uml as its dependency.
132
+ make_uml_script >> make_uml_image
133
+ ```
134
+
135
+ You have just define two automation tasks.
136
+
137
+ The first one use LLM to read files in your current directory and create a `PlantUML script` on that directory.
138
+
139
+ The second task turn the PlantUML script into a `*.png` file. The second task depends on the first task and both of them are located under the same group.
140
+
141
+ You can run the tasks by invoking `zrb uml make-script` or `zrb uml make-image` respectively.
142
+
143
+ When you run zrb, it automatically searches for a file named `zrb_init.py` starting from your current directory and moving upward through its parent directories. This design lets you set up common automation tasks in a central location—like placing a `zrb_init.py` in your home directory (`/home/<your-user>/zrb_init.py`)—so that your tasks are available across all your projects.
144
+
145
+ Now, go to your project and create a state diagram:
146
+
147
+ ```bash
148
+ git clone git@github.com:jjinux/gotetris.git
149
+ cd gotetris
150
+ zrb uml make-image --diagram "state diagram"
151
+ ```
152
+
153
+ You can also invoke the task without specifying parameter.
154
+
155
+ ```bash
156
+ zrb uml make-image
157
+ ```
158
+
159
+ Once you do so, Zrb will ask you to provide the diagram type.
160
+
161
+ ```
162
+ diagram [state diagram]:
163
+ ```
164
+
165
+ You can just press enter if you want to use the default value (i.e., in this case `state diagram`).
166
+
167
+ Finally, you can also serve the tasks via a Web UI interface by invoking the following command:
168
+
169
+ ```bash
170
+ zrb server start
171
+ ```
172
+
173
+ You will have a nice web interface running on `http://localhost:12123`
174
+
175
+ ![Zrb Web UI](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb-web-ui.png)
176
+
177
+ Now, let's see how things work in detail. First, Zrb generates a `state diagram.uml` in your current directory, it then transform the UML script into a PNG image `state diagram.png`.
178
+
179
+ ![State Diagram](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/state-diagram.png)
180
+
181
+
182
+ # 🎥 Demo & Documentation
183
+
184
+ - **Step by step guide:** [Getting started with Zrb](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md).
185
+ - **Full documentation:** [Zrb Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
186
+ - **Video demo:** [![Video Title](https://img.youtube.com/vi/W7dgk96l__o/0.jpg)](https://www.youtube.com/watch?v=W7dgk96l__o)
187
+
188
+
189
+ # 🤝 Join the Community
190
+
191
+ - **Bug Reports & Feature Requests:** Create an [issue](https://github.com/state-alchemists/zrb/issues) on Zrb's GitHub Repositories and include:
192
+ - Your Zrb version (i.e., `zrb version`).
193
+ - Steps you’ve taken and what you expected versus what happened
194
+ - **Contributions:** We welcome pull requests! Check out our [contribution guidelines](https://github.com/state-alchemists/zrb/pulls).
195
+
196
+
197
+ # ☕ Support The Project
198
+
199
+ If you find Zrb valuable, please consider donating:
200
+
201
+ [![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/donator.png)](https://stalchmst.com/donation)
202
+
203
+ # 🎉 Fun Fact
204
+
205
+ Did you know?
206
+
207
+ Zrb is named after `Zaruba`, a powerful support tool from the Garo universe!
208
+
209
+ > 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)
210
+
211
+ ![Madou Ring Zaruba on Kouga's Hand](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/madou-ring-zaruba.jpg)
212
+
zrb-1.4.1/README.md ADDED
@@ -0,0 +1,176 @@
1
+ ![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb/android-chrome-192x192.png)
2
+
3
+ [Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
4
+
5
+ # 🤖 Zrb: Your Automation Powerhouse
6
+
7
+
8
+ **Unlock the full potential of automation in your projects!**
9
+
10
+ Zrb streamlines repetitive tasks, integrates with powerful LLMs, and lets you create custom automation workflows effortlessly. Whether you’re building CI/CD pipelines, code generators, or unique automation scripts, Zrb is designed to simplify and supercharge your workflow.
11
+
12
+ ---
13
+
14
+ ## 🚀 Why Zrb?
15
+
16
+ - **Easy Automation with Python:** Write your tasks in Python and let Zrb handle the rest.
17
+ - **Seamless Integration:** Utilize built-in support for LLM tasks, command execution, and more.
18
+ - **Custom Workflows:** Chain tasks, set dependencies, and build robust automation pipelines.
19
+ - **Developer-Friendly:** Quick to install and get started, with clear documentation and examples.
20
+ - **Web Interface:** Run Zrb as a server to make tasks accessible even to non-technical team members.
21
+
22
+ ---
23
+
24
+ ## 🔥 Key Features
25
+
26
+ - **LLM Integration:** Leverage state-of-the-art language models to generate code, diagrams, and documentation.
27
+ - **Task Chaining:** Easily define dependencies between tasks to create complex workflows.
28
+ - **CLI & Server Mode:** Run tasks directly from the command line or through a user-friendly web UI.
29
+ - **Flexible Input Handling:** Defaults, prompts, and command-line parameters to suit any workflow.
30
+ - **Extensible & Open Source:** Contribute, customize, or extend Zrb to fit your unique needs.
31
+
32
+ ---
33
+
34
+ ## 🛠️ Getting Started
35
+
36
+ ### Quick Installation
37
+
38
+ Install Zrb via pip:
39
+
40
+ ```bash
41
+ pip install zrb
42
+
43
+ ```
44
+
45
+ Or run our installation script to set up Zrb along with all prerequisites:
46
+
47
+ ```bash
48
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
49
+
50
+ ```
51
+
52
+ ### Your First Task
53
+
54
+ Create a file at `/home/<your-user-name>/zrb_init.py` with the following content:
55
+
56
+
57
+ ```python
58
+ import os
59
+ from zrb import cli, llm_config, LLMTask, CmdTask, StrInput, Group
60
+ from zrb.builtin.llm.tool.file import read_all_files, write_text_file
61
+
62
+ CURRENT_DIR = os.getcwd()
63
+
64
+ # Make UML group
65
+ uml_group = cli.add_group(Group(name="uml", description="UML related tasks"))
66
+
67
+ # Generate UML script
68
+ make_uml_script = uml_group.add_task(
69
+ LLMTask(
70
+ name="make-script",
71
+ description="Creating plantuml diagram based on source code in current directory",
72
+ input=StrInput(name="diagram", default="state diagram"),
73
+ message=(
74
+ f"Read source code in {CURRENT_DIR}, "
75
+ "make a {ctx.input.diagram} in plantuml format. "
76
+ f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
77
+ ),
78
+ tools=[
79
+ read_all_files,
80
+ write_text_file,
81
+ ],
82
+ )
83
+ )
84
+
85
+ # Defining a Cmd Task to transform Plantuml script into a png image.
86
+ make_uml_image = uml_group.add_task(
87
+ CmdTask(
88
+ name="make-image",
89
+ description="Creating png based on source code in current directory",
90
+ input=StrInput(name="diagram", default="state diagram"),
91
+ cmd="plantuml -tpng '{ctx.input.diagram}.uml'",
92
+ cwd=CURRENT_DIR,
93
+ )
94
+ )
95
+
96
+ # Making sure that make_png has make_uml as its dependency.
97
+ make_uml_script >> make_uml_image
98
+ ```
99
+
100
+ You have just define two automation tasks.
101
+
102
+ The first one use LLM to read files in your current directory and create a `PlantUML script` on that directory.
103
+
104
+ The second task turn the PlantUML script into a `*.png` file. The second task depends on the first task and both of them are located under the same group.
105
+
106
+ You can run the tasks by invoking `zrb uml make-script` or `zrb uml make-image` respectively.
107
+
108
+ When you run zrb, it automatically searches for a file named `zrb_init.py` starting from your current directory and moving upward through its parent directories. This design lets you set up common automation tasks in a central location—like placing a `zrb_init.py` in your home directory (`/home/<your-user>/zrb_init.py`)—so that your tasks are available across all your projects.
109
+
110
+ Now, go to your project and create a state diagram:
111
+
112
+ ```bash
113
+ git clone git@github.com:jjinux/gotetris.git
114
+ cd gotetris
115
+ zrb uml make-image --diagram "state diagram"
116
+ ```
117
+
118
+ You can also invoke the task without specifying parameter.
119
+
120
+ ```bash
121
+ zrb uml make-image
122
+ ```
123
+
124
+ Once you do so, Zrb will ask you to provide the diagram type.
125
+
126
+ ```
127
+ diagram [state diagram]:
128
+ ```
129
+
130
+ You can just press enter if you want to use the default value (i.e., in this case `state diagram`).
131
+
132
+ Finally, you can also serve the tasks via a Web UI interface by invoking the following command:
133
+
134
+ ```bash
135
+ zrb server start
136
+ ```
137
+
138
+ You will have a nice web interface running on `http://localhost:12123`
139
+
140
+ ![Zrb Web UI](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb-web-ui.png)
141
+
142
+ Now, let's see how things work in detail. First, Zrb generates a `state diagram.uml` in your current directory, it then transform the UML script into a PNG image `state diagram.png`.
143
+
144
+ ![State Diagram](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/state-diagram.png)
145
+
146
+
147
+ # 🎥 Demo & Documentation
148
+
149
+ - **Step by step guide:** [Getting started with Zrb](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md).
150
+ - **Full documentation:** [Zrb Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
151
+ - **Video demo:** [![Video Title](https://img.youtube.com/vi/W7dgk96l__o/0.jpg)](https://www.youtube.com/watch?v=W7dgk96l__o)
152
+
153
+
154
+ # 🤝 Join the Community
155
+
156
+ - **Bug Reports & Feature Requests:** Create an [issue](https://github.com/state-alchemists/zrb/issues) on Zrb's GitHub Repositories and include:
157
+ - Your Zrb version (i.e., `zrb version`).
158
+ - Steps you’ve taken and what you expected versus what happened
159
+ - **Contributions:** We welcome pull requests! Check out our [contribution guidelines](https://github.com/state-alchemists/zrb/pulls).
160
+
161
+
162
+ # ☕ Support The Project
163
+
164
+ If you find Zrb valuable, please consider donating:
165
+
166
+ [![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/donator.png)](https://stalchmst.com/donation)
167
+
168
+ # 🎉 Fun Fact
169
+
170
+ Did you know?
171
+
172
+ Zrb is named after `Zaruba`, a powerful support tool from the Garo universe!
173
+
174
+ > 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)
175
+
176
+ ![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.3.1"
3
+ version = "1.4.1"
4
4
  description = "Your Automation Powerhouse"
5
5
  authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
6
6
  license = "AGPL-3.0-or-later"
@@ -50,7 +50,7 @@ beautifulsoup4 = "^4.12.3"
50
50
  fastapi = {extras = ["standard"], version = "^0.115.6"}
51
51
  python-jose = {extras = ["cryptography"], version = "^3.4.0"}
52
52
  ulid-py = "^1.1.0"
53
- pydantic-ai = "^0.0.31"
53
+ pydantic-ai = "^0.0.42"
54
54
  fastembed = "^0.5.1"
55
55
  psutil = "^6.1.1"
56
56
 
@@ -33,6 +33,7 @@ from zrb.input.option_input import OptionInput
33
33
  from zrb.input.password_input import PasswordInput
34
34
  from zrb.input.str_input import StrInput
35
35
  from zrb.input.text_input import TextInput
36
+ from zrb.llm_config import llm_config
36
37
  from zrb.runner.cli import cli
37
38
  from zrb.runner.web_config.config_factory import web_config
38
39
  from zrb.runner.web_schema.user import User
@@ -101,6 +102,7 @@ assert ContentTransformer
101
102
  assert Scaffolder
102
103
  assert Scheduler
103
104
  assert cli
105
+ assert llm_config
104
106
  assert Xcom
105
107
  assert web_config
106
108
  assert User
@@ -0,0 +1,50 @@
1
+ import os
2
+ import sys
3
+
4
+ from zrb.config import INIT_MODULES, INIT_SCRIPTS
5
+ from zrb.runner.cli import cli
6
+ from zrb.util.cli.style import stylize_error, stylize_warning
7
+ from zrb.util.group import NodeNotFoundError
8
+ from zrb.util.load import load_file, load_module
9
+
10
+
11
+ def serve_cli():
12
+ try:
13
+ # load init modules
14
+ for init_module in INIT_MODULES:
15
+ load_module(init_module)
16
+ zrb_init_path_list = _get_zrb_init_path_list()
17
+ # load init scripts
18
+ for init_script in INIT_SCRIPTS:
19
+ abs_init_script = os.path.abspath(init_script)
20
+ if abs_init_script not in zrb_init_path_list:
21
+ load_file(abs_init_script, -1)
22
+ # load zrb init
23
+ for zrb_init_path in zrb_init_path_list:
24
+ load_file(zrb_init_path)
25
+ # run the CLI
26
+ cli.run(sys.argv[1:])
27
+ except KeyboardInterrupt:
28
+ print(stylize_warning("\nStopped"), file=sys.stderr)
29
+ sys.exit(1)
30
+ except RuntimeError as e:
31
+ if f"{e}".lower() != "event loop is closed":
32
+ raise e
33
+ sys.exit(1)
34
+ except NodeNotFoundError as e:
35
+ print(stylize_error(f"{e}"), file=sys.stderr)
36
+ sys.exit(1)
37
+
38
+
39
+ def _get_zrb_init_path_list() -> list[str]:
40
+ current_path = os.path.abspath(os.getcwd())
41
+ dir_path_list = [current_path]
42
+ while current_path != os.path.dirname(current_path): # Stop at root
43
+ current_path = os.path.dirname(current_path)
44
+ dir_path_list.append(current_path)
45
+ zrb_init_path_list = []
46
+ for current_path in dir_path_list[::-1]:
47
+ zrb_init_path = os.path.join(current_path, "zrb_init.py")
48
+ if os.path.isfile(zrb_init_path):
49
+ zrb_init_path_list.append(zrb_init_path)
50
+ return zrb_init_path_list
@@ -2,14 +2,12 @@ import json
2
2
  import os
3
3
  from typing import Any
4
4
 
5
- from pydantic_ai.models import Model
6
-
7
5
  from zrb.builtin.group import llm_group
8
6
  from zrb.builtin.llm.tool.api import get_current_location, get_current_weather
9
7
  from zrb.builtin.llm.tool.cli import run_shell_command
10
8
  from zrb.builtin.llm.tool.file import (
11
- list_file,
12
- read_source_code,
9
+ list_files,
10
+ read_all_files,
13
11
  read_text_file,
14
12
  write_text_file,
15
13
  )
@@ -24,18 +22,14 @@ from zrb.config import (
24
22
  LLM_ALLOW_ACCESS_LOCAL_FILE,
25
23
  LLM_ALLOW_ACCESS_SHELL,
26
24
  LLM_HISTORY_DIR,
27
- LLM_MODEL,
28
25
  LLM_SYSTEM_PROMPT,
29
26
  SERP_API_KEY,
30
27
  )
31
- from zrb.context.any_context import AnyContext
32
28
  from zrb.context.any_shared_context import AnySharedContext
33
- from zrb.input.any_input import AnyInput
34
29
  from zrb.input.bool_input import BoolInput
35
30
  from zrb.input.str_input import StrInput
36
31
  from zrb.input.text_input import TextInput
37
32
  from zrb.task.llm_task import LLMTask
38
- from zrb.util.attr import get_attr
39
33
  from zrb.util.file import read_file, write_file
40
34
  from zrb.util.string.conversion import to_pascal_case
41
35
 
@@ -90,46 +84,37 @@ def _write_chat_conversation(
90
84
  write_file(last_session_file_path, current_session_name)
91
85
 
92
86
 
93
- class _LLMChat(LLMTask):
94
-
95
- _default_model: Model | str | None = None
96
-
97
- def set_default_model(self, model: Model | str):
98
- self._default_model = model
99
-
100
- @property
101
- def inputs(self) -> list[AnyInput]:
102
- task_inputs = super().inputs
103
- model_input_default = LLM_MODEL if self._default_model is None else "default"
104
- return [
87
+ llm_chat: LLMTask = llm_group.add_task(
88
+ LLMTask(
89
+ name="llm-chat",
90
+ input=[
105
91
  StrInput(
106
92
  "model",
107
93
  description="LLM Model",
108
94
  prompt="LLM Model",
109
- default=model_input_default,
95
+ default="",
110
96
  allow_positional_parsing=False,
111
97
  always_prompt=False,
98
+ allow_empty=True,
99
+ ),
100
+ StrInput(
101
+ "base-url",
102
+ description="LLM API Base URL",
103
+ prompt="LLM API Base URL",
104
+ default="",
105
+ allow_positional_parsing=False,
106
+ always_prompt=False,
107
+ allow_empty=True,
108
+ ),
109
+ StrInput(
110
+ "api-key",
111
+ description="LLM API Key",
112
+ prompt="LLM API Key",
113
+ default="",
114
+ allow_positional_parsing=False,
115
+ always_prompt=False,
116
+ allow_empty=True,
112
117
  ),
113
- *task_inputs,
114
- ]
115
-
116
- def _get_model(self, ctx: AnyContext) -> str | Model | None:
117
- if ctx.input.model == "default":
118
- if self._default_model is not None:
119
- return self._default_model
120
- return super()._get_model(ctx)
121
- model = get_attr(
122
- ctx, ctx.input.model, "ollama_chat/llama3.1", auto_render=self._render_model
123
- )
124
- if isinstance(model, (Model, str)) or model is None:
125
- return model
126
- raise ValueError("Invalid model")
127
-
128
-
129
- llm_chat: LLMTask = llm_group.add_task(
130
- _LLMChat(
131
- name="llm-chat",
132
- input=[
133
118
  TextInput(
134
119
  "system-prompt",
135
120
  description="System prompt",
@@ -156,10 +141,17 @@ llm_chat: LLMTask = llm_group.add_task(
156
141
  always_prompt=False,
157
142
  ),
158
143
  ],
144
+ model=lambda ctx: None if ctx.input.model == "" else ctx.input.model,
145
+ model_base_url=lambda ctx: (
146
+ None if ctx.input.base_url == "" else ctx.input.base_url
147
+ ),
148
+ model_api_key=lambda ctx: (
149
+ None if ctx.input.api_key == "" else ctx.input.api_key
150
+ ),
159
151
  conversation_history_reader=_read_chat_conversation,
160
152
  conversation_history_writer=_write_chat_conversation,
161
153
  description="Chat with LLM",
162
- system_prompt="{ctx.input['system-prompt']}",
154
+ system_prompt="{ctx.input.system_prompt}",
163
155
  message="{ctx.input.message}",
164
156
  retries=0,
165
157
  ),
@@ -168,8 +160,8 @@ llm_chat: LLMTask = llm_group.add_task(
168
160
 
169
161
 
170
162
  if LLM_ALLOW_ACCESS_LOCAL_FILE:
171
- llm_chat.add_tool(read_source_code)
172
- llm_chat.add_tool(list_file)
163
+ llm_chat.add_tool(read_all_files)
164
+ llm_chat.add_tool(list_files)
173
165
  llm_chat.add_tool(read_text_file)
174
166
  llm_chat.add_tool(write_text_file)
175
167