zrb 1.4.0__tar.gz → 1.4.2__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.0 → zrb-1.4.2}/PKG-INFO +78 -47
- zrb-1.4.2/README.md +172 -0
- {zrb-1.4.0 → zrb-1.4.2}/pyproject.toml +1 -1
- zrb-1.4.2/src/zrb/__main__.py +50 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/llm/llm_chat.py +7 -6
- zrb-1.4.2/src/zrb/builtin/llm/tool/file.py +152 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/config.py +0 -9
- zrb-1.4.2/src/zrb/llm_config.py +95 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/cli.py +0 -2
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/llm_task.py +9 -7
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/load.py +0 -16
- zrb-1.4.0/README.md +0 -141
- zrb-1.4.0/src/zrb/__main__.py +0 -26
- zrb-1.4.0/src/zrb/builtin/llm/tool/file.py +0 -76
- zrb-1.4.0/src/zrb/llm_config.py +0 -50
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/attr/type.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/git.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/group.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/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.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/python.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/random.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/callback/callback.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/context/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/context/any_context.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/context/context.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/env/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/env/any_env.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/env/env.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/env/env_file.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/env/env_map.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/group/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/group/any_group.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/group/group.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/any_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/base_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/float_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/int_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/option_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/password_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/str_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/input/text_input.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_config/config.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_config/config_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session/any_session.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session/session.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/any_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/base_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/http_check.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/make_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/task.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/attr.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/cron.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/file.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/git.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/group.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/run.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/string/format.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/string/name.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/util/todo.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.4.0 → zrb-1.4.2}/src/zrb/xcom/xcom.py +0 -0
{zrb-1.4.0 → zrb-1.4.2}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.2
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -39,29 +39,58 @@ Description-Content-Type: text/markdown
|
|
39
39
|
|
40
40
|
# 🤖 Zrb: Your Automation Powerhouse
|
41
41
|
|
42
|
-
|
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
|
+
## 🚀 Why Zrb?
|
49
|
+
|
50
|
+
- **Easy Automation with Python:** Write your tasks in Python and let Zrb handle the rest.
|
51
|
+
- **Seamless Integration:** Utilize built-in support for LLM tasks, command execution, and more.
|
52
|
+
- **Custom Workflows:** Chain tasks, set dependencies, and build robust automation pipelines.
|
53
|
+
- **Developer-Friendly:** Quick to install and get started, with clear documentation and examples.
|
54
|
+
- **Web Interface:** Run Zrb as a server to make tasks accessible even to non-technical team members.
|
55
|
+
|
56
|
+
|
57
|
+
## 🔥 Key Features
|
58
|
+
|
59
|
+
- **LLM Integration:** Leverage state-of-the-art language models to generate code, diagrams, and documentation.
|
60
|
+
- **Task Chaining:** Easily define dependencies between tasks to create complex workflows.
|
61
|
+
- **CLI & Server Mode:** Run tasks directly from the command line or through a user-friendly web UI.
|
62
|
+
- **Flexible Input Handling:** Defaults, prompts, and command-line parameters to suit any workflow.
|
63
|
+
- **Extensible & Open Source:** Contribute, customize, or extend Zrb to fit your unique needs.
|
64
|
+
|
65
|
+
|
66
|
+
# 🛠️ Installation
|
67
|
+
|
68
|
+
Install Zrb via pip:
|
69
|
+
|
70
|
+
```bash
|
71
|
+
pip install zrb
|
72
|
+
|
73
|
+
```
|
74
|
+
|
75
|
+
Or run our installation script to set up Zrb along with all prerequisites:
|
76
|
+
|
77
|
+
```bash
|
78
|
+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
|
79
|
+
|
80
|
+
```
|
81
|
+
|
82
|
+
# 🍲 Quick Start
|
83
|
+
|
84
|
+
Create a file at `/home/<your-user-name>/zrb_init.py` with the following content:
|
43
85
|
|
44
86
|
|
45
87
|
```python
|
46
88
|
import os
|
47
89
|
from zrb import cli, llm_config, LLMTask, CmdTask, StrInput, Group
|
48
90
|
from zrb.builtin.llm.tool.file import read_all_files, write_text_file
|
49
|
-
from pydantic_ai.models.openai import OpenAIModel
|
50
|
-
from pydantic_ai.providers.openai import OpenAIProvider
|
51
91
|
|
52
92
|
CURRENT_DIR = os.getcwd()
|
53
93
|
|
54
|
-
# Setup default LLM Config
|
55
|
-
llm_config.set_default_model(
|
56
|
-
OpenAIModel(
|
57
|
-
model_name="gpt-4o",
|
58
|
-
provider=OpenAIProvider(
|
59
|
-
base_url="https://openrouter.ai/api/v1",
|
60
|
-
api_key=os.getenv("OPENROUTER_API_KEY", "")
|
61
|
-
)
|
62
|
-
)
|
63
|
-
)
|
64
|
-
|
65
94
|
# Make UML group
|
66
95
|
uml_group = cli.add_group(Group(name="uml", description="UML related tasks"))
|
67
96
|
|
@@ -98,27 +127,39 @@ make_uml_image = uml_group.add_task(
|
|
98
127
|
make_uml_script >> make_uml_image
|
99
128
|
```
|
100
129
|
|
101
|
-
|
130
|
+
You have just define two automation tasks.
|
131
|
+
|
132
|
+
The first one use LLM to read files in your current directory and create a `PlantUML script` on that directory.
|
133
|
+
|
134
|
+
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.
|
135
|
+
|
136
|
+
You can run the tasks by invoking `zrb uml make-script` or `zrb uml make-image` respectively.
|
137
|
+
|
138
|
+
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.
|
139
|
+
|
140
|
+
Now, go to your project and create a state diagram:
|
102
141
|
|
103
142
|
```bash
|
143
|
+
git clone git@github.com:jjinux/gotetris.git
|
144
|
+
cd gotetris
|
104
145
|
zrb uml make-image --diagram "state diagram"
|
105
146
|
```
|
106
147
|
|
107
|
-
|
148
|
+
You can also invoke the task without specifying parameter.
|
108
149
|
|
109
150
|
```bash
|
110
151
|
zrb uml make-image
|
111
152
|
```
|
112
153
|
|
113
|
-
|
154
|
+
Once you do so, Zrb will ask you to provide the diagram type.
|
114
155
|
|
115
156
|
```
|
116
157
|
diagram [state diagram]:
|
117
158
|
```
|
118
159
|
|
119
|
-
You can just press enter if you want to use the default value.
|
160
|
+
You can just press enter if you want to use the default value (i.e., in this case `state diagram`).
|
120
161
|
|
121
|
-
Finally, you can
|
162
|
+
Finally, you can also serve the tasks via a Web UI interface by invoking the following command:
|
122
163
|
|
123
164
|
```bash
|
124
165
|
zrb server start
|
@@ -128,49 +169,39 @@ You will have a nice web interface running on `http://localhost:12123`
|
|
128
169
|
|
129
170
|

|
130
171
|
|
131
|
-
Now, let's see how
|
172
|
+
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`.
|
132
173
|
|
133
174
|

|
134
175
|
|
135
|
-
See the [getting started guide](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md) for more information. Or just watch the demo:
|
136
|
-
|
137
|
-
[](https://www.youtube.com/watch?v=W7dgk96l__o)
|
138
|
-
|
139
176
|
|
140
|
-
#
|
177
|
+
# 🎥 Demo & Documentation
|
141
178
|
|
142
|
-
|
179
|
+
- **Step by step guide:** [Getting started with Zrb](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md).
|
180
|
+
- **Full documentation:** [Zrb Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
|
181
|
+
- **Video demo:**
|
182
|
+
[](https://www.youtube.com/watch?v=W7dgk96l__o)
|
143
183
|
|
144
|
-
```bash
|
145
|
-
pip install --pre zrb
|
146
|
-
```
|
147
|
-
|
148
|
-
Alternatively, you can also use our installation script to install Zrb along with some prerequisites:
|
149
184
|
|
150
|
-
|
151
|
-
bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
|
152
|
-
```
|
185
|
+
# 🤝 Join the Community
|
153
186
|
|
154
|
-
|
187
|
+
- **Bug Reports & Feature Requests:** Create an [issue](https://github.com/state-alchemists/zrb/issues) on Zrb's GitHub Repositories and include:
|
188
|
+
- Your Zrb version (i.e., `zrb version`).
|
189
|
+
- Steps you’ve taken and what you expected versus what happened
|
190
|
+
- **Contributions:** We welcome pull requests! Check out our [contribution guidelines](https://github.com/state-alchemists/zrb/pulls).
|
155
191
|
|
156
|
-
You can submit bug reports and feature requests by creating a new [issue](https://github.com/state-alchemists/zrb/issues) on Zrb's GitHub Repositories. When reporting a bug or requesting a feature, please be sure to:
|
157
192
|
|
158
|
-
|
159
|
-
- Tell us what you have tried
|
160
|
-
- Tell us what you expect
|
161
|
-
- Tell us what you get
|
193
|
+
# ☕ Support The Project
|
162
194
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
# ☕ Donation
|
167
|
-
|
168
|
-
Help Red Skull to click the donation button:
|
195
|
+
If you find Zrb valuable, please consider donating:
|
169
196
|
|
170
197
|
[](https://stalchmst.com/donation)
|
171
198
|
|
172
199
|
# 🎉 Fun Fact
|
173
200
|
|
201
|
+
Did you know?
|
202
|
+
|
203
|
+
Zrb is named after `Zaruba`, a powerful support tool from the Garo universe!
|
204
|
+
|
174
205
|
> 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
206
|
|
176
207
|

|
zrb-1.4.2/README.md
ADDED
@@ -0,0 +1,172 @@
|
|
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
|
+
## 🚀 Why Zrb?
|
14
|
+
|
15
|
+
- **Easy Automation with Python:** Write your tasks in Python and let Zrb handle the rest.
|
16
|
+
- **Seamless Integration:** Utilize built-in support for LLM tasks, command execution, and more.
|
17
|
+
- **Custom Workflows:** Chain tasks, set dependencies, and build robust automation pipelines.
|
18
|
+
- **Developer-Friendly:** Quick to install and get started, with clear documentation and examples.
|
19
|
+
- **Web Interface:** Run Zrb as a server to make tasks accessible even to non-technical team members.
|
20
|
+
|
21
|
+
|
22
|
+
## 🔥 Key Features
|
23
|
+
|
24
|
+
- **LLM Integration:** Leverage state-of-the-art language models to generate code, diagrams, and documentation.
|
25
|
+
- **Task Chaining:** Easily define dependencies between tasks to create complex workflows.
|
26
|
+
- **CLI & Server Mode:** Run tasks directly from the command line or through a user-friendly web UI.
|
27
|
+
- **Flexible Input Handling:** Defaults, prompts, and command-line parameters to suit any workflow.
|
28
|
+
- **Extensible & Open Source:** Contribute, customize, or extend Zrb to fit your unique needs.
|
29
|
+
|
30
|
+
|
31
|
+
# 🛠️ Installation
|
32
|
+
|
33
|
+
Install Zrb via pip:
|
34
|
+
|
35
|
+
```bash
|
36
|
+
pip install zrb
|
37
|
+
|
38
|
+
```
|
39
|
+
|
40
|
+
Or run our installation script to set up Zrb along with all prerequisites:
|
41
|
+
|
42
|
+
```bash
|
43
|
+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
|
44
|
+
|
45
|
+
```
|
46
|
+
|
47
|
+
# 🍲 Quick Start
|
48
|
+
|
49
|
+
Create a file at `/home/<your-user-name>/zrb_init.py` with the following content:
|
50
|
+
|
51
|
+
|
52
|
+
```python
|
53
|
+
import os
|
54
|
+
from zrb import cli, llm_config, LLMTask, CmdTask, StrInput, Group
|
55
|
+
from zrb.builtin.llm.tool.file import read_all_files, write_text_file
|
56
|
+
|
57
|
+
CURRENT_DIR = os.getcwd()
|
58
|
+
|
59
|
+
# Make UML group
|
60
|
+
uml_group = cli.add_group(Group(name="uml", description="UML related tasks"))
|
61
|
+
|
62
|
+
# Generate UML script
|
63
|
+
make_uml_script = uml_group.add_task(
|
64
|
+
LLMTask(
|
65
|
+
name="make-script",
|
66
|
+
description="Creating plantuml diagram based on source code in current directory",
|
67
|
+
input=StrInput(name="diagram", default="state diagram"),
|
68
|
+
message=(
|
69
|
+
f"Read source code in {CURRENT_DIR}, "
|
70
|
+
"make a {ctx.input.diagram} in plantuml format. "
|
71
|
+
f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
|
72
|
+
),
|
73
|
+
tools=[
|
74
|
+
read_all_files,
|
75
|
+
write_text_file,
|
76
|
+
],
|
77
|
+
)
|
78
|
+
)
|
79
|
+
|
80
|
+
# Defining a Cmd Task to transform Plantuml script into a png image.
|
81
|
+
make_uml_image = uml_group.add_task(
|
82
|
+
CmdTask(
|
83
|
+
name="make-image",
|
84
|
+
description="Creating png based on source code in current directory",
|
85
|
+
input=StrInput(name="diagram", default="state diagram"),
|
86
|
+
cmd="plantuml -tpng '{ctx.input.diagram}.uml'",
|
87
|
+
cwd=CURRENT_DIR,
|
88
|
+
)
|
89
|
+
)
|
90
|
+
|
91
|
+
# Making sure that make_png has make_uml as its dependency.
|
92
|
+
make_uml_script >> make_uml_image
|
93
|
+
```
|
94
|
+
|
95
|
+
You have just define two automation tasks.
|
96
|
+
|
97
|
+
The first one use LLM to read files in your current directory and create a `PlantUML script` on that directory.
|
98
|
+
|
99
|
+
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.
|
100
|
+
|
101
|
+
You can run the tasks by invoking `zrb uml make-script` or `zrb uml make-image` respectively.
|
102
|
+
|
103
|
+
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.
|
104
|
+
|
105
|
+
Now, go to your project and create a state diagram:
|
106
|
+
|
107
|
+
```bash
|
108
|
+
git clone git@github.com:jjinux/gotetris.git
|
109
|
+
cd gotetris
|
110
|
+
zrb uml make-image --diagram "state diagram"
|
111
|
+
```
|
112
|
+
|
113
|
+
You can also invoke the task without specifying parameter.
|
114
|
+
|
115
|
+
```bash
|
116
|
+
zrb uml make-image
|
117
|
+
```
|
118
|
+
|
119
|
+
Once you do so, Zrb will ask you to provide the diagram type.
|
120
|
+
|
121
|
+
```
|
122
|
+
diagram [state diagram]:
|
123
|
+
```
|
124
|
+
|
125
|
+
You can just press enter if you want to use the default value (i.e., in this case `state diagram`).
|
126
|
+
|
127
|
+
Finally, you can also serve the tasks via a Web UI interface by invoking the following command:
|
128
|
+
|
129
|
+
```bash
|
130
|
+
zrb server start
|
131
|
+
```
|
132
|
+
|
133
|
+
You will have a nice web interface running on `http://localhost:12123`
|
134
|
+
|
135
|
+

|
136
|
+
|
137
|
+
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`.
|
138
|
+
|
139
|
+

|
140
|
+
|
141
|
+
|
142
|
+
# 🎥 Demo & Documentation
|
143
|
+
|
144
|
+
- **Step by step guide:** [Getting started with Zrb](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md).
|
145
|
+
- **Full documentation:** [Zrb Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
|
146
|
+
- **Video demo:**
|
147
|
+
[](https://www.youtube.com/watch?v=W7dgk96l__o)
|
148
|
+
|
149
|
+
|
150
|
+
# 🤝 Join the Community
|
151
|
+
|
152
|
+
- **Bug Reports & Feature Requests:** Create an [issue](https://github.com/state-alchemists/zrb/issues) on Zrb's GitHub Repositories and include:
|
153
|
+
- Your Zrb version (i.e., `zrb version`).
|
154
|
+
- Steps you’ve taken and what you expected versus what happened
|
155
|
+
- **Contributions:** We welcome pull requests! Check out our [contribution guidelines](https://github.com/state-alchemists/zrb/pulls).
|
156
|
+
|
157
|
+
|
158
|
+
# ☕ Support The Project
|
159
|
+
|
160
|
+
If you find Zrb valuable, please consider donating:
|
161
|
+
|
162
|
+
[](https://stalchmst.com/donation)
|
163
|
+
|
164
|
+
# 🎉 Fun Fact
|
165
|
+
|
166
|
+
Did you know?
|
167
|
+
|
168
|
+
Zrb is named after `Zaruba`, a powerful support tool from the Garo universe!
|
169
|
+
|
170
|
+
> 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)
|
171
|
+
|
172
|
+

|
@@ -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
|
@@ -22,7 +22,6 @@ from zrb.config import (
|
|
22
22
|
LLM_ALLOW_ACCESS_LOCAL_FILE,
|
23
23
|
LLM_ALLOW_ACCESS_SHELL,
|
24
24
|
LLM_HISTORY_DIR,
|
25
|
-
LLM_SYSTEM_PROMPT,
|
26
25
|
SERP_API_KEY,
|
27
26
|
)
|
28
27
|
from zrb.context.any_shared_context import AnySharedContext
|
@@ -119,7 +118,7 @@ llm_chat: LLMTask = llm_group.add_task(
|
|
119
118
|
"system-prompt",
|
120
119
|
description="System prompt",
|
121
120
|
prompt="System prompt",
|
122
|
-
default=
|
121
|
+
default="",
|
123
122
|
allow_positional_parsing=False,
|
124
123
|
always_prompt=False,
|
125
124
|
),
|
@@ -141,17 +140,19 @@ llm_chat: LLMTask = llm_group.add_task(
|
|
141
140
|
always_prompt=False,
|
142
141
|
),
|
143
142
|
],
|
144
|
-
model=lambda ctx: None if ctx.input.model == "" else ctx.input.model,
|
143
|
+
model=lambda ctx: None if ctx.input.model.strip() == "" else ctx.input.model,
|
145
144
|
model_base_url=lambda ctx: (
|
146
|
-
None if ctx.input.base_url == "" else ctx.input.base_url
|
145
|
+
None if ctx.input.base_url.strip() == "" else ctx.input.base_url
|
147
146
|
),
|
148
147
|
model_api_key=lambda ctx: (
|
149
|
-
None if ctx.input.api_key == "" else ctx.input.api_key
|
148
|
+
None if ctx.input.api_key.strip() == "" else ctx.input.api_key
|
150
149
|
),
|
151
150
|
conversation_history_reader=_read_chat_conversation,
|
152
151
|
conversation_history_writer=_write_chat_conversation,
|
153
152
|
description="Chat with LLM",
|
154
|
-
system_prompt=
|
153
|
+
system_prompt=lambda ctx: (
|
154
|
+
None if ctx.input.system_prompt.strip() == "" else ctx.input.system_prompt
|
155
|
+
),
|
155
156
|
message="{ctx.input.message}",
|
156
157
|
retries=0,
|
157
158
|
),
|
@@ -0,0 +1,152 @@
|
|
1
|
+
import fnmatch
|
2
|
+
import os
|
3
|
+
|
4
|
+
from zrb.util.file import read_file, write_file
|
5
|
+
|
6
|
+
_INCLUDED_PATTERNS: list[str] = [
|
7
|
+
"*.py", # Python
|
8
|
+
"*.go", # Go
|
9
|
+
"*.rs", # Rust
|
10
|
+
"*.js", # JavaScript
|
11
|
+
"*.ts", # TypeScript
|
12
|
+
"*.java", # Java
|
13
|
+
"*.c", # C
|
14
|
+
"*.cpp", # C++
|
15
|
+
"*.cc", # Alternative C++ extension
|
16
|
+
"*.cxx", # Alternative C++ extension
|
17
|
+
"*.rb", # Ruby
|
18
|
+
"*.swift", # Swift
|
19
|
+
"*.kt", # Kotlin
|
20
|
+
"*.php", # PHP
|
21
|
+
"*.pl", # Perl / Prolog
|
22
|
+
"*.pm", # Perl module
|
23
|
+
"*.sh", # Shell
|
24
|
+
"*.bat", # Batch
|
25
|
+
"*.ps1", # PowerShell
|
26
|
+
"*.R", # R (capital)
|
27
|
+
"*.r", # R (lowercase)
|
28
|
+
"*.scala", # Scala
|
29
|
+
"*.hs", # Haskell
|
30
|
+
"*.cs", # C#
|
31
|
+
"*.fs", # F#
|
32
|
+
"*.ex", # Elixir
|
33
|
+
"*.exs", # Elixir script
|
34
|
+
"*.erl", # Erlang
|
35
|
+
"*.hrl", # Erlang header
|
36
|
+
"*.dart", # Dart
|
37
|
+
"*.m", # Objective-C / Matlab (note: conflicts may arise)
|
38
|
+
"*.mm", # Objective-C++
|
39
|
+
"*.lua", # Lua
|
40
|
+
"*.jl", # Julia
|
41
|
+
"*.groovy", # Groovy
|
42
|
+
"*.clj", # Clojure
|
43
|
+
"*.cljs", # ClojureScript
|
44
|
+
"*.cljc", # Clojure common
|
45
|
+
"*.vb", # Visual Basic
|
46
|
+
"*.f90", # Fortran
|
47
|
+
"*.f95", # Fortran
|
48
|
+
"*.adb", # Ada
|
49
|
+
"*.ads", # Ada specification
|
50
|
+
"*.pas", # Pascal
|
51
|
+
"*.pp", # Pascal
|
52
|
+
"*.ml", # OCaml
|
53
|
+
"*.mli", # OCaml interface
|
54
|
+
"*.nim", # Nim
|
55
|
+
"*.rkt", # Racket
|
56
|
+
"*.d", # D
|
57
|
+
"*.lisp", # Common Lisp
|
58
|
+
"*.lsp", # Lisp variant
|
59
|
+
"*.cl", # Common Lisp
|
60
|
+
"*.scm", # Scheme
|
61
|
+
"*.st", # Smalltalk
|
62
|
+
"*.vhd", # VHDL
|
63
|
+
"*.vhdl", # VHDL
|
64
|
+
"*.v", # Verilog
|
65
|
+
"*.asm", # Assembly
|
66
|
+
"*.s", # Assembly (alternative)
|
67
|
+
"*.sql", # SQL (if desired)
|
68
|
+
]
|
69
|
+
|
70
|
+
# Extended list of directories and patterns to exclude.
|
71
|
+
_EXCLUDED_PATTERNS: list[str] = [
|
72
|
+
"venv", # Python virtual environments
|
73
|
+
".venv",
|
74
|
+
"node_modules", # Node.js dependencies
|
75
|
+
".git", # Git repositories
|
76
|
+
"__pycache__", # Python cache directories
|
77
|
+
"build", # Build directories
|
78
|
+
"dist", # Distribution directories
|
79
|
+
"target", # Build output directories (Java, Rust, etc.)
|
80
|
+
"bin", # Binary directories
|
81
|
+
"obj", # Object files directories
|
82
|
+
".idea", # JetBrains IDEs
|
83
|
+
".vscode", # VS Code settings
|
84
|
+
".eggs", # Python eggs
|
85
|
+
]
|
86
|
+
|
87
|
+
|
88
|
+
def list_files(
|
89
|
+
directory: str = ".",
|
90
|
+
included_patterns: list[str] = _INCLUDED_PATTERNS,
|
91
|
+
excluded_patterns: list[str] = _EXCLUDED_PATTERNS,
|
92
|
+
) -> list[str]:
|
93
|
+
"""List all files in a directory that match any of the included glob patterns
|
94
|
+
and do not reside in any directory matching an excluded pattern.
|
95
|
+
Patterns are evaluated using glob-style matching.
|
96
|
+
"""
|
97
|
+
all_files: list[str] = []
|
98
|
+
for root, dirs, files in os.walk(directory):
|
99
|
+
for filename in files:
|
100
|
+
if any(fnmatch.fnmatch(filename, pat) for pat in included_patterns):
|
101
|
+
full_path = os.path.join(root, filename)
|
102
|
+
if _should_exclude(full_path, excluded_patterns):
|
103
|
+
continue
|
104
|
+
all_files.append(full_path)
|
105
|
+
return all_files
|
106
|
+
|
107
|
+
|
108
|
+
def _should_exclude(full_path: str, excluded_patterns: list[str]) -> bool:
|
109
|
+
"""
|
110
|
+
Return True if the file at full_path should be excluded based on
|
111
|
+
the list of excluded_patterns. Patterns that include a path separator
|
112
|
+
are applied to the full normalized path; otherwise they are matched
|
113
|
+
against each individual component of the path.
|
114
|
+
"""
|
115
|
+
norm_path = os.path.normpath(full_path)
|
116
|
+
path_parts = norm_path.split(os.sep)
|
117
|
+
for pat in excluded_patterns:
|
118
|
+
# If the pattern seems intended for full path matching (contains a separator)
|
119
|
+
if os.sep in pat or "/" in pat:
|
120
|
+
if fnmatch.fnmatch(norm_path, pat):
|
121
|
+
return True
|
122
|
+
else:
|
123
|
+
# Otherwise check each part of the path
|
124
|
+
if any(fnmatch.fnmatch(part, pat) for part in path_parts):
|
125
|
+
return True
|
126
|
+
return False
|
127
|
+
|
128
|
+
|
129
|
+
def read_text_file(file: str) -> str:
|
130
|
+
"""Read a text file and return a string containing the file content."""
|
131
|
+
return read_file(os.path.abspath(file))
|
132
|
+
|
133
|
+
|
134
|
+
def write_text_file(file: str, content: str):
|
135
|
+
"""Write content to a text file"""
|
136
|
+
return write_file(os.path.abspath(file), content)
|
137
|
+
|
138
|
+
|
139
|
+
def read_all_files(
|
140
|
+
directory: str = ".",
|
141
|
+
included_patterns: list[str] = _INCLUDED_PATTERNS,
|
142
|
+
excluded_patterns: list[str] = _EXCLUDED_PATTERNS,
|
143
|
+
) -> list[str]:
|
144
|
+
"""Read all files in a directory that match any of the included glob patterns
|
145
|
+
and do not match any of the excluded glob patterns.
|
146
|
+
Patterns are evaluated using glob-style matching.
|
147
|
+
"""
|
148
|
+
files = list_files(directory, included_patterns, excluded_patterns)
|
149
|
+
for index, file in enumerate(files):
|
150
|
+
content = read_text_file(file)
|
151
|
+
files[index] = f"# {file}\n```\n{content}\n```"
|
152
|
+
return files
|
@@ -76,15 +76,6 @@ WEB_AUTH_REFRESH_TOKEN_EXPIRE_MINUTES = int(
|
|
76
76
|
os.getenv("ZRB_WEB_REFRESH_TOKEN_EXPIRE_MINUTES", "60")
|
77
77
|
)
|
78
78
|
|
79
|
-
_DEFAULT_PROMPT = (
|
80
|
-
"You are a helpful AI assistant capable of using various tools to answer user queries. When solving a problem:\n"
|
81
|
-
"1. Carefully analyze the user's request and identify what information is needed to provide a complete answer.\n"
|
82
|
-
"2. Determine which available tools can help you gather the necessary information.\n"
|
83
|
-
"3. Call tools strategically and in a logical sequence to collect required data.\n"
|
84
|
-
"4. If a tool provides incomplete information, intelligently decide which additional tool or approach to use.\n"
|
85
|
-
"5. Always aim to provide the most accurate and helpful response possible."
|
86
|
-
)
|
87
|
-
LLM_SYSTEM_PROMPT = os.getenv("ZRB_LLM_SYSTEM_PROMPT", _DEFAULT_PROMPT)
|
88
79
|
LLM_HISTORY_DIR = os.getenv(
|
89
80
|
"ZRB_LLM_HISTORY_DIR", os.path.expanduser(os.path.join("~", ".zrb-llm-history"))
|
90
81
|
)
|