zrb 1.2.2__tar.gz → 1.3.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.2.2 → zrb-1.3.1}/PKG-INFO +84 -17
- zrb-1.3.1/README.md +139 -0
- {zrb-1.2.2 → zrb-1.3.1}/pyproject.toml +1 -1
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/llm_chat.py +42 -6
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +39 -3
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +28 -6
- zrb-1.3.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 +325 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +3 -1
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +18 -1
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +4 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +20 -11
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +17 -2
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +4 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +19 -11
- zrb-1.3.1/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +340 -0
- zrb-1.3.1/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +362 -0
- zrb-1.3.1/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +377 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +76 -13
- zrb-1.3.1/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +115 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +3 -1
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +6 -5
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +9 -3
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/any_input.py +5 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/base_input.py +6 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/bool_input.py +2 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/float_input.py +2 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/int_input.py +2 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/option_input.py +2 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/password_input.py +2 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/text_input.py +2 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/cli.py +1 -1
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/common_util.py +3 -3
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/task_input_api_route.py +1 -1
- zrb-1.2.2/README.md +0 -72
- zrb-1.2.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 -297
- zrb-1.2.2/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -311
- zrb-1.2.2/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- zrb-1.2.2/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- zrb-1.2.2/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -94
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/__main__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/attr/type.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/git.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/group.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/tool/file.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.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.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/python.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/random.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/callback/callback.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/config.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/context/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/context/any_context.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/context/context.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/env/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/env/any_env.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/env/env.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/env/env_file.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/env/env_map.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/group/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/group/any_group.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/group/group.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/input/str_input.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_config/config.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_config/config_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session/any_session.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session/session.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/any_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/base_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/http_check.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/llm_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/make_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/task.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/attr.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/cron.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/file.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/git.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/group.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/load.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/run.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/string/format.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/string/name.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/util/todo.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.2.2 → zrb-1.3.1}/src/zrb/xcom/xcom.py +0 -0
{zrb-1.2.2 → zrb-1.3.1}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.3.1
|
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,96 @@ Description-Content-Type: text/markdown
|
|
39
39
|
|
40
40
|
# 🤖 Zrb: Your Automation Powerhouse
|
41
41
|
|
42
|
-
Zrb allows you to write your automation tasks in Python
|
42
|
+
Zrb allows you to write your automation tasks in Python. For example, you can define the following script in your home directory (`/home/<your-user-name>/zrb_init.py`).
|
43
43
|
|
44
44
|
|
45
45
|
```python
|
46
|
-
|
47
|
-
from zrb import cli,
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
)
|
46
|
+
import os
|
47
|
+
from zrb import cli, LLMTask, CmdTask, StrInput
|
48
|
+
from zrb.builtin.llm.tool.file import read_source_code, write_text_file
|
49
|
+
from pydantic_ai.models.openai import OpenAIModel
|
50
|
+
|
51
|
+
|
52
|
+
CURRENT_DIR = os.getcwd()
|
53
|
+
OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1"
|
54
|
+
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY", "")
|
55
|
+
OPENROUTER_MODEL_NAME = os.getenv(
|
56
|
+
"AGENT_MODEL_NAME", "anthropic/claude-3.7-sonnet"
|
57
|
+
)
|
58
|
+
|
59
|
+
|
60
|
+
# Defining a LLM Task to create a Plantuml script based on source code in current directory.
|
61
|
+
# User can choose the diagram type. By default it is "state diagram"
|
62
|
+
make_uml = cli.add_task(
|
63
|
+
LLMTask(
|
64
|
+
name="make-uml",
|
65
|
+
description="Creating plantuml diagram based on source code in current directory",
|
66
|
+
input=StrInput(name="diagram", default="state diagram"),
|
67
|
+
model=OpenAIModel(
|
68
|
+
OPENROUTER_MODEL_NAME,
|
69
|
+
base_url=OPENROUTER_BASE_URL,
|
70
|
+
api_key=OPENROUTER_API_KEY,
|
71
|
+
),
|
72
|
+
message=(
|
73
|
+
f"Read source code in {CURRENT_DIR}, "
|
74
|
+
"make a {ctx.input.diagram} in plantuml format. "
|
75
|
+
f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
|
76
|
+
),
|
77
|
+
tools=[
|
78
|
+
read_source_code,
|
79
|
+
write_text_file,
|
80
|
+
],
|
81
|
+
)
|
82
|
+
)
|
83
|
+
|
84
|
+
# Defining a Cmd Task to transform Plantuml script into a png image.
|
85
|
+
make_png = cli.add_task(
|
86
|
+
CmdTask(
|
87
|
+
name="make-png",
|
88
|
+
description="Creating png based on source code in current directory",
|
89
|
+
input=StrInput(name="diagram", default="state diagram"),
|
90
|
+
cmd="plantuml -tpng '{ctx.input.diagram}.uml'",
|
91
|
+
cwd=CURRENT_DIR,
|
92
|
+
)
|
93
|
+
)
|
94
|
+
|
95
|
+
# Making sure that make_png has make_uml as its dependency.
|
96
|
+
make_uml >> make_png
|
58
97
|
```
|
59
98
|
|
60
|
-
Once defined,
|
99
|
+
Once defined, your automation tasks are immediately accessible from the CLI. You can then invoke the tasks by invoking.
|
61
100
|
|
62
|
-
|
101
|
+
```bash
|
102
|
+
zrb make-png --diagram "state diagram"
|
103
|
+
```
|
104
|
+
|
105
|
+
Or you can invoke the tasks without parameter.
|
106
|
+
|
107
|
+
```bash
|
108
|
+
zrb make-png
|
109
|
+
```
|
110
|
+
|
111
|
+
At this point, Zrb will politely ask you to provide the diagram type.
|
112
|
+
|
113
|
+
```
|
114
|
+
diagram [state diagram]:
|
115
|
+
```
|
116
|
+
|
117
|
+
You can just press enter if you want to use the default value.
|
118
|
+
|
119
|
+
Finally, you can run Zrb as a server and make your tasks available for non technical users by invoking the following command.
|
120
|
+
|
121
|
+
```bash
|
122
|
+
zrb server start
|
123
|
+
```
|
124
|
+
|
125
|
+
You will have a nice web interface running on `http://localhost:12123`
|
126
|
+
|
127
|
+

