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.
- zrb-1.4.1/PKG-INFO +212 -0
- zrb-1.4.1/README.md +176 -0
- {zrb-1.3.1 → zrb-1.4.1}/pyproject.toml +2 -2
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/__init__.py +2 -0
- zrb-1.4.1/src/zrb/__main__.py +50 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/llm_chat.py +36 -44
- zrb-1.4.1/src/zrb/builtin/llm/tool/file.py +152 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/config.py +0 -1
- zrb-1.4.1/src/zrb/llm_config.py +50 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/cli.py +0 -2
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/llm_task.py +51 -12
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/load.py +0 -16
- zrb-1.3.1/PKG-INFO +0 -175
- zrb-1.3.1/README.md +0 -139
- zrb-1.3.1/src/zrb/__main__.py +0 -26
- zrb-1.3.1/src/zrb/builtin/llm/tool/file.py +0 -39
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/attr/type.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/git.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/group.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {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
- {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
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/python.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/random.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/callback/callback.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/any_context.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/context.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/any_env.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/env.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/env_file.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/env/env_map.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/group/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/group/any_group.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/group/group.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/any_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/base_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/float_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/int_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/option_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/password_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/str_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/input/text_input.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_config/config.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_config/config_factory.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session/any_session.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session/session.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/any_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/base_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/http_check.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/make_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/task.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/attr.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/cron.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/file.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/git.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/group.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/run.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/format.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/string/name.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/util/todo.py +0 -0
- {zrb-1.3.1 → zrb-1.4.1}/src/zrb/xcom/__init__.py +0 -0
- {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
|
+

|
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
|
+

|
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
|
+

|
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:** [](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://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
|
+

|
212
|
+
|
zrb-1.4.1/README.md
ADDED
@@ -0,0 +1,176 @@
|
|
1
|
+

|
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
|
+

|
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
|
+

|
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:** [](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://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
|
+

|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "zrb"
|
3
|
-
version = "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.
|
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
|
-
|
12
|
-
|
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
|
-
|
94
|
-
|
95
|
-
|
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=
|
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
|
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(
|
172
|
-
llm_chat.add_tool(
|
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
|
|