zrb 1.4.1__tar.gz → 1.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zrb-1.4.1 → zrb-1.4.3}/PKG-INFO +66 -46
- {zrb-1.4.1 → zrb-1.4.3}/README.md +59 -43
- {zrb-1.4.1 → zrb-1.4.3}/pyproject.toml +6 -2
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/llm_chat.py +7 -6
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/tool/api.py +1 -1
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/tool/file.py +4 -2
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/tool/rag.py +28 -10
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/tool/web.py +55 -15
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/config.py +4 -13
- zrb-1.4.3/src/zrb/llm_config.py +102 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/llm_task.py +36 -19
- zrb-1.4.1/src/zrb/llm_config.py +0 -50
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/__main__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/attr/type.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/git.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/group.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/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.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/python.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/random.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/callback/callback.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/context/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/context/any_context.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/context/context.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/env/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/env/any_env.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/env/env.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/env/env_file.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/env/env_map.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/group/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/group/any_group.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/group/group.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/any_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/base_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/float_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/int_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/option_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/password_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/str_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/input/text_input.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/cli.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_config/config.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_config/config_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session/any_session.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session/session.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/any_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/base_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/http_check.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/make_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/task.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/attr.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/cron.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/file.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/git.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/group.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/load.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/run.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/string/format.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/string/name.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/util/todo.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.4.1 → zrb-1.4.3}/src/zrb/xcom/xcom.py +0 -0
{zrb-1.4.1 → zrb-1.4.3}/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.3
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -13,16 +13,20 @@ Classifier: Programming Language :: Python :: 3
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
16
|
+
Provides-Extra: all
|
17
|
+
Provides-Extra: playwright
|
16
18
|
Provides-Extra: rag
|
17
19
|
Requires-Dist: autopep8 (>=2.0.4,<3.0.0)
|
18
20
|
Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
|
19
21
|
Requires-Dist: black (>=24.10.0,<24.11.0)
|
20
|
-
Requires-Dist: chromadb (>=0.5.20,<0.6.0) ; extra == "rag"
|
22
|
+
Requires-Dist: chromadb (>=0.5.20,<0.6.0) ; extra == "rag" or extra == "all"
|
21
23
|
Requires-Dist: fastapi[standard] (>=0.115.6,<0.116.0)
|
22
24
|
Requires-Dist: fastembed (>=0.5.1,<0.6.0)
|
23
25
|
Requires-Dist: isort (>=5.13.2,<5.14.0)
|
24
26
|
Requires-Dist: libcst (>=1.5.0,<2.0.0)
|
25
|
-
Requires-Dist:
|
27
|
+
Requires-Dist: openai (>=1.10.0,<2.0.0) ; extra == "rag" or extra == "all"
|
28
|
+
Requires-Dist: pdfplumber (>=0.11.4,<0.12.0) ; extra == "rag" or extra == "all"
|
29
|
+
Requires-Dist: playwright (>=1.43.0,<2.0.0) ; extra == "playwright" or extra == "all"
|
26
30
|
Requires-Dist: psutil (>=6.1.1,<7.0.0)
|
27
31
|
Requires-Dist: pydantic-ai (>=0.0.42,<0.0.43)
|
28
32
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
@@ -44,7 +48,6 @@ Description-Content-Type: text/markdown
|
|
44
48
|
|
45
49
|
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
50
|
|
47
|
-
---
|
48
51
|
|
49
52
|
## 🚀 Why Zrb?
|
50
53
|
|
@@ -54,7 +57,6 @@ Zrb streamlines repetitive tasks, integrates with powerful LLMs, and lets you cr
|
|
54
57
|
- **Developer-Friendly:** Quick to install and get started, with clear documentation and examples.
|
55
58
|
- **Web Interface:** Run Zrb as a server to make tasks accessible even to non-technical team members.
|
56
59
|
|
57
|
-
---
|
58
60
|
|
59
61
|
## 🔥 Key Features
|
60
62
|
|
@@ -64,11 +66,8 @@ Zrb streamlines repetitive tasks, integrates with powerful LLMs, and lets you cr
|
|
64
66
|
- **Flexible Input Handling:** Defaults, prompts, and command-line parameters to suit any workflow.
|
65
67
|
- **Extensible & Open Source:** Contribute, customize, or extend Zrb to fit your unique needs.
|
66
68
|
|
67
|
-
---
|
68
69
|
|
69
|
-
|
70
|
-
|
71
|
-
### Quick Installation
|
70
|
+
# 🛠️ Installation
|
72
71
|
|
73
72
|
Install Zrb via pip:
|
74
73
|
|
@@ -84,40 +83,48 @@ bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/mai
|
|
84
83
|
|
85
84
|
```
|
86
85
|
|
87
|
-
|
86
|
+
# 🍲 Quick Start: Build Your First Automation Workflow
|
87
|
+
|
88
|
+
Zrb empowers you to create custom automation tasks using Python. This guide shows you how to define two simple tasks: one to generate a PlantUML script from your source code and another to convert that script into a PNG image.
|
89
|
+
|
90
|
+
## 1. Create Your Task Definition File
|
88
91
|
|
89
|
-
|
92
|
+
Place a file named `zrb_init.py` in a directory that's accessible from your projects. Zrb will automatically search for this file by starting in your current directory and then moving upward (i.e., checking parent directories) until it finds one. This means if you place your `zrb_init.py` in your home directory (e.g., `/home/<your-user-name>/zrb_init.py`), the tasks defined there will be available for any project.
|
90
93
|
|
94
|
+
Add the following content to your zrb_init.py:
|
91
95
|
|
92
96
|
```python
|
93
97
|
import os
|
94
|
-
from zrb import cli,
|
95
|
-
from zrb.builtin.llm.tool.file import
|
98
|
+
from zrb import cli, LLMTask, CmdTask, StrInput, Group
|
99
|
+
from zrb.builtin.llm.tool.file import (
|
100
|
+
read_text_file, list_files, write_text_file
|
101
|
+
)
|
96
102
|
|
97
103
|
CURRENT_DIR = os.getcwd()
|
98
104
|
|
99
|
-
#
|
105
|
+
# Create a group for UML-related tasks
|
100
106
|
uml_group = cli.add_group(Group(name="uml", description="UML related tasks"))
|
101
107
|
|
102
|
-
# Generate
|
108
|
+
# Task 1: Generate a PlantUML script from your source code
|
103
109
|
make_uml_script = uml_group.add_task(
|
104
110
|
LLMTask(
|
105
111
|
name="make-script",
|
106
112
|
description="Creating plantuml diagram based on source code in current directory",
|
107
113
|
input=StrInput(name="diagram", default="state diagram"),
|
108
114
|
message=(
|
109
|
-
f"Read
|
115
|
+
f"Read all necessary files in {CURRENT_DIR}, "
|
110
116
|
"make a {ctx.input.diagram} in plantuml format. "
|
111
117
|
f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
|
112
118
|
),
|
113
119
|
tools=[
|
114
|
-
|
120
|
+
list_files,
|
121
|
+
read_text_file,
|
115
122
|
write_text_file,
|
116
123
|
],
|
117
124
|
)
|
118
125
|
)
|
119
126
|
|
120
|
-
#
|
127
|
+
# Task 2: Convert the PlantUML script into a PNG image
|
121
128
|
make_uml_image = uml_group.add_task(
|
122
129
|
CmdTask(
|
123
130
|
name="make-image",
|
@@ -128,62 +135,75 @@ make_uml_image = uml_group.add_task(
|
|
128
135
|
)
|
129
136
|
)
|
130
137
|
|
131
|
-
#
|
138
|
+
# Set up the dependency: the image task runs after the script is created
|
132
139
|
make_uml_script >> make_uml_image
|
133
140
|
```
|
134
141
|
|
135
|
-
|
142
|
+
**What This Does**
|
136
143
|
|
137
|
-
|
144
|
+
- **Task 1 – make-script**:
|
138
145
|
|
139
|
-
|
146
|
+
Uses an LLM to read all files in your current directory and generate a PlantUML script (e.g., `state diagram.uml`).
|
140
147
|
|
141
|
-
|
148
|
+
- **Task 2 – make-image**:
|
142
149
|
|
143
|
-
|
150
|
+
Executes a command that converts the PlantUML script into a PNG image (e.g., `state diagram.png`). This task will run only after the script has been generated.
|
144
151
|
|
145
|
-
Now, go to your project and create a state diagram:
|
146
152
|
|
147
|
-
|
148
|
-
git clone git@github.com:jjinux/gotetris.git
|
149
|
-
cd gotetris
|
150
|
-
zrb uml make-image --diagram "state diagram"
|
151
|
-
```
|
153
|
+
## 2. Run Your Tasks
|
152
154
|
|
153
|
-
|
155
|
+
After setting up your tasks, you can execute them from any project. For example:
|
154
156
|
|
155
|
-
|
156
|
-
zrb uml make-image
|
157
|
-
```
|
157
|
+
- Clone/Create a Project:
|
158
158
|
|
159
|
-
|
159
|
+
```bash
|
160
|
+
git clone git@github.com:jjinux/gotetris.git
|
161
|
+
cd gotetris
|
162
|
+
```
|
160
163
|
|
161
|
-
|
162
|
-
|
163
|
-
```
|
164
|
+
- Create a state diagram:
|
165
|
+
|
166
|
+
```bash
|
167
|
+
zrb uml make-image --diagram "state diagram"
|
168
|
+
```
|
169
|
+
|
170
|
+
- Or use the interactive mode:
|
164
171
|
|
165
|
-
|
172
|
+
```bash
|
173
|
+
zrb uml make-image
|
174
|
+
```
|
166
175
|
|
167
|
-
|
176
|
+
Zrb will prompt:
|
177
|
+
|
178
|
+
```bash
|
179
|
+
diagram [state diagram]:
|
180
|
+
```
|
181
|
+
|
182
|
+
Press **Enter** to use the default value
|
183
|
+
|
184
|
+

|
185
|
+
|
186
|
+
|
187
|
+
## 3. Try Out the Web UI
|
188
|
+
|
189
|
+
You can also serve your tasks through a user-friendly web interface:
|
168
190
|
|
169
191
|
```bash
|
170
192
|
zrb server start
|
171
193
|
```
|
172
194
|
|
173
|
-
|
195
|
+
Then open your browser and visit `http://localhost:21213`
|
174
196
|
|
175
197
|

|
176
198
|
|
177
|
-
Now, let's see how things work in detail. First, Zrb generates a `state diagram.uml` in your current directory, it then transform the UML script into a PNG image `state diagram.png`.
|
178
|
-
|
179
|
-

|
180
|
-
|
181
199
|
|
182
200
|
# 🎥 Demo & Documentation
|
183
201
|
|
184
202
|
- **Step by step guide:** [Getting started with Zrb](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md).
|
185
203
|
- **Full documentation:** [Zrb Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
|
186
|
-
- **Video demo:**
|
204
|
+
- **Video demo:**
|
205
|
+
|
206
|
+
[](https://www.youtube.com/watch?v=W7dgk96l__o)
|
187
207
|
|
188
208
|
|
189
209
|
# 🤝 Join the Community
|
@@ -9,7 +9,6 @@
|
|
9
9
|
|
10
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
11
|
|
12
|
-
---
|
13
12
|
|
14
13
|
## 🚀 Why Zrb?
|
15
14
|
|
@@ -19,7 +18,6 @@ Zrb streamlines repetitive tasks, integrates with powerful LLMs, and lets you cr
|
|
19
18
|
- **Developer-Friendly:** Quick to install and get started, with clear documentation and examples.
|
20
19
|
- **Web Interface:** Run Zrb as a server to make tasks accessible even to non-technical team members.
|
21
20
|
|
22
|
-
---
|
23
21
|
|
24
22
|
## 🔥 Key Features
|
25
23
|
|
@@ -29,11 +27,8 @@ Zrb streamlines repetitive tasks, integrates with powerful LLMs, and lets you cr
|
|
29
27
|
- **Flexible Input Handling:** Defaults, prompts, and command-line parameters to suit any workflow.
|
30
28
|
- **Extensible & Open Source:** Contribute, customize, or extend Zrb to fit your unique needs.
|
31
29
|
|
32
|
-
---
|
33
30
|
|
34
|
-
|
35
|
-
|
36
|
-
### Quick Installation
|
31
|
+
# 🛠️ Installation
|
37
32
|
|
38
33
|
Install Zrb via pip:
|
39
34
|
|
@@ -49,40 +44,48 @@ bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/mai
|
|
49
44
|
|
50
45
|
```
|
51
46
|
|
52
|
-
|
47
|
+
# 🍲 Quick Start: Build Your First Automation Workflow
|
48
|
+
|
49
|
+
Zrb empowers you to create custom automation tasks using Python. This guide shows you how to define two simple tasks: one to generate a PlantUML script from your source code and another to convert that script into a PNG image.
|
50
|
+
|
51
|
+
## 1. Create Your Task Definition File
|
53
52
|
|
54
|
-
|
53
|
+
Place a file named `zrb_init.py` in a directory that's accessible from your projects. Zrb will automatically search for this file by starting in your current directory and then moving upward (i.e., checking parent directories) until it finds one. This means if you place your `zrb_init.py` in your home directory (e.g., `/home/<your-user-name>/zrb_init.py`), the tasks defined there will be available for any project.
|
55
54
|
|
55
|
+
Add the following content to your zrb_init.py:
|
56
56
|
|
57
57
|
```python
|
58
58
|
import os
|
59
|
-
from zrb import cli,
|
60
|
-
from zrb.builtin.llm.tool.file import
|
59
|
+
from zrb import cli, LLMTask, CmdTask, StrInput, Group
|
60
|
+
from zrb.builtin.llm.tool.file import (
|
61
|
+
read_text_file, list_files, write_text_file
|
62
|
+
)
|
61
63
|
|
62
64
|
CURRENT_DIR = os.getcwd()
|
63
65
|
|
64
|
-
#
|
66
|
+
# Create a group for UML-related tasks
|
65
67
|
uml_group = cli.add_group(Group(name="uml", description="UML related tasks"))
|
66
68
|
|
67
|
-
# Generate
|
69
|
+
# Task 1: Generate a PlantUML script from your source code
|
68
70
|
make_uml_script = uml_group.add_task(
|
69
71
|
LLMTask(
|
70
72
|
name="make-script",
|
71
73
|
description="Creating plantuml diagram based on source code in current directory",
|
72
74
|
input=StrInput(name="diagram", default="state diagram"),
|
73
75
|
message=(
|
74
|
-
f"Read
|
76
|
+
f"Read all necessary files in {CURRENT_DIR}, "
|
75
77
|
"make a {ctx.input.diagram} in plantuml format. "
|
76
78
|
f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
|
77
79
|
),
|
78
80
|
tools=[
|
79
|
-
|
81
|
+
list_files,
|
82
|
+
read_text_file,
|
80
83
|
write_text_file,
|
81
84
|
],
|
82
85
|
)
|
83
86
|
)
|
84
87
|
|
85
|
-
#
|
88
|
+
# Task 2: Convert the PlantUML script into a PNG image
|
86
89
|
make_uml_image = uml_group.add_task(
|
87
90
|
CmdTask(
|
88
91
|
name="make-image",
|
@@ -93,62 +96,75 @@ make_uml_image = uml_group.add_task(
|
|
93
96
|
)
|
94
97
|
)
|
95
98
|
|
96
|
-
#
|
99
|
+
# Set up the dependency: the image task runs after the script is created
|
97
100
|
make_uml_script >> make_uml_image
|
98
101
|
```
|
99
102
|
|
100
|
-
|
103
|
+
**What This Does**
|
101
104
|
|
102
|
-
|
105
|
+
- **Task 1 – make-script**:
|
103
106
|
|
104
|
-
|
107
|
+
Uses an LLM to read all files in your current directory and generate a PlantUML script (e.g., `state diagram.uml`).
|
105
108
|
|
106
|
-
|
109
|
+
- **Task 2 – make-image**:
|
107
110
|
|
108
|
-
|
111
|
+
Executes a command that converts the PlantUML script into a PNG image (e.g., `state diagram.png`). This task will run only after the script has been generated.
|
109
112
|
|
110
|
-
Now, go to your project and create a state diagram:
|
111
113
|
|
112
|
-
|
113
|
-
git clone git@github.com:jjinux/gotetris.git
|
114
|
-
cd gotetris
|
115
|
-
zrb uml make-image --diagram "state diagram"
|
116
|
-
```
|
114
|
+
## 2. Run Your Tasks
|
117
115
|
|
118
|
-
|
116
|
+
After setting up your tasks, you can execute them from any project. For example:
|
119
117
|
|
120
|
-
|
121
|
-
zrb uml make-image
|
122
|
-
```
|
118
|
+
- Clone/Create a Project:
|
123
119
|
|
124
|
-
|
120
|
+
```bash
|
121
|
+
git clone git@github.com:jjinux/gotetris.git
|
122
|
+
cd gotetris
|
123
|
+
```
|
125
124
|
|
126
|
-
|
127
|
-
|
128
|
-
```
|
125
|
+
- Create a state diagram:
|
126
|
+
|
127
|
+
```bash
|
128
|
+
zrb uml make-image --diagram "state diagram"
|
129
|
+
```
|
130
|
+
|
131
|
+
- Or use the interactive mode:
|
129
132
|
|
130
|
-
|
133
|
+
```bash
|
134
|
+
zrb uml make-image
|
135
|
+
```
|
131
136
|
|
132
|
-
|
137
|
+
Zrb will prompt:
|
138
|
+
|
139
|
+
```bash
|
140
|
+
diagram [state diagram]:
|
141
|
+
```
|
142
|
+
|
143
|
+
Press **Enter** to use the default value
|
144
|
+
|
145
|
+

|
146
|
+
|
147
|
+
|
148
|
+
## 3. Try Out the Web UI
|
149
|
+
|
150
|
+
You can also serve your tasks through a user-friendly web interface:
|
133
151
|
|
134
152
|
```bash
|
135
153
|
zrb server start
|
136
154
|
```
|
137
155
|
|
138
|
-
|
156
|
+
Then open your browser and visit `http://localhost:21213`
|
139
157
|
|
140
158
|

|
141
159
|
|
142
|
-
Now, let's see how things work in detail. First, Zrb generates a `state diagram.uml` in your current directory, it then transform the UML script into a PNG image `state diagram.png`.
|
143
|
-
|
144
|
-

|
145
|
-
|
146
160
|
|
147
161
|
# 🎥 Demo & Documentation
|
148
162
|
|
149
163
|
- **Step by step guide:** [Getting started with Zrb](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md).
|
150
164
|
- **Full documentation:** [Zrb Documentation](https://github.com/state-alchemists/zrb/blob/main/docs/README.md)
|
151
|
-
- **Video demo:**
|
165
|
+
- **Video demo:**
|
166
|
+
|
167
|
+
[](https://www.youtube.com/watch?v=W7dgk96l__o)
|
152
168
|
|
153
169
|
|
154
170
|
# 🤝 Join the Community
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "zrb"
|
3
|
-
version = "1.4.
|
3
|
+
version = "1.4.3"
|
4
4
|
description = "Your Automation Powerhouse"
|
5
5
|
authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
|
6
6
|
license = "AGPL-3.0-or-later"
|
@@ -52,11 +52,15 @@ python-jose = {extras = ["cryptography"], version = "^3.4.0"}
|
|
52
52
|
ulid-py = "^1.1.0"
|
53
53
|
pydantic-ai = "^0.0.42"
|
54
54
|
fastembed = "^0.5.1"
|
55
|
+
openai = {version = "^1.10.0", optional = true}
|
56
|
+
playwright = {version = "^1.43.0", optional = true}
|
55
57
|
psutil = "^6.1.1"
|
56
58
|
|
57
59
|
[tool.poetry.extras]
|
58
60
|
# poetry install -E rag
|
59
|
-
rag = ["chromadb", "pdfplumber"]
|
61
|
+
rag = ["chromadb", "pdfplumber", "openai"]
|
62
|
+
playwright = ["playwright"]
|
63
|
+
all = ["chromadb", "pdfplumber", "openai", "playwright"]
|
60
64
|
|
61
65
|
[tool.poetry.group.dev.dependencies]
|
62
66
|
alembic = "^1.14.0" # FastApp dependencies
|
@@ -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
|
),
|
@@ -5,7 +5,7 @@ from typing import Annotated, Literal
|
|
5
5
|
def get_current_location() -> (
|
6
6
|
Annotated[str, "JSON string representing latitude and longitude"]
|
7
7
|
): # noqa
|
8
|
-
"""Get the user's current location."""
|
8
|
+
"""Get the user's current location. This function take no argument."""
|
9
9
|
import requests
|
10
10
|
|
11
11
|
return json.dumps(requests.get("http://ip-api.com/json?fields=lat,lon").json())
|
@@ -93,6 +93,7 @@ def list_files(
|
|
93
93
|
"""List all files in a directory that match any of the included glob patterns
|
94
94
|
and do not reside in any directory matching an excluded pattern.
|
95
95
|
Patterns are evaluated using glob-style matching.
|
96
|
+
included_patterns and excluded_patterns already has sane default values.
|
96
97
|
"""
|
97
98
|
all_files: list[str] = []
|
98
99
|
for root, dirs, files in os.walk(directory):
|
@@ -127,12 +128,12 @@ def _should_exclude(full_path: str, excluded_patterns: list[str]) -> bool:
|
|
127
128
|
|
128
129
|
|
129
130
|
def read_text_file(file: str) -> str:
|
130
|
-
"""Read a text file"""
|
131
|
+
"""Read a text file and return a string containing the file content."""
|
131
132
|
return read_file(os.path.abspath(file))
|
132
133
|
|
133
134
|
|
134
135
|
def write_text_file(file: str, content: str):
|
135
|
-
"""Write a text file"""
|
136
|
+
"""Write content to a text file"""
|
136
137
|
return write_file(os.path.abspath(file), content)
|
137
138
|
|
138
139
|
|
@@ -144,6 +145,7 @@ def read_all_files(
|
|
144
145
|
"""Read all files in a directory that match any of the included glob patterns
|
145
146
|
and do not match any of the excluded glob patterns.
|
146
147
|
Patterns are evaluated using glob-style matching.
|
148
|
+
included_patterns and excluded_patterns already has sane default values.
|
147
149
|
"""
|
148
150
|
files = list_files(directory, included_patterns, excluded_patterns)
|
149
151
|
for index, file in enumerate(files):
|
@@ -9,6 +9,8 @@ import ulid
|
|
9
9
|
|
10
10
|
from zrb.config import (
|
11
11
|
RAG_CHUNK_SIZE,
|
12
|
+
RAG_EMBEDDING_API_KEY,
|
13
|
+
RAG_EMBEDDING_BASE_URL,
|
12
14
|
RAG_EMBEDDING_MODEL,
|
13
15
|
RAG_MAX_RESULT_COUNT,
|
14
16
|
RAG_OVERLAP,
|
@@ -35,24 +37,34 @@ def create_rag_from_directory(
|
|
35
37
|
tool_name: str,
|
36
38
|
tool_description: str,
|
37
39
|
document_dir_path: str = "./documents",
|
38
|
-
model: str = RAG_EMBEDDING_MODEL,
|
39
40
|
vector_db_path: str = "./chroma",
|
40
41
|
vector_db_collection: str = "documents",
|
41
42
|
chunk_size: int = RAG_CHUNK_SIZE,
|
42
43
|
overlap: int = RAG_OVERLAP,
|
43
44
|
max_result_count: int = RAG_MAX_RESULT_COUNT,
|
44
45
|
file_reader: list[RAGFileReader] = [],
|
46
|
+
openai_api_key: str = RAG_EMBEDDING_API_KEY,
|
47
|
+
openai_base_url: str = RAG_EMBEDDING_BASE_URL,
|
48
|
+
openai_embedding_model: str = RAG_EMBEDDING_MODEL,
|
45
49
|
):
|
46
50
|
async def retrieve(query: str) -> str:
|
47
51
|
from chromadb import PersistentClient
|
48
52
|
from chromadb.config import Settings
|
49
|
-
from
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
+
from openai import OpenAI
|
54
|
+
|
55
|
+
# Initialize OpenAI client with custom URL if provided
|
56
|
+
client_args = {}
|
57
|
+
if openai_api_key:
|
58
|
+
client_args["api_key"] = openai_api_key
|
59
|
+
if openai_base_url:
|
60
|
+
client_args["base_url"] = openai_base_url
|
61
|
+
# Initialize OpenAI client for embeddings
|
62
|
+
openai_client = OpenAI(**client_args)
|
63
|
+
# Initialize ChromaDB client
|
64
|
+
chroma_client = PersistentClient(
|
53
65
|
path=vector_db_path, settings=Settings(allow_reset=True)
|
54
66
|
)
|
55
|
-
collection =
|
67
|
+
collection = chroma_client.get_or_create_collection(vector_db_collection)
|
56
68
|
# Track file changes using a hash-based approach
|
57
69
|
hash_file_path = os.path.join(vector_db_path, "file_hashes.json")
|
58
70
|
previous_hashes = _load_hashes(hash_file_path)
|
@@ -89,8 +101,11 @@ def create_rag_from_directory(
|
|
89
101
|
),
|
90
102
|
file=sys.stderr,
|
91
103
|
)
|
92
|
-
|
93
|
-
|
104
|
+
# Get embeddings using OpenAI
|
105
|
+
embedding_response = openai_client.embeddings.create(
|
106
|
+
input=chunk, model=openai_embedding_model
|
107
|
+
)
|
108
|
+
vector = embedding_response.data[0].embedding
|
94
109
|
collection.upsert(
|
95
110
|
ids=[chunk_id],
|
96
111
|
embeddings=[vector],
|
@@ -113,8 +128,11 @@ def create_rag_from_directory(
|
|
113
128
|
)
|
114
129
|
# Vectorize query and get related document chunks
|
115
130
|
print(stylize_faint("Vectorizing query"), file=sys.stderr)
|
116
|
-
|
117
|
-
|
131
|
+
# Get embeddings using OpenAI
|
132
|
+
embedding_response = openai_client.embeddings.create(
|
133
|
+
input=query, model=openai_embedding_model
|
134
|
+
)
|
135
|
+
query_vector = embedding_response.data[0].embedding
|
118
136
|
print(stylize_faint("Searching documents"), file=sys.stderr)
|
119
137
|
results = collection.query(
|
120
138
|
query_embeddings=query_vector,
|