|
128
|
+
|
129
|
+
Now, let's see how Zrb generate the state diagram. Based on the source code in your current directory, Zrb will generate a `state diagram.uml` and transform it into `state diagram.png`.
|
63
130
|
|
64
|
-
|
131
|
+

|
65
132
|
|
66
133
|
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:
|
67
134
|
|
zrb-1.3.1/README.md
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
[Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
|
4
|
+
|
5
|
+
# 🤖 Zrb: Your Automation Powerhouse
|
6
|
+
|
7
|
+
Zrb allows you to write your automation tasks in Python. For example, you can define the following script in your home directory (`/home/<your-user-name>/zrb_init.py`).
|
8
|
+
|
9
|
+
|
10
|
+
```python
|
11
|
+
import os
|
12
|
+
from zrb import cli, LLMTask, CmdTask, StrInput
|
13
|
+
from zrb.builtin.llm.tool.file import read_source_code, write_text_file
|
14
|
+
from pydantic_ai.models.openai import OpenAIModel
|
15
|
+
|
16
|
+
|
17
|
+
CURRENT_DIR = os.getcwd()
|
18
|
+
OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1"
|
19
|
+
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY", "")
|
20
|
+
OPENROUTER_MODEL_NAME = os.getenv(
|
21
|
+
"AGENT_MODEL_NAME", "anthropic/claude-3.7-sonnet"
|
22
|
+
)
|
23
|
+
|
24
|
+
|
25
|
+
# Defining a LLM Task to create a Plantuml script based on source code in current directory.
|
26
|
+
# User can choose the diagram type. By default it is "state diagram"
|
27
|
+
make_uml = cli.add_task(
|
28
|
+
LLMTask(
|
29
|
+
name="make-uml",
|
30
|
+
description="Creating plantuml diagram based on source code in current directory",
|
31
|
+
input=StrInput(name="diagram", default="state diagram"),
|
32
|
+
model=OpenAIModel(
|
33
|
+
OPENROUTER_MODEL_NAME,
|
34
|
+
base_url=OPENROUTER_BASE_URL,
|
35
|
+
api_key=OPENROUTER_API_KEY,
|
36
|
+
),
|
37
|
+
message=(
|
38
|
+
f"Read source code in {CURRENT_DIR}, "
|
39
|
+
"make a {ctx.input.diagram} in plantuml format. "
|
40
|
+
f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
|
41
|
+
),
|
42
|
+
tools=[
|
43
|
+
read_source_code,
|
44
|
+
write_text_file,
|
45
|
+
],
|
46
|
+
)
|
47
|
+
)
|
48
|
+
|
49
|
+
# Defining a Cmd Task to transform Plantuml script into a png image.
|
50
|
+
make_png = cli.add_task(
|
51
|
+
CmdTask(
|
52
|
+
name="make-png",
|
53
|
+
description="Creating png based on source code in current directory",
|
54
|
+
input=StrInput(name="diagram", default="state diagram"),
|
55
|
+
cmd="plantuml -tpng '{ctx.input.diagram}.uml'",
|
56
|
+
cwd=CURRENT_DIR,
|
57
|
+
)
|
58
|
+
)
|
59
|
+
|
60
|
+
# Making sure that make_png has make_uml as its dependency.
|
61
|
+
make_uml >> make_png
|
62
|
+
```
|
63
|
+
|
64
|
+
Once defined, your automation tasks are immediately accessible from the CLI. You can then invoke the tasks by invoking.
|
65
|
+
|
66
|
+
```bash
|
67
|
+
zrb make-png --diagram "state diagram"
|
68
|
+
```
|
69
|
+
|
70
|
+
Or you can invoke the tasks without parameter.
|
71
|
+
|
72
|
+
```bash
|
73
|
+
zrb make-png
|
74
|
+
```
|
75
|
+
|
76
|
+
At this point, Zrb will politely ask you to provide the diagram type.
|
77
|
+
|
78
|
+
```
|
79
|
+
diagram [state diagram]:
|
80
|
+
```
|
81
|
+
|
82
|
+
You can just press enter if you want to use the default value.
|
83
|
+
|
84
|
+
Finally, you can run Zrb as a server and make your tasks available for non technical users by invoking the following command.
|
85
|
+
|
86
|
+
```bash
|
87
|
+
zrb server start
|
88
|
+
```
|
89
|
+
|
90
|
+
You will have a nice web interface running on `http://localhost:12123`
|
91
|
+
|
92
|
+

|
93
|
+
|
94
|
+
Now, let's see how Zrb generate the state diagram. Based on the source code in your current directory, Zrb will generate a `state diagram.uml` and transform it into `state diagram.png`.
|
95
|
+
|
96
|
+

|
97
|
+
|
98
|
+
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:
|
99
|
+
|
100
|
+
[](https://www.youtube.com/watch?v=W7dgk96l__o)
|
101
|
+
|
102
|
+
|
103
|
+
# 🫰 Installing Zrb
|
104
|
+
|
105
|
+
You can install Zrb as a pip package by invoking the following command:
|
106
|
+
|
107
|
+
```bash
|
108
|
+
pip install --pre zrb
|
109
|
+
```
|
110
|
+
|
111
|
+
Alternatively, you can also use our installation script to install Zrb along with some prerequisites:
|
112
|
+
|
113
|
+
```bash
|
114
|
+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
|
115
|
+
```
|
116
|
+
|
117
|
+
# 🐞 Bug Report + Feature Request
|
118
|
+
|
119
|
+
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:
|
120
|
+
|
121
|
+
- Include the version of Zrb you are using (i.e., `zrb version`)
|
122
|
+
- Tell us what you have tried
|
123
|
+
- Tell us what you expect
|
124
|
+
- Tell us what you get
|
125
|
+
|
126
|
+
We will also welcome your [pull requests and contributions](https://github.com/state-alchemists/zrb/pulls).
|
127
|
+
|
128
|
+
|
129
|
+
# ☕ Donation
|
130
|
+
|
131
|
+
Help Red Skull to click the donation button:
|
132
|
+
|
133
|
+
[](https://stalchmst.com/donation)
|
134
|
+
|
135
|
+
# 🎉 Fun Fact
|
136
|
+
|
137
|
+
> 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)
|
138
|
+
|
139
|
+

|
@@ -2,6 +2,8 @@ import json
|
|
2
2
|
import os
|
3
3
|
from typing import Any
|
4
4
|
|
5
|
+
from pydantic_ai.models import Model
|
6
|
+
|
5
7
|
from zrb.builtin.group import llm_group
|
6
8
|
from zrb.builtin.llm.tool.api import get_current_location, get_current_weather
|
7
9
|
from zrb.builtin.llm.tool.cli import run_shell_command
|
@@ -26,11 +28,14 @@ from zrb.config import (
|
|
26
28
|
LLM_SYSTEM_PROMPT,
|
27
29
|
SERP_API_KEY,
|
28
30
|
)
|
31
|
+
from zrb.context.any_context import AnyContext
|
29
32
|
from zrb.context.any_shared_context import AnySharedContext
|
33
|
+
from zrb.input.any_input import AnyInput
|
30
34
|
from zrb.input.bool_input import BoolInput
|
31
35
|
from zrb.input.str_input import StrInput
|
32
36
|
from zrb.input.text_input import TextInput
|
33
37
|
from zrb.task.llm_task import LLMTask
|
38
|
+
from zrb.util.attr import get_attr
|
34
39
|
from zrb.util.file import read_file, write_file
|
35
40
|
from zrb.util.string.conversion import to_pascal_case
|
36
41
|
|
@@ -85,23 +90,53 @@ def _write_chat_conversation(
|
|
85
90
|
write_file(last_session_file_path, current_session_name)
|
86
91
|
|
87
92
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
93
|
+
class _LLMChat(LLMTask):
|
94
|
+
|
95
|
+
_default_model: Model | str | None = None
|
96
|
+
|
97
|
+
def set_default_model(self, model: Model | str):
|
98
|
+
self._default_model = model
|
99
|
+
|
100
|
+
@property
|
101
|
+
def inputs(self) -> list[AnyInput]:
|
102
|
+
task_inputs = super().inputs
|
103
|
+
model_input_default = LLM_MODEL if self._default_model is None else "default"
|
104
|
+
return [
|
92
105
|
StrInput(
|
93
106
|
"model",
|
94
107
|
description="LLM Model",
|
95
108
|
prompt="LLM Model",
|
96
|
-
default=
|
109
|
+
default=model_input_default,
|
97
110
|
allow_positional_parsing=False,
|
111
|
+
always_prompt=False,
|
98
112
|
),
|
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=[
|
99
133
|
TextInput(
|
100
134
|
"system-prompt",
|
101
135
|
description="System prompt",
|
102
136
|
prompt="System prompt",
|
103
137
|
default=LLM_SYSTEM_PROMPT,
|
104
138
|
allow_positional_parsing=False,
|
139
|
+
always_prompt=False,
|
105
140
|
),
|
106
141
|
BoolInput(
|
107
142
|
"start-new",
|
@@ -109,6 +144,7 @@ llm_chat: LLMTask = llm_group.add_task(
|
|
109
144
|
prompt="Start new conversation (LLM will forget everything)",
|
110
145
|
default=False,
|
111
146
|
allow_positional_parsing=False,
|
147
|
+
always_prompt=False,
|
112
148
|
),
|
113
149
|
TextInput("message", description="User message", prompt="Your message"),
|
114
150
|
PreviousSessionInput(
|
@@ -117,12 +153,12 @@ llm_chat: LLMTask = llm_group.add_task(
|
|
117
153
|
prompt="Previous conversation session (can be empty)",
|
118
154
|
allow_positional_parsing=False,
|
119
155
|
allow_empty=True,
|
156
|
+
always_prompt=False,
|
120
157
|
),
|
121
158
|
],
|
122
159
|
conversation_history_reader=_read_chat_conversation,
|
123
160
|
conversation_history_writer=_write_chat_conversation,
|
124
161
|
description="Chat with LLM",
|
125
|
-
model="{ctx.input.model}",
|
126
162
|
system_prompt="{ctx.input['system-prompt']}",
|
127
163
|
message="{ctx.input.message}",
|
128
164
|
retries=0,
|
@@ -8,7 +8,7 @@ from my_app_name._zrb.column.add_column_util import (
|
|
8
8
|
update_my_app_name_test_update,
|
9
9
|
update_my_app_name_ui,
|
10
10
|
)
|
11
|
-
from my_app_name._zrb.config import APP_DIR
|
11
|
+
from my_app_name._zrb.config import ACTIVATE_VENV_SCRIPT, APP_DIR
|
12
12
|
from my_app_name._zrb.format_task import format_my_app_name_code
|
13
13
|
from my_app_name._zrb.group import app_create_group
|
14
14
|
from my_app_name._zrb.input import (
|
@@ -17,9 +17,16 @@ from my_app_name._zrb.input import (
|
|
17
17
|
new_column_input,
|
18
18
|
new_column_type_input,
|
19
19
|
)
|
20
|
-
from my_app_name._zrb.util import
|
20
|
+
from my_app_name._zrb.util import (
|
21
|
+
cd_module_script,
|
22
|
+
get_existing_module_names,
|
23
|
+
get_existing_schema_names,
|
24
|
+
set_create_migration_db_url_env,
|
25
|
+
set_env,
|
26
|
+
)
|
27
|
+
from my_app_name._zrb.venv_task import prepare_venv
|
21
28
|
|
22
|
-
from zrb import AnyContext, Task, make_task
|
29
|
+
from zrb import AnyContext, Cmd, CmdTask, EnvFile, Task, make_task
|
23
30
|
|
24
31
|
|
25
32
|
@make_task(
|
@@ -118,6 +125,34 @@ update_my_app_name_test_delete_task = Task(
|
|
118
125
|
)
|
119
126
|
|
120
127
|
|
128
|
+
create_my_app_name_entity_migration = CmdTask(
|
129
|
+
name="create-my-app-name-entity-migration",
|
130
|
+
input=[
|
131
|
+
existing_module_input,
|
132
|
+
existing_entity_input,
|
133
|
+
new_column_input,
|
134
|
+
],
|
135
|
+
env=EnvFile(path=os.path.join(APP_DIR, "template.env")),
|
136
|
+
cwd=APP_DIR,
|
137
|
+
cmd=[
|
138
|
+
ACTIVATE_VENV_SCRIPT,
|
139
|
+
Cmd(lambda ctx: set_create_migration_db_url_env(ctx.input.module)),
|
140
|
+
Cmd(lambda ctx: set_env("MY_APP_NAME_MODULES", ctx.input.module)),
|
141
|
+
Cmd(lambda ctx: cd_module_script(ctx.input.module)),
|
142
|
+
"alembic upgrade head",
|
143
|
+
Cmd(
|
144
|
+
'alembic revision --autogenerate -m "create_{to_snake_case(ctx.input.entity)}_{to_snake_case(ctx.input.column)}_column"', # noqa
|
145
|
+
),
|
146
|
+
],
|
147
|
+
render_cmd=False,
|
148
|
+
retries=0,
|
149
|
+
upstream=[
|
150
|
+
prepare_venv,
|
151
|
+
update_my_app_name_schema_task,
|
152
|
+
],
|
153
|
+
)
|
154
|
+
|
155
|
+
|
121
156
|
add_my_app_name_column = app_create_group.add_task(
|
122
157
|
Task(
|
123
158
|
name="add-my-app-name-column",
|
@@ -129,6 +164,7 @@ add_my_app_name_column = app_create_group.add_task(
|
|
129
164
|
update_my_app_name_test_read_task,
|
130
165
|
update_my_app_name_test_update_task,
|
131
166
|
update_my_app_name_test_delete_task,
|
167
|
+
create_my_app_name_entity_migration,
|
132
168
|
],
|
133
169
|
successor=format_my_app_name_code,
|
134
170
|
retries=0,
|
@@ -2,7 +2,7 @@ import os
|
|
2
2
|
import re
|
3
3
|
import textwrap
|
4
4
|
|
5
|
-
from bs4 import BeautifulSoup, formatter
|
5
|
+
from bs4 import BeautifulSoup, Tag, formatter
|
6
6
|
from my_app_name._zrb.config import APP_DIR
|
7
7
|
|
8
8
|
from zrb.context.any_context import AnyContext
|
@@ -65,6 +65,7 @@ def update_my_app_name_ui(ctx: AnyContext):
|
|
65
65
|
kebab_entity_name = to_kebab_case(ctx.input.entity)
|
66
66
|
snake_column_name = to_snake_case(ctx.input.column)
|
67
67
|
human_column_name = to_human_case(ctx.input.column).title()
|
68
|
+
column_type = ctx.input.type
|
68
69
|
subroute_file_path = os.path.join(
|
69
70
|
APP_DIR,
|
70
71
|
"module",
|
@@ -85,18 +86,21 @@ def update_my_app_name_ui(ctx: AnyContext):
|
|
85
86
|
form_id="crud-create-form",
|
86
87
|
column_label=human_column_name,
|
87
88
|
column_name=snake_column_name,
|
89
|
+
column_type=column_type,
|
88
90
|
)
|
89
91
|
new_code = _add_input_to_form(
|
90
92
|
new_code,
|
91
93
|
form_id="crud-update-form",
|
92
94
|
column_label=human_column_name,
|
93
95
|
column_name=snake_column_name,
|
96
|
+
column_type=column_type,
|
94
97
|
)
|
95
98
|
new_code = _add_input_to_form(
|
96
99
|
new_code,
|
97
100
|
form_id="crud-delete-form",
|
98
101
|
column_label=human_column_name,
|
99
102
|
column_name=snake_column_name,
|
103
|
+
column_type=column_type,
|
100
104
|
)
|
101
105
|
# JS Function
|
102
106
|
new_code = _alter_js_function_returned_array(
|
@@ -140,7 +144,7 @@ def _add_th_before_last(html_str, table_id, th_content):
|
|
140
144
|
|
141
145
|
|
142
146
|
def _add_input_to_form(
|
143
|
-
html_str: str, form_id: str, column_label: str, column_name: str
|
147
|
+
html_str: str, form_id: str, column_label: str, column_name: str, column_type: str
|
144
148
|
) -> str:
|
145
149
|
soup = BeautifulSoup(html_str, "html.parser")
|
146
150
|
# Find the form by id.
|
@@ -151,9 +155,7 @@ def _add_input_to_form(
|
|
151
155
|
new_label = soup.new_tag("label")
|
152
156
|
new_label.append(f"{column_label}: ")
|
153
157
|
# Create a new input element with the provided column name.
|
154
|
-
new_input = soup
|
155
|
-
"input", attrs={"type": "text", "name": column_name, "required": "required"}
|
156
|
-
)
|
158
|
+
new_input = _get_html_input(soup, column_name, column_type)
|
157
159
|
new_label.append(new_input)
|
158
160
|
# Look for a footer element inside the form.
|
159
161
|
footer = form.find("footer")
|
@@ -168,6 +170,26 @@ def _add_input_to_form(
|
|
168
170
|
)
|
169
171
|
|
170
172
|
|
173
|
+
def _get_html_input(soup: BeautifulSoup, column_name: str, column_type: str) -> Tag:
|
174
|
+
# Map your custom types to HTML input types.
|
175
|
+
type_mapping = {
|
176
|
+
"str": "text",
|
177
|
+
"int": "number",
|
178
|
+
"float": "number",
|
179
|
+
"bool": "checkbox",
|
180
|
+
"datetime": "datetime-local",
|
181
|
+
"date": "date",
|
182
|
+
}
|
183
|
+
# Get the corresponding HTML input type; default to "text" if not found.
|
184
|
+
html_input_type = type_mapping.get(column_type, "text")
|
185
|
+
# Create the new input tag with the appropriate attributes.
|
186
|
+
new_input = soup.new_tag(
|
187
|
+
"input",
|
188
|
+
attrs={"type": html_input_type, "name": column_name, "required": "required"},
|
189
|
+
)
|
190
|
+
return new_input
|
191
|
+
|
192
|
+
|
171
193
|
def _infer_html_indent_width(html_str: str) -> int:
|
172
194
|
"""
|
173
195
|
Infer the indentation width (number of spaces) from the HTML string.
|
@@ -208,7 +230,7 @@ def _alter_js_function_returned_array(
|
|
208
230
|
# 3. Captures the newline and leading whitespace (indent) of the return statement.
|
209
231
|
# 4. Captures the rest of the return line.
|
210
232
|
pattern = (
|
211
|
-
r"(
|
233
|
+
r"("
|
212
234
|
+ re.escape(js_function_name)
|
213
235
|
+ r"\s*\([^)]*\)\s*\{)" # group1: function header
|
214
236
|
r"([\s\S]*?)" # group2: code before return
|