zrb 1.15.25__tar.gz → 1.15.27__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.15.25 → zrb-1.15.27}/PKG-INFO +1 -1
- {zrb-1.15.25 → zrb-1.15.27}/pyproject.toml +1 -1
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/chat_session.py +2 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/code.py +3 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/llm_context/config.py +6 -1
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/context/any_shared_context.py +7 -1
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/context/shared_context.py +2 -2
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/group/any_group.py +8 -4
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/group/group.py +7 -5
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_util/user.py +7 -3
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session/any_session.py +12 -6
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session/session.py +39 -18
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/any_task.py +8 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base_trigger.py +11 -4
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/agent.py +41 -3
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/scheduler.py +3 -3
- {zrb-1.15.25 → zrb-1.15.27}/README.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/__main__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/attr/type.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/git.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/group.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/http.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/jwt.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/history.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/llm_ask.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/file.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/sub_agent.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/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.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/python.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/random.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/uuid.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/callback/callback.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/config.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/file_extractor_system_prompt.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/interactive_system_prompt.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/persona.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/repo_extractor_system_prompt.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/repo_summarizer_system_prompt.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/summarization_prompt.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/default_prompt/system_prompt.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/llm_config.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/llm_context/config_parser.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/llm_rate_limitter.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/config/web_auth_config.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/context/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/context/any_context.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/context/context.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/env/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/env/any_env.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/env/env.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/env/env_file.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/env/env_map.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/group/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/any_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/base_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/float_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/int_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/option_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/password_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/str_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/input/text_input.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/cli.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/global_template.html +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/common.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.amber.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.blue.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.cyan.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.fuchsia.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.green.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.grey.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.indigo.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.jade.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.lime.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.orange.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.pink.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.pumpkin.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.purple.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.red.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.sand.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.slate.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.violet.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.yellow.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/pico-css/pico.zinc.min.css +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base/context.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base/execution.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base/lifecycle.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base/monitoring.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base/operators.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/base_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/http_check.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/config.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/conversation_history.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/conversation_history_model.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/default_workflow/coding.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/default_workflow/copywriting.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/default_workflow/researching.md +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/error.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/history_summarization.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/history_summarization_tool.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/print_node.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/prompt.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/tool_wrapper.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm/typing.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/llm_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/make_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/task.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/attr.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/callable.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cli/markdown.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cli/text.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/cron.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/file.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/git.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/git_diff_model.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/git_subtree_model.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/group.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/init_path.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/llm/prompt.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/load.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/run.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/string/format.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/string/name.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/todo.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/todo_model.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/util/truncate.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.15.25 → zrb-1.15.27}/src/zrb/xcom/xcom.py +0 -0
@@ -69,6 +69,9 @@ async def analyze_repo(
|
|
69
69
|
clear and specific goal. Vague goals will result in a vague analysis and
|
70
70
|
may cause the tool to run for a long time.
|
71
71
|
|
72
|
+
Make sure to skim the repository or directory first so that you can put
|
73
|
+
effective parameters.
|
74
|
+
|
72
75
|
Use this tool for:
|
73
76
|
- Understanding a large or unfamiliar codebase.
|
74
77
|
- Generating high-level summaries of a project's architecture.
|
@@ -115,7 +115,12 @@ class LLMContextConfig:
|
|
115
115
|
if context_path is None:
|
116
116
|
context_path = cwd
|
117
117
|
|
118
|
-
|
118
|
+
config_files = self._find_config_files(cwd)
|
119
|
+
if config_files:
|
120
|
+
config_file = config_files[0]
|
121
|
+
else:
|
122
|
+
home_dir = os.path.expanduser("~")
|
123
|
+
config_file = os.path.join(home_dir, CFG.LLM_CONTEXT_FILE)
|
119
124
|
|
120
125
|
sections = {}
|
121
126
|
if os.path.exists(config_file):
|
@@ -29,26 +29,32 @@ class AnySharedContext(ABC):
|
|
29
29
|
pass
|
30
30
|
|
31
31
|
@property
|
32
|
+
@abstractmethod
|
32
33
|
def input(self) -> DotDict:
|
33
34
|
pass
|
34
35
|
|
35
36
|
@property
|
37
|
+
@abstractmethod
|
36
38
|
def env(self) -> DotDict:
|
37
39
|
pass
|
38
40
|
|
39
41
|
@property
|
42
|
+
@abstractmethod
|
40
43
|
def args(self) -> list[Any]:
|
41
44
|
pass
|
42
45
|
|
43
46
|
@property
|
44
|
-
|
47
|
+
@abstractmethod
|
48
|
+
def xcom(self) -> DotDict:
|
45
49
|
pass
|
46
50
|
|
47
51
|
@property
|
52
|
+
@abstractmethod
|
48
53
|
def shared_log(self) -> list[str]:
|
49
54
|
pass
|
50
55
|
|
51
56
|
@property
|
57
|
+
@abstractmethod
|
52
58
|
def session(self) -> any_session.AnySession | None:
|
53
59
|
pass
|
54
60
|
|
@@ -66,7 +66,7 @@ class SharedContext(AnySharedContext):
|
|
66
66
|
return self._args
|
67
67
|
|
68
68
|
@property
|
69
|
-
def xcom(self) -> DotDict
|
69
|
+
def xcom(self) -> DotDict:
|
70
70
|
return self._xcom
|
71
71
|
|
72
72
|
@property
|
@@ -81,7 +81,7 @@ class SharedContext(AnySharedContext):
|
|
81
81
|
self._log.append(message)
|
82
82
|
session = self.session
|
83
83
|
if session is not None:
|
84
|
-
session_parent: AnySession = session.parent
|
84
|
+
session_parent: AnySession | None = session.parent
|
85
85
|
if session_parent is not None:
|
86
86
|
session_parent.shared_ctx.append_to_shared_log(message)
|
87
87
|
|
@@ -1,9 +1,13 @@
|
|
1
1
|
from abc import ABC, abstractmethod
|
2
|
+
from typing import Generic, TypeVar
|
2
3
|
|
3
4
|
from zrb.task.any_task import AnyTask
|
4
5
|
|
6
|
+
GroupType = TypeVar("GroupType", bound="AnyGroup")
|
7
|
+
TaskType = TypeVar("TaskType", bound=AnyTask)
|
5
8
|
|
6
|
-
|
9
|
+
|
10
|
+
class AnyGroup(ABC, Generic[GroupType, TaskType]):
|
7
11
|
@property
|
8
12
|
@abstractmethod
|
9
13
|
def name(self) -> str:
|
@@ -35,11 +39,11 @@ class AnyGroup(ABC):
|
|
35
39
|
pass
|
36
40
|
|
37
41
|
@abstractmethod
|
38
|
-
def add_group(self, group:
|
42
|
+
def add_group(self, group: GroupType, alias: str | None) -> GroupType:
|
39
43
|
pass
|
40
44
|
|
41
45
|
@abstractmethod
|
42
|
-
def add_task(self, task:
|
46
|
+
def add_task(self, task: TaskType, alias: str | None = None) -> TaskType:
|
43
47
|
pass
|
44
48
|
|
45
49
|
@abstractmethod
|
@@ -55,5 +59,5 @@ class AnyGroup(ABC):
|
|
55
59
|
pass
|
56
60
|
|
57
61
|
@abstractmethod
|
58
|
-
def get_group_by_alias(self,
|
62
|
+
def get_group_by_alias(self, alias: str) -> "AnyGroup | None":
|
59
63
|
pass
|
@@ -1,8 +1,10 @@
|
|
1
|
-
from
|
1
|
+
from typing import Generic, TypeVar
|
2
|
+
|
3
|
+
from zrb.group.any_group import AnyGroup, GroupType, TaskType
|
2
4
|
from zrb.task.any_task import AnyTask
|
3
5
|
|
4
6
|
|
5
|
-
class Group(AnyGroup):
|
7
|
+
class Group(AnyGroup, Generic[GroupType, TaskType]):
|
6
8
|
def __init__(
|
7
9
|
self, name: str, description: str | None = None, banner: str | None = None
|
8
10
|
):
|
@@ -41,13 +43,13 @@ class Group(AnyGroup):
|
|
41
43
|
alias.sort()
|
42
44
|
return {name: self._tasks.get(name) for name in alias}
|
43
45
|
|
44
|
-
def add_group(self, group:
|
45
|
-
real_group = Group(group) if isinstance(group, str) else group
|
46
|
+
def add_group(self, group: GroupType, alias: str | None = None) -> GroupType:
|
47
|
+
real_group: GroupType = Group(group) if isinstance(group, str) else group
|
46
48
|
alias = alias if alias is not None else real_group.name
|
47
49
|
self._groups[alias] = real_group
|
48
50
|
return real_group
|
49
51
|
|
50
|
-
def add_task(self, task:
|
52
|
+
def add_task(self, task: TaskType, alias: str | None = None) -> TaskType:
|
51
53
|
alias = alias if alias is not None else task.name
|
52
54
|
self._tasks[alias] = task
|
53
55
|
return task
|
@@ -19,7 +19,7 @@ def get_user_by_credentials(
|
|
19
19
|
|
20
20
|
async def get_user_from_request(
|
21
21
|
web_auth_config: WebAuthConfig, request: "Request"
|
22
|
-
) -> User
|
22
|
+
) -> User:
|
23
23
|
from fastapi.security import OAuth2PasswordBearer
|
24
24
|
|
25
25
|
if not web_auth_config.enable_auth:
|
@@ -45,7 +45,11 @@ def _get_user_from_cookie(
|
|
45
45
|
return None
|
46
46
|
|
47
47
|
|
48
|
-
def _get_user_from_token(
|
48
|
+
def _get_user_from_token(
|
49
|
+
web_auth_config: WebAuthConfig, token: str | None
|
50
|
+
) -> User | None:
|
51
|
+
if token is None:
|
52
|
+
return None
|
49
53
|
try:
|
50
54
|
from jose import jwt
|
51
55
|
|
@@ -54,7 +58,7 @@ def _get_user_from_token(web_auth_config: WebAuthConfig, token: str) -> User | N
|
|
54
58
|
web_auth_config.secret_key,
|
55
59
|
options={"require_sub": True, "require_exp": True},
|
56
60
|
)
|
57
|
-
username: str = payload.get("sub")
|
61
|
+
username: str | None = payload.get("sub")
|
58
62
|
if username is None:
|
59
63
|
return None
|
60
64
|
user = web_auth_config.find_user_by_username(username)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from __future__ import annotations # Enables forward references
|
2
2
|
|
3
|
+
import asyncio
|
3
4
|
from abc import ABC, abstractmethod
|
4
5
|
from typing import TYPE_CHECKING, Any, Coroutine, TypeVar
|
5
6
|
|
@@ -62,12 +63,13 @@ class AnySession(ABC):
|
|
62
63
|
|
63
64
|
@property
|
64
65
|
@abstractmethod
|
65
|
-
def parent(self) ->
|
66
|
+
def parent(self) -> "AnySession | None":
|
66
67
|
"""Parent session"""
|
67
68
|
pass
|
68
69
|
|
70
|
+
@property
|
69
71
|
@abstractmethod
|
70
|
-
def task_path(self) -> str:
|
72
|
+
def task_path(self) -> list[str]:
|
71
73
|
"""Main task's path"""
|
72
74
|
pass
|
73
75
|
|
@@ -105,7 +107,9 @@ class AnySession(ABC):
|
|
105
107
|
pass
|
106
108
|
|
107
109
|
@abstractmethod
|
108
|
-
def defer_monitoring(
|
110
|
+
def defer_monitoring(
|
111
|
+
self, task: "AnyTask", coro: Coroutine[Any, Any, Any] | asyncio.Task[Any]
|
112
|
+
):
|
109
113
|
"""Defers the execution of a task's monitoring coroutine for later processing.
|
110
114
|
|
111
115
|
Args:
|
@@ -115,7 +119,9 @@ class AnySession(ABC):
|
|
115
119
|
pass
|
116
120
|
|
117
121
|
@abstractmethod
|
118
|
-
def defer_action(
|
122
|
+
def defer_action(
|
123
|
+
self, task: "AnyTask", coro: Coroutine[Any, Any, Any] | asyncio.Task[Any]
|
124
|
+
):
|
119
125
|
"""Defers the execution of a task's coroutine for later processing.
|
120
126
|
|
121
127
|
Args:
|
@@ -125,7 +131,7 @@ class AnySession(ABC):
|
|
125
131
|
pass
|
126
132
|
|
127
133
|
@abstractmethod
|
128
|
-
def defer_coro(self, coro: Coroutine):
|
134
|
+
def defer_coro(self, coro: Coroutine[Any, Any, Any] | asyncio.Task[Any]):
|
129
135
|
"""Defers the execution of a coroutine for later processing.
|
130
136
|
|
131
137
|
Args:
|
@@ -185,7 +191,7 @@ class AnySession(ABC):
|
|
185
191
|
pass
|
186
192
|
|
187
193
|
@abstractmethod
|
188
|
-
def is_allowed_to_run(self, task: "AnyTask"):
|
194
|
+
def is_allowed_to_run(self, task: "AnyTask") -> bool:
|
189
195
|
"""Determines if the specified task is allowed to run based on its current state.
|
190
196
|
|
191
197
|
Args:
|
@@ -1,10 +1,12 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
1
3
|
import asyncio
|
2
4
|
from typing import TYPE_CHECKING, Any, Coroutine
|
3
5
|
|
4
6
|
from zrb.context.any_shared_context import AnySharedContext
|
5
7
|
from zrb.context.context import AnyContext, Context
|
6
8
|
from zrb.group.any_group import AnyGroup
|
7
|
-
from zrb.session.any_session import AnySession
|
9
|
+
from zrb.session.any_session import AnySession, TAnySession
|
8
10
|
from zrb.session_state_logger.any_session_state_logger import AnySessionStateLogger
|
9
11
|
from zrb.session_state_logger.session_state_logger_factory import session_state_logger
|
10
12
|
from zrb.task.any_task import AnyTask
|
@@ -48,10 +50,10 @@ class Session(AnySession):
|
|
48
50
|
self._context: dict[AnyTask, Context] = {}
|
49
51
|
self._shared_ctx = shared_ctx
|
50
52
|
self._shared_ctx.set_session(self)
|
51
|
-
self._parent = parent
|
52
|
-
self._action_coros: dict[AnyTask, asyncio.Task] = {}
|
53
|
-
self._monitoring_coros: dict[AnyTask, asyncio.Task] = {}
|
54
|
-
self._coros: list[asyncio.Task] = []
|
53
|
+
self._parent: AnySession | None = parent
|
54
|
+
self._action_coros: dict[AnyTask, asyncio.Task[Any]] = {}
|
55
|
+
self._monitoring_coros: dict[AnyTask, asyncio.Task[Any]] = {}
|
56
|
+
self._coros: list[asyncio.Task[Any]] = []
|
55
57
|
self._colors = [
|
56
58
|
GREEN,
|
57
59
|
YELLOW,
|
@@ -114,11 +116,13 @@ class Session(AnySession):
|
|
114
116
|
return self._parent
|
115
117
|
|
116
118
|
@property
|
117
|
-
def task_path(self) -> str:
|
119
|
+
def task_path(self) -> list[str]:
|
118
120
|
return self._main_task_path
|
119
121
|
|
120
122
|
@property
|
121
123
|
def final_result(self) -> Any:
|
124
|
+
if self._main_task is None:
|
125
|
+
return None
|
122
126
|
xcom: Xcom = self.shared_ctx.xcom[self._main_task.name]
|
123
127
|
try:
|
124
128
|
return xcom.peek()
|
@@ -134,7 +138,11 @@ class Session(AnySession):
|
|
134
138
|
def set_main_task(self, main_task: AnyTask):
|
135
139
|
self.register_task(main_task)
|
136
140
|
self._main_task = main_task
|
137
|
-
main_task_path =
|
141
|
+
main_task_path = (
|
142
|
+
None
|
143
|
+
if self._root_group is None
|
144
|
+
else get_node_path(self._root_group, main_task)
|
145
|
+
)
|
138
146
|
self._main_task_path = [] if main_task_path is None else main_task_path
|
139
147
|
|
140
148
|
def as_state_log(self) -> "SessionStateLog":
|
@@ -171,7 +179,7 @@ class Session(AnySession):
|
|
171
179
|
return SessionStateLog(
|
172
180
|
name=self.name,
|
173
181
|
start_time=log_start_time,
|
174
|
-
main_task_name=self._main_task.name,
|
182
|
+
main_task_name="" if self._main_task is None else self._main_task.name,
|
175
183
|
path=self.task_path,
|
176
184
|
final_result=(
|
177
185
|
remove_style(f"{self.final_result}")
|
@@ -188,16 +196,29 @@ class Session(AnySession):
|
|
188
196
|
self._register_single_task(task)
|
189
197
|
return self._context[task]
|
190
198
|
|
191
|
-
def defer_monitoring(
|
199
|
+
def defer_monitoring(
|
200
|
+
self, task: AnyTask, coro: Coroutine[Any, Any, Any] | asyncio.Task[Any]
|
201
|
+
):
|
192
202
|
self._register_single_task(task)
|
193
|
-
|
203
|
+
if isinstance(coro, asyncio.Task):
|
204
|
+
self._monitoring_coros[task] = coro
|
205
|
+
else:
|
206
|
+
self._monitoring_coros[task] = asyncio.create_task(coro)
|
194
207
|
|
195
|
-
def defer_action(
|
208
|
+
def defer_action(
|
209
|
+
self, task: AnyTask, coro: Coroutine[Any, Any, Any] | asyncio.Task[Any]
|
210
|
+
):
|
196
211
|
self._register_single_task(task)
|
197
|
-
|
212
|
+
if isinstance(coro, asyncio.Task):
|
213
|
+
self._action_coros[task] = coro
|
214
|
+
else:
|
215
|
+
self._action_coros[task] = asyncio.create_task(coro)
|
198
216
|
|
199
|
-
def defer_coro(self, coro: Coroutine):
|
200
|
-
|
217
|
+
def defer_coro(self, coro: Coroutine[Any, Any, Any] | asyncio.Task[Any]):
|
218
|
+
if isinstance(coro, asyncio.Task):
|
219
|
+
self._coros.append(coro)
|
220
|
+
else:
|
221
|
+
self._coros.append(asyncio.create_task(coro))
|
201
222
|
self._coros = [
|
202
223
|
existing_coro for existing_coro in self._coros if not existing_coro.done()
|
203
224
|
]
|
@@ -246,15 +267,15 @@ class Session(AnySession):
|
|
246
267
|
|
247
268
|
def get_next_tasks(self, task: AnyTask) -> list[AnyTask]:
|
248
269
|
self._register_single_task(task)
|
249
|
-
return self._downstreams.get(task)
|
270
|
+
return self._downstreams.get(task, [])
|
250
271
|
|
251
272
|
def get_task_status(self, task: AnyTask) -> TaskStatus:
|
252
273
|
self._register_single_task(task)
|
253
274
|
return self._task_status[task]
|
254
275
|
|
255
276
|
def _register_single_task(self, task: AnyTask):
|
256
|
-
if task.name not in self._shared_ctx.
|
257
|
-
self._shared_ctx.
|
277
|
+
if task.name not in self._shared_ctx.xcom:
|
278
|
+
self._shared_ctx.xcom[task.name] = Xcom([])
|
258
279
|
if task not in self._context:
|
259
280
|
self._context[task] = Context(
|
260
281
|
shared_ctx=self._shared_ctx,
|
@@ -278,7 +299,7 @@ class Session(AnySession):
|
|
278
299
|
self._color_index = 0
|
279
300
|
return chosen
|
280
301
|
|
281
|
-
def _get_icon(self, task: AnyTask) ->
|
302
|
+
def _get_icon(self, task: AnyTask) -> str:
|
282
303
|
if task.icon is not None:
|
283
304
|
return task.icon
|
284
305
|
chosen = self._icons[self._icon_index]
|
@@ -36,6 +36,14 @@ class AnyTask(ABC):
|
|
36
36
|
the actual implementation for these abstract members.
|
37
37
|
"""
|
38
38
|
|
39
|
+
@abstractmethod
|
40
|
+
def __rshift__(self, other: "AnyTask | list[AnyTask]") -> "AnyTask | list[AnyTask]":
|
41
|
+
pass
|
42
|
+
|
43
|
+
@abstractmethod
|
44
|
+
def __lshift__(self, other: "AnyTask | list[AnyTask]") -> "AnyTask":
|
45
|
+
pass
|
46
|
+
|
39
47
|
@property
|
40
48
|
@abstractmethod
|
41
49
|
def name(self) -> str:
|
@@ -127,7 +127,7 @@ class BaseTrigger(BaseTask):
|
|
127
127
|
return self._callbacks
|
128
128
|
|
129
129
|
async def exec_root_tasks(self, session: AnySession):
|
130
|
-
exchange_xcom = self.
|
130
|
+
exchange_xcom = self._get_exchange_xcom(session)
|
131
131
|
exchange_xcom.add_push_callback(lambda: self._exchange_push_callback(session))
|
132
132
|
return await super().exec_root_tasks(session)
|
133
133
|
|
@@ -136,8 +136,7 @@ class BaseTrigger(BaseTask):
|
|
136
136
|
session.defer_coro(coro)
|
137
137
|
|
138
138
|
async def _fanout_and_trigger_callback(self, session: AnySession):
|
139
|
-
|
140
|
-
data = exchange_xcom.pop()
|
139
|
+
data = self.pop_exchange_xcom(session)
|
141
140
|
coros = []
|
142
141
|
for callback in self.callbacks:
|
143
142
|
xcom_dict = DotDict({self.queue_name: Xcom([data])})
|
@@ -156,8 +155,16 @@ class BaseTrigger(BaseTask):
|
|
156
155
|
)
|
157
156
|
await asyncio.gather(*coros)
|
158
157
|
|
159
|
-
def
|
158
|
+
def _get_exchange_xcom(self, session: AnySession) -> Xcom:
|
160
159
|
shared_ctx = session.shared_ctx
|
161
160
|
if self.queue_name not in shared_ctx.xcom:
|
162
161
|
shared_ctx.xcom[self.queue_name] = Xcom()
|
163
162
|
return shared_ctx.xcom[self.queue_name]
|
163
|
+
|
164
|
+
def push_exchange_xcom(self, session: AnySession, data: Any):
|
165
|
+
exchange_xcom = self._get_exchange_xcom(session)
|
166
|
+
exchange_xcom.push(data)
|
167
|
+
|
168
|
+
def pop_exchange_xcom(self, session: AnySession) -> Any:
|
169
|
+
exchange_xcom = self._get_exchange_xcom(session)
|
170
|
+
return exchange_xcom.pop()
|
@@ -1,5 +1,7 @@
|
|
1
|
+
import inspect
|
1
2
|
import json
|
2
3
|
from collections.abc import Callable
|
4
|
+
from dataclasses import dataclass
|
3
5
|
from typing import TYPE_CHECKING, Any
|
4
6
|
|
5
7
|
from zrb.config.llm_rate_limitter import LLMRateLimiter, llm_rate_limitter
|
@@ -30,13 +32,44 @@ def create_agent_instance(
|
|
30
32
|
system_prompt: str = "",
|
31
33
|
model_settings: "ModelSettings | None" = None,
|
32
34
|
tools: "list[ToolOrCallable]" = [],
|
33
|
-
toolsets: list["AbstractToolset[
|
35
|
+
toolsets: list["AbstractToolset[None]"] = [],
|
34
36
|
retries: int = 3,
|
35
37
|
yolo_mode: bool | list[str] | None = None,
|
36
38
|
) -> "Agent[None, Any]":
|
37
39
|
"""Creates a new Agent instance with configured tools and servers."""
|
38
|
-
from pydantic_ai import Agent, Tool
|
40
|
+
from pydantic_ai import Agent, RunContext, Tool
|
39
41
|
from pydantic_ai.tools import GenerateToolJsonSchema
|
42
|
+
from pydantic_ai.toolsets import ToolsetTool, WrapperToolset
|
43
|
+
|
44
|
+
@dataclass
|
45
|
+
class ConfirmationWrapperToolset(WrapperToolset):
|
46
|
+
ctx: AnyContext
|
47
|
+
yolo_mode: bool | list[str]
|
48
|
+
|
49
|
+
async def call_tool(
|
50
|
+
self, name: str, tool_args: dict, ctx: RunContext, tool: ToolsetTool[None]
|
51
|
+
) -> Any:
|
52
|
+
# The `tool` object is passed in. Use it for inspection.
|
53
|
+
# Define a temporary function that performs the actual tool call.
|
54
|
+
async def execute_delegated_tool_call(**params):
|
55
|
+
# Pass all arguments down the chain.
|
56
|
+
return await self.wrapped.call_tool(name, tool_args, ctx, tool)
|
57
|
+
|
58
|
+
# For the confirmation UI, make our temporary function look like the real one.
|
59
|
+
try:
|
60
|
+
execute_delegated_tool_call.__name__ = tool.function.__name__
|
61
|
+
execute_delegated_tool_call.__doc__ = tool.function.__doc__
|
62
|
+
execute_delegated_tool_call.__signature__ = inspect.signature(
|
63
|
+
tool.function
|
64
|
+
)
|
65
|
+
except (AttributeError, TypeError):
|
66
|
+
pass # Ignore if we can't inspect the original function
|
67
|
+
# Use the existing wrap_func to get the confirmation logic
|
68
|
+
wrapped_executor = wrap_func(
|
69
|
+
execute_delegated_tool_call, self.ctx, self.yolo_mode
|
70
|
+
)
|
71
|
+
# Call the wrapped executor. This will trigger the confirmation prompt.
|
72
|
+
return await wrapped_executor(**tool_args)
|
40
73
|
|
41
74
|
if yolo_mode is None:
|
42
75
|
yolo_mode = False
|
@@ -64,13 +97,18 @@ def create_agent_instance(
|
|
64
97
|
else:
|
65
98
|
# Turn function into tool
|
66
99
|
tool_list.append(wrap_tool(tool_or_callable, ctx, yolo_mode))
|
100
|
+
# Wrap toolsets
|
101
|
+
wrapped_toolsets = [
|
102
|
+
ConfirmationWrapperToolset(wrapped=toolset, ctx=ctx, yolo_mode=yolo_mode)
|
103
|
+
for toolset in toolsets
|
104
|
+
]
|
67
105
|
# Return Agent
|
68
106
|
return Agent[None, Any](
|
69
107
|
model=model,
|
70
108
|
output_type=output_type,
|
71
109
|
system_prompt=system_prompt,
|
72
110
|
tools=tool_list,
|
73
|
-
toolsets=
|
111
|
+
toolsets=wrapped_toolsets,
|
74
112
|
model_settings=model_settings,
|
75
113
|
retries=retries,
|
76
114
|
)
|
@@ -24,7 +24,7 @@ class Scheduler(BaseTrigger):
|
|
24
24
|
cli_only: bool = False,
|
25
25
|
input: list[AnyInput | None] | AnyInput | None = None,
|
26
26
|
env: list[AnyEnv | None] | AnyEnv | None = None,
|
27
|
-
schedule: StrAttr = None,
|
27
|
+
schedule: StrAttr | None = None,
|
28
28
|
execute_condition: bool | str | Callable[[AnySharedContext], bool] = True,
|
29
29
|
queue_name: fstring | None = None,
|
30
30
|
callback: list[AnyCallback] | AnyCallback = [],
|
@@ -76,6 +76,6 @@ class Scheduler(BaseTrigger):
|
|
76
76
|
ctx.print(f"Current time: {now}")
|
77
77
|
if match_cron(cron_pattern, now):
|
78
78
|
ctx.print(f"Matching {now} with pattern: {cron_pattern}")
|
79
|
-
|
80
|
-
|
79
|
+
if ctx.session is not None:
|
80
|
+
self.push_exchange_xcom(ctx.session, now)
|
81
81
|
await asyncio.sleep(60)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.15.25 → zrb-1.15.27}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|