zrb 1.8.15__tar.gz → 1.9.0__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.8.15 → zrb-1.9.0}/PKG-INFO +1 -1
- {zrb-1.8.15 → zrb-1.9.0}/pyproject.toml +1 -1
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/chat_session.py +16 -11
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/llm_config.py +132 -165
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/any_task.py +6 -9
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/agent.py +26 -33
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/config.py +4 -7
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/context.py +0 -44
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/context_enrichment.py +44 -81
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/error.py +2 -4
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/history.py +19 -11
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/history_summarization.py +46 -69
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/print_node.py +10 -8
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/prompt.py +12 -19
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/tool_wrapper.py +2 -4
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm_task.py +52 -60
- {zrb-1.8.15 → zrb-1.9.0}/README.md +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/__main__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/attr/type.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/git.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/group.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/http.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/jwt.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/history.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/llm_ask.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/code.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/file.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/sub_agent.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/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.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/python.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/random.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/builtin/uuid.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/callback/callback.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/config.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/context/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/context/any_context.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/context/context.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/env/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/env/any_env.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/env/env.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/env/env_file.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/env/env_map.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/group/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/group/any_group.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/group/group.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/any_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/base_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/float_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/int_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/option_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/password_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/str_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/input/text_input.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/llm_rate_limitter.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/cli.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_auth_config.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/global_template.html +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/common.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.amber.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.blue.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.cyan.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.fuchsia.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.green.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.grey.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.indigo.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.jade.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.lime.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.orange.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.pink.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.pumpkin.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.purple.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.red.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.sand.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.slate.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.violet.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.yellow.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/pico-css/pico.zinc.min.css +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session/any_session.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session/session.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base/context.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base/execution.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base/lifecycle.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base/monitoring.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base/operators.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/http_check.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/llm/typing.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/make_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/task.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/attr.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/cron.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/file.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/git.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/group.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/init_path.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/load.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/run.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/string/format.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/string/name.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/todo.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/util/todo_model.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.8.15 → zrb-1.9.0}/src/zrb/xcom/xcom.py +0 -0
@@ -29,7 +29,9 @@ async def read_user_prompt(ctx: AnyContext) -> str:
|
|
29
29
|
|
30
30
|
_show_info(ctx)
|
31
31
|
final_result = ""
|
32
|
-
ctx.print(stylize_faint("
|
32
|
+
ctx.print(stylize_faint("💬"), plain=True)
|
33
|
+
ctx.print(ctx.input.message, plain=True)
|
34
|
+
ctx.print("", plain=True)
|
33
35
|
result = await _trigger_ask_and_wait_for_result(
|
34
36
|
ctx,
|
35
37
|
user_prompt=ctx.input.message,
|
@@ -46,9 +48,11 @@ async def read_user_prompt(ctx: AnyContext) -> str:
|
|
46
48
|
user_input_session = PromptSession()
|
47
49
|
while True:
|
48
50
|
await asyncio.sleep(0.01)
|
49
|
-
|
51
|
+
if not multiline_mode:
|
52
|
+
ctx.print(stylize_faint("💬"), plain=True)
|
50
53
|
user_input = await user_input_session.prompt_async()
|
51
|
-
|
54
|
+
if not multiline_mode:
|
55
|
+
ctx.print("", plain=True)
|
52
56
|
# Handle special input
|
53
57
|
if user_input.strip().lower() in ("/bye", "/quit"):
|
54
58
|
user_prompt = "\n".join(user_inputs)
|
@@ -60,6 +64,7 @@ async def read_user_prompt(ctx: AnyContext) -> str:
|
|
60
64
|
elif user_input.strip().lower() in ("/multi",):
|
61
65
|
multiline_mode = True
|
62
66
|
elif user_input.strip().lower() in ("/end",):
|
67
|
+
ctx.print("", plain=True)
|
63
68
|
multiline_mode = False
|
64
69
|
user_prompt = "\n".join(user_inputs)
|
65
70
|
user_inputs = []
|
@@ -103,7 +108,9 @@ async def _trigger_ask_and_wait_for_result(
|
|
103
108
|
return None
|
104
109
|
await _trigger_ask(ctx, user_prompt, previous_session_name, start_new)
|
105
110
|
result = await _wait_ask_result(ctx)
|
106
|
-
ctx.print(
|
111
|
+
ctx.print(stylize_faint("\n🤖"), plain=True)
|
112
|
+
ctx.print(result, plain=True)
|
113
|
+
ctx.print("", plain=True)
|
107
114
|
return result
|
108
115
|
|
109
116
|
|
@@ -199,13 +206,11 @@ def _show_info(ctx: AnyContext):
|
|
199
206
|
ctx: The context object for the task.
|
200
207
|
"""
|
201
208
|
ctx.print(
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
f"{stylize_bold_yellow('/help')} {stylize_faint('Show this message')}",
|
208
|
-
]
|
209
|
+
(
|
210
|
+
f" {stylize_bold_yellow('/bye')} {stylize_faint('Quit from chat session')}\n"
|
211
|
+
f" {stylize_bold_yellow('/multi')} {stylize_faint('Start multiline input')}\n"
|
212
|
+
f" {stylize_bold_yellow('/end')} {stylize_faint('End multiline input')}\n"
|
213
|
+
f" {stylize_bold_yellow('/help')} {stylize_faint('Show this message')}\n"
|
209
214
|
),
|
210
215
|
plain=True,
|
211
216
|
)
|
@@ -15,185 +15,152 @@ DEFAULT_PERSONA = (
|
|
15
15
|
).strip()
|
16
16
|
|
17
17
|
DEFAULT_INTERACTIVE_SYSTEM_PROMPT = (
|
18
|
-
"
|
19
|
-
"
|
20
|
-
"
|
21
|
-
"
|
22
|
-
"
|
23
|
-
"
|
24
|
-
"
|
25
|
-
"**
|
26
|
-
"
|
27
|
-
"
|
28
|
-
"
|
29
|
-
"
|
30
|
-
" - Compare this with the user's absolute LATEST message.\n"
|
31
|
-
" - **If your memory seems out of date or contradicts the user's new "
|
32
|
-
"request, you MUST ask for clarification before doing anything else.**\n"
|
33
|
-
" - Example: If memory says 'ready to build the app' but the user "
|
34
|
-
"asks to 'add a new file', ask: 'My notes say we were about to build. "
|
35
|
-
"Are you sure you want to add a new file first? Please confirm.'\n\n"
|
36
|
-
"2. **Plan:**\n"
|
37
|
-
" - Use the `Action Payload` from your memory if it exists.\n"
|
38
|
-
" - State your plan in simple, numbered steps.\n\n"
|
39
|
-
"3. **Execute:**\n"
|
40
|
-
" - Follow your plan and use your tools to complete the task.\n\n"
|
41
|
-
"**CRITICAL RULES**\n"
|
42
|
-
"- **TRUST YOUR MEMORY (AFTER VERIFICATION):** Once you confirm your "
|
43
|
-
"memory is correct, do NOT re-gather information. Use the `Action "
|
44
|
-
"Payload` directly.\n"
|
45
|
-
"- **ASK IF UNSURE:** If a required parameter (like a filename) is not in "
|
46
|
-
"your memory or the user's last message, you MUST ask for it. Do not "
|
47
|
-
"guess."
|
18
|
+
"This is an interactive session. To assist the user, you MUST follow "
|
19
|
+
"this core workflow:\n\n"
|
20
|
+
"# Core Interactive Workflow\n"
|
21
|
+
"1. **Clarify:** If the user's request is ambiguous, ask clarifying "
|
22
|
+
"questions to ensure you fully understand their goal.\n"
|
23
|
+
"2. **Plan:** For any non-trivial task, briefly outline your plan to the "
|
24
|
+
"user before you begin.\n"
|
25
|
+
"3. **Execute:** Carry out the plan, using your available tools as "
|
26
|
+
"needed.\n"
|
27
|
+
"4. **Confirm:** Before performing any significant or irreversible "
|
28
|
+
"action (e.g., modifying files, committing code), state your intention "
|
29
|
+
"and ask for the user's confirmation to proceed."
|
48
30
|
).strip()
|
49
31
|
|
50
32
|
DEFAULT_SYSTEM_PROMPT = (
|
51
|
-
"
|
52
|
-
"
|
53
|
-
"Fulfill the
|
54
|
-
"
|
33
|
+
"To fulfill this one-shot request, follow this simple process:\n"
|
34
|
+
"1. **Analyze:** Deconstruct the user's request.\n"
|
35
|
+
"2. **Execute:** Fulfill the request directly and concisely, using tools "
|
36
|
+
"if necessary.\n"
|
37
|
+
"3. **Answer:** Provide a clear and accurate answer."
|
55
38
|
).strip()
|
56
39
|
|
57
40
|
DEFAULT_SPECIAL_INSTRUCTION_PROMPT = (
|
58
|
-
"
|
59
|
-
"
|
60
|
-
"
|
61
|
-
"
|
62
|
-
"
|
63
|
-
"
|
64
|
-
"
|
65
|
-
"- **
|
66
|
-
"
|
67
|
-
"-
|
68
|
-
"
|
69
|
-
"
|
70
|
-
"
|
71
|
-
"
|
72
|
-
"
|
73
|
-
"
|
74
|
-
"2.
|
75
|
-
"
|
76
|
-
"
|
77
|
-
"
|
78
|
-
"**
|
79
|
-
"1.
|
80
|
-
"
|
81
|
-
"
|
82
|
-
"
|
83
|
-
"
|
84
|
-
"
|
41
|
+
"If the user's request falls into a specialized category below, follow "
|
42
|
+
"the associated protocol.\n\n"
|
43
|
+
"---\n"
|
44
|
+
"## Software Engineering Protocol\n"
|
45
|
+
"This protocol applies to any request involving coding, debugging, or "
|
46
|
+
"other software development tasks.\n\n"
|
47
|
+
"### 1. Guiding Mandates\n"
|
48
|
+
"- **Safety First:** Never perform destructive actions without explicit "
|
49
|
+
"user confirmation. Explain critical commands before executing them.\n"
|
50
|
+
"- **Adhere to Conventions:** Your changes must blend in seamlessly with "
|
51
|
+
"the existing codebase. Match the formatting, naming, and architectural "
|
52
|
+
"patterns. *Never assume* a project's conventions; use your tools to "
|
53
|
+
"discover them.\n"
|
54
|
+
"- **No Assumptions on Dependencies:** Never assume a library or "
|
55
|
+
"framework is available. Verify its presence in `package.json`, "
|
56
|
+
"`requirements.txt`, or similar files first.\n\n"
|
57
|
+
"### 2. Core Workflow\n"
|
58
|
+
"1. **Understand:** Use your tools to analyze the relevant files and "
|
59
|
+
"codebase. Announce what you are inspecting (e.g., 'Okay, I will read "
|
60
|
+
"`main.py` and `utils.py` to understand the context.').\n"
|
61
|
+
"2. **Plan:** Announce your step-by-step plan (e.g., 'Here is my plan: "
|
62
|
+
"1. Add the function to `utils.py`. 2. Import and call it in `main.py`. "
|
63
|
+
"3. Run the tests.').\n"
|
64
|
+
"3. **Implement:** Execute the plan using your tools, following the "
|
65
|
+
"mandates above.\n"
|
66
|
+
"4. **Verify:** After making changes, run the relevant verification "
|
67
|
+
"commands (e.g., tests, linters). Announce the command you will run "
|
68
|
+
"(e.g., 'Now, I will run `npm test` to verify the changes.').\n"
|
69
|
+
"5. **Conclude:** Report the results of the verification step. If "
|
70
|
+
"successful, ask for the next step (e.g., 'All tests passed. Should I "
|
71
|
+
"commit these changes?')."
|
85
72
|
).strip()
|
86
73
|
|
87
74
|
DEFAULT_SUMMARIZATION_PROMPT = (
|
88
|
-
"You are a
|
89
|
-
"
|
90
|
-
"
|
91
|
-
"
|
92
|
-
"
|
93
|
-
"
|
94
|
-
"
|
95
|
-
"
|
96
|
-
"
|
97
|
-
"
|
98
|
-
"
|
99
|
-
"
|
100
|
-
"
|
101
|
-
"
|
102
|
-
"
|
103
|
-
"
|
104
|
-
"
|
75
|
+
"You are a Conversation Historian, a specialized assistant responsible "
|
76
|
+
"for updating a conversation summary to preserve context for the main "
|
77
|
+
"assistant.\n\n"
|
78
|
+
"## Historian Protocol\n"
|
79
|
+
"You MUST follow this protocol to generate the updated summary.\n\n"
|
80
|
+
"### 1. Input\n"
|
81
|
+
"You will receive two pieces of information:\n"
|
82
|
+
"1. The `Previous Summary` (which contains a narrative and recent history).\n"
|
83
|
+
"2. The `Recent Conversation History` (the new turns since the last "
|
84
|
+
"summary was made).\n\n"
|
85
|
+
"### 2. Task\n"
|
86
|
+
"Your job is to integrate the `Recent Conversation History` into the "
|
87
|
+
"`Previous Summary`.\n"
|
88
|
+
"1. Update the `Narrative Summary` to include the key events from the "
|
89
|
+
"new conversation turns.\n"
|
90
|
+
"2. Replace the `Recent History` with the last 4 turns of the *new* "
|
91
|
+
"conversation.\n\n"
|
92
|
+
"### 3. Output Specification\n"
|
93
|
+
"Your entire output MUST be a single block of text containing the "
|
94
|
+
"following two sections in this exact order:\n"
|
95
|
+
"1. `## Narrative Summary` (The updated narrative)\n"
|
96
|
+
"2. `## Recent History` (The new recent history)\n\n"
|
105
97
|
"---\n"
|
106
|
-
"##
|
107
|
-
"
|
108
|
-
"
|
109
|
-
"
|
110
|
-
"
|
111
|
-
"
|
112
|
-
"
|
113
|
-
"
|
114
|
-
"
|
115
|
-
"
|
116
|
-
"
|
117
|
-
"
|
118
|
-
"
|
119
|
-
"
|
120
|
-
"
|
121
|
-
"
|
122
|
-
"
|
123
|
-
"
|
124
|
-
"##
|
125
|
-
"user
|
126
|
-
"
|
127
|
-
"
|
128
|
-
"
|
129
|
-
"user:
|
130
|
-
"
|
131
|
-
"
|
132
|
-
"
|
133
|
-
"Update the project documentation.\n\n"
|
134
|
-
"**Next Action for Assistant:**\n"
|
135
|
-
"Write new content to the README.md file.\n\n"
|
136
|
-
"**Action Payload:**\n"
|
137
|
-
"# Project Apollo\n"
|
138
|
-
"This is the new documentation for the project.\n"
|
139
|
-
"---"
|
98
|
+
"## Example\n\n"
|
99
|
+
"### Input to You:\n\n"
|
100
|
+
"--- previous_summary ---\n"
|
101
|
+
"## Narrative Summary\n"
|
102
|
+
"The user, working on the 'Apollo' project, requested to refactor "
|
103
|
+
"`auth.py`.\n"
|
104
|
+
"## Recent History\n"
|
105
|
+
"user: I need to refactor auth.py to use the new 'requests' library.\n"
|
106
|
+
"assistant: Understood. I am starting the refactoring now.\n"
|
107
|
+
"user: Has it been completed?\n"
|
108
|
+
"assistant: Yes. The refactoring of `auth.py` is complete and all tests "
|
109
|
+
"are passing.\n"
|
110
|
+
"--- recent_conversation_history ---\n"
|
111
|
+
"user: Excellent. Now, please update the documentation in README.md.\n"
|
112
|
+
"assistant: I have updated the README.md file with the new documentation.\n"
|
113
|
+
"user: Looks good. Can you commit the changes for me?\n"
|
114
|
+
"assistant: Of course. What should the commit message be?\n\n"
|
115
|
+
"### Your Correct Output:\n"
|
116
|
+
"## Narrative Summary\n"
|
117
|
+
"The user, working on the 'Apollo' project, requested to refactor "
|
118
|
+
"`auth.py`. This was completed successfully. The user then asked to "
|
119
|
+
"update the documentation in `README.md`, which was also completed.\n\n"
|
120
|
+
"## Recent History\n"
|
121
|
+
"user: Excellent. Now, please update the documentation in README.md.\n"
|
122
|
+
"assistant: I have updated the README.md file with the new documentation.\n"
|
123
|
+
"user: Looks good. Can you commit the changes for me?\n"
|
124
|
+
"assistant: Of course. What should the commit message be?\n"
|
140
125
|
).strip()
|
141
126
|
|
142
127
|
DEFAULT_CONTEXT_ENRICHMENT_PROMPT = (
|
143
|
-
"You are
|
144
|
-
"
|
145
|
-
"
|
146
|
-
"
|
147
|
-
"
|
148
|
-
"
|
149
|
-
"
|
150
|
-
"
|
151
|
-
"
|
152
|
-
"
|
153
|
-
"
|
154
|
-
"
|
155
|
-
"
|
156
|
-
"
|
157
|
-
"
|
158
|
-
"
|
159
|
-
|
160
|
-
"NOT GUESS.\n\n"
|
161
|
-
"---\n"
|
162
|
-
"**JSON TEMPLATE TO FILL:**\n\n"
|
163
|
-
"Copy this exact structure. Only fill in values for stable facts you "
|
164
|
-
"find.\n\n"
|
165
|
-
"{\n"
|
166
|
-
' "response": {\n'
|
167
|
-
' "user_profile": {\n'
|
168
|
-
' "user_name": "",\n'
|
169
|
-
' "language_preference": ""\n'
|
170
|
-
" },\n"
|
171
|
-
' "project_details": {\n'
|
172
|
-
' "project_name": "",\n'
|
173
|
-
' "primary_file_path": ""\n'
|
174
|
-
" }\n"
|
175
|
-
" }\n"
|
176
|
-
"}\n\n"
|
128
|
+
"You are a Memory Curator assistant. Your sole purpose is to process a "
|
129
|
+
"conversation and produce a concise, up-to-date Markdown block of "
|
130
|
+
"long-term context for the main assistant.\n\n"
|
131
|
+
"You will be given the previous 'Long-Term Context' and the 'Recent "
|
132
|
+
"Conversation History'. Your job is to return a NEW, UPDATED version of "
|
133
|
+
"the 'Long-Term Context'.\n\n"
|
134
|
+
"**Your Curation Process:**\n"
|
135
|
+
"1. **Review:** Analyze the existing 'Long-Term Context'.\n"
|
136
|
+
"2. **Update:** Read the 'Recent Conversation History' to identify "
|
137
|
+
"new facts, changed goals, or completed tasks.\n"
|
138
|
+
"3. **Re-write:** Create the new 'Long-Term Context' by applying these "
|
139
|
+
"changes.\n\n"
|
140
|
+
"**CRITICAL CURATION RULES:**\n"
|
141
|
+
"- **ADD** new, stable facts (e.g., user preferences, project names).\n"
|
142
|
+
"- **UPDATE** existing facts if the user provides new information.\n"
|
143
|
+
"- **REMOVE** goals, tasks, or files that are completed or no longer "
|
144
|
+
"relevant. This is essential for keeping the context fresh.\n\n"
|
177
145
|
"---\n"
|
178
|
-
"**EXAMPLE SCENARIO**\n\n"
|
179
|
-
"
|
180
|
-
"
|
181
|
-
"
|
182
|
-
"
|
183
|
-
"
|
184
|
-
"
|
185
|
-
"
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
"
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
"
|
195
|
-
"
|
196
|
-
"}"
|
146
|
+
"**EXAMPLE SCENARIO & CORRECT OUTPUT**\n\n"
|
147
|
+
"**INPUT TO YOU:**\n\n"
|
148
|
+
"--- previous_long_term_context ---\n"
|
149
|
+
"## Long-Term Context\n"
|
150
|
+
"- **User Profile:** The user's name is Alex.\n"
|
151
|
+
"- **Current Goal:** Refactor the `auth.py` module to use a new library.\n"
|
152
|
+
"- **Key Files:** `auth.py`\n"
|
153
|
+
"--- recent_conversation_history ---\n"
|
154
|
+
"assistant: The refactoring of `auth.py` is complete and all tests are "
|
155
|
+
"passing.\n"
|
156
|
+
"user: Great! Now, can you please write the documentation for the new "
|
157
|
+
"`auth.py` module in the `README.md` file?\n\n"
|
158
|
+
"**YOUR CORRECT OUTPUT (as a single Markdown block):**\n\n"
|
159
|
+
"## Long-Term Context\n"
|
160
|
+
"- **User Profile:** The user's name is Alex.\n"
|
161
|
+
"- **Current Goal:** Write documentation for the `auth.py` module in "
|
162
|
+
"`README.md`.\n"
|
163
|
+
"- **Key Files:** `auth.py`, `README.md`\n"
|
197
164
|
).strip()
|
198
165
|
|
199
166
|
|
@@ -9,9 +9,6 @@ from zrb.input.any_input import AnyInput
|
|
9
9
|
if TYPE_CHECKING:
|
10
10
|
from zrb.context.any_context import AnyContext
|
11
11
|
from zrb.session.any_session import AnySession
|
12
|
-
else:
|
13
|
-
AnyContext = Any
|
14
|
-
AnySession = Any
|
15
12
|
|
16
13
|
|
17
14
|
class AnyTask(ABC):
|
@@ -146,12 +143,12 @@ class AnyTask(ABC):
|
|
146
143
|
pass
|
147
144
|
|
148
145
|
@abstractmethod
|
149
|
-
def get_ctx(self, session: AnySession) -> AnyContext:
|
146
|
+
def get_ctx(self, session: "AnySession") -> "AnyContext":
|
150
147
|
pass
|
151
148
|
|
152
149
|
@abstractmethod
|
153
150
|
def run(
|
154
|
-
self, session: AnySession | None = None, str_kwargs: dict[str, str] = {}
|
151
|
+
self, session: "AnySession | None" = None, str_kwargs: dict[str, str] = {}
|
155
152
|
) -> Any:
|
156
153
|
"""Runs the task synchronously.
|
157
154
|
|
@@ -166,7 +163,7 @@ class AnyTask(ABC):
|
|
166
163
|
|
167
164
|
@abstractmethod
|
168
165
|
async def async_run(
|
169
|
-
self, session: AnySession | None = None, str_kwargs: dict[str, str] = {}
|
166
|
+
self, session: "AnySession | None" = None, str_kwargs: dict[str, str] = {}
|
170
167
|
) -> Any:
|
171
168
|
"""Runs the task asynchronously.
|
172
169
|
|
@@ -180,7 +177,7 @@ class AnyTask(ABC):
|
|
180
177
|
pass
|
181
178
|
|
182
179
|
@abstractmethod
|
183
|
-
async def exec_root_tasks(self, session: AnySession):
|
180
|
+
async def exec_root_tasks(self, session: "AnySession"):
|
184
181
|
"""Execute the root tasks along with the downstreams until the current task
|
185
182
|
is ready.
|
186
183
|
|
@@ -190,7 +187,7 @@ class AnyTask(ABC):
|
|
190
187
|
pass
|
191
188
|
|
192
189
|
@abstractmethod
|
193
|
-
async def exec_chain(self, session: AnySession):
|
190
|
+
async def exec_chain(self, session: "AnySession"):
|
194
191
|
"""Execute the task along with the downstreams.
|
195
192
|
|
196
193
|
Args:
|
@@ -199,7 +196,7 @@ class AnyTask(ABC):
|
|
199
196
|
pass
|
200
197
|
|
201
198
|
@abstractmethod
|
202
|
-
async def exec(self, session: AnySession):
|
199
|
+
async def exec(self, session: "AnySession"):
|
203
200
|
"""Execute the task (without upstream or downstream).
|
204
201
|
|
205
202
|
Args:
|
@@ -1,23 +1,7 @@
|
|
1
|
+
import json
|
1
2
|
from collections.abc import Callable
|
2
3
|
from typing import TYPE_CHECKING, Any
|
3
4
|
|
4
|
-
if TYPE_CHECKING:
|
5
|
-
from pydantic_ai import Agent, Tool
|
6
|
-
from pydantic_ai.agent import AgentRun
|
7
|
-
from pydantic_ai.mcp import MCPServer
|
8
|
-
from pydantic_ai.models import Model
|
9
|
-
from pydantic_ai.settings import ModelSettings
|
10
|
-
else:
|
11
|
-
Agent = Any
|
12
|
-
Tool = Any
|
13
|
-
AgentRun = Any
|
14
|
-
MCPServer = Any
|
15
|
-
ModelMessagesTypeAdapter = Any
|
16
|
-
Model = Any
|
17
|
-
ModelSettings = Any
|
18
|
-
|
19
|
-
import json
|
20
|
-
|
21
5
|
from zrb.context.any_context import AnyContext
|
22
6
|
from zrb.context.any_shared_context import AnySharedContext
|
23
7
|
from zrb.llm_rate_limitter import LLMRateLimiter, llm_rate_limitter
|
@@ -26,18 +10,27 @@ from zrb.task.llm.print_node import print_node
|
|
26
10
|
from zrb.task.llm.tool_wrapper import wrap_tool
|
27
11
|
from zrb.task.llm.typing import ListOfDict
|
28
12
|
|
29
|
-
|
13
|
+
if TYPE_CHECKING:
|
14
|
+
from pydantic_ai import Agent, Tool
|
15
|
+
from pydantic_ai.agent import AgentRun
|
16
|
+
from pydantic_ai.mcp import MCPServer
|
17
|
+
from pydantic_ai.models import Model
|
18
|
+
from pydantic_ai.settings import ModelSettings
|
19
|
+
|
20
|
+
ToolOrCallable = Tool | Callable
|
21
|
+
else:
|
22
|
+
ToolOrCallable = Any
|
30
23
|
|
31
24
|
|
32
25
|
def create_agent_instance(
|
33
26
|
ctx: AnyContext,
|
34
|
-
model: str | Model | None = None,
|
27
|
+
model: "str | Model | None" = None,
|
35
28
|
system_prompt: str = "",
|
36
|
-
model_settings: ModelSettings | None = None,
|
29
|
+
model_settings: "ModelSettings | None" = None,
|
37
30
|
tools: list[ToolOrCallable] = [],
|
38
|
-
mcp_servers: list[MCPServer] = [],
|
31
|
+
mcp_servers: list["MCPServer"] = [],
|
39
32
|
retries: int = 3,
|
40
|
-
) -> Agent:
|
33
|
+
) -> "Agent":
|
41
34
|
"""Creates a new Agent instance with configured tools and servers."""
|
42
35
|
from pydantic_ai import Agent, Tool
|
43
36
|
|
@@ -62,18 +55,18 @@ def create_agent_instance(
|
|
62
55
|
|
63
56
|
def get_agent(
|
64
57
|
ctx: AnyContext,
|
65
|
-
agent_attr: Agent | Callable[[AnySharedContext], Agent] | None,
|
66
|
-
model: str | Model | None,
|
58
|
+
agent_attr: "Agent | Callable[[AnySharedContext], Agent] | None",
|
59
|
+
model: "str | Model | None",
|
67
60
|
system_prompt: str,
|
68
|
-
model_settings: ModelSettings | None,
|
61
|
+
model_settings: "ModelSettings | None",
|
69
62
|
tools_attr: (
|
70
63
|
list[ToolOrCallable] | Callable[[AnySharedContext], list[ToolOrCallable]]
|
71
64
|
),
|
72
65
|
additional_tools: list[ToolOrCallable],
|
73
|
-
mcp_servers_attr: list[MCPServer] | Callable[[AnySharedContext], list[MCPServer]],
|
74
|
-
additional_mcp_servers: list[MCPServer],
|
66
|
+
mcp_servers_attr: "list[MCPServer] | Callable[[AnySharedContext], list[MCPServer]]",
|
67
|
+
additional_mcp_servers: "list[MCPServer]",
|
75
68
|
retries: int = 3,
|
76
|
-
) -> Agent:
|
69
|
+
) -> "Agent":
|
77
70
|
"""Retrieves the configured Agent instance or creates one if necessary."""
|
78
71
|
from pydantic_ai import Agent
|
79
72
|
|
@@ -111,12 +104,12 @@ def get_agent(
|
|
111
104
|
|
112
105
|
async def run_agent_iteration(
|
113
106
|
ctx: AnyContext,
|
114
|
-
agent: Agent,
|
107
|
+
agent: "Agent",
|
115
108
|
user_prompt: str,
|
116
109
|
history_list: ListOfDict,
|
117
110
|
rate_limitter: LLMRateLimiter | None = None,
|
118
111
|
max_retry: int = 2,
|
119
|
-
) -> AgentRun:
|
112
|
+
) -> "AgentRun":
|
120
113
|
"""
|
121
114
|
Runs a single iteration of the agent execution loop.
|
122
115
|
|
@@ -153,11 +146,11 @@ async def run_agent_iteration(
|
|
153
146
|
|
154
147
|
async def _run_single_agent_iteration(
|
155
148
|
ctx: AnyContext,
|
156
|
-
agent: Agent,
|
149
|
+
agent: "Agent",
|
157
150
|
user_prompt: str,
|
158
151
|
history_list: ListOfDict,
|
159
152
|
rate_limitter: LLMRateLimiter | None = None,
|
160
|
-
) -> AgentRun:
|
153
|
+
) -> "AgentRun":
|
161
154
|
from openai import APIError
|
162
155
|
from pydantic_ai.messages import ModelMessagesTypeAdapter
|
163
156
|
|
@@ -190,7 +183,7 @@ async def _run_single_agent_iteration(
|
|
190
183
|
|
191
184
|
|
192
185
|
def estimate_request_payload(
|
193
|
-
agent: Agent, user_prompt: str, history_list: ListOfDict
|
186
|
+
agent: "Agent", user_prompt: str, history_list: ListOfDict
|
194
187
|
) -> str:
|
195
188
|
system_prompts = agent._system_prompts if hasattr(agent, "_system_prompts") else ()
|
196
189
|
return json.dumps(
|
@@ -3,9 +3,6 @@ from typing import TYPE_CHECKING, Any, Callable
|
|
3
3
|
if TYPE_CHECKING:
|
4
4
|
from pydantic_ai.models import Model
|
5
5
|
from pydantic_ai.settings import ModelSettings
|
6
|
-
else:
|
7
|
-
Model = Any
|
8
|
-
ModelSettings = Any
|
9
6
|
|
10
7
|
from zrb.attr.type import StrAttr, fstring
|
11
8
|
from zrb.context.any_context import AnyContext
|
@@ -17,9 +14,9 @@ from zrb.util.attr import get_attr
|
|
17
14
|
def get_model_settings(
|
18
15
|
ctx: AnyContext,
|
19
16
|
model_settings_attr: (
|
20
|
-
ModelSettings | Callable[[AnySharedContext], ModelSettings] | None
|
17
|
+
"ModelSettings | Callable[[AnySharedContext], ModelSettings] | None"
|
21
18
|
) = None,
|
22
|
-
) -> ModelSettings | None:
|
19
|
+
) -> "ModelSettings | None":
|
23
20
|
"""Gets the model settings, resolving callables if necessary."""
|
24
21
|
model_settings = get_attr(ctx, model_settings_attr, None, auto_render=False)
|
25
22
|
if model_settings is None:
|
@@ -59,13 +56,13 @@ def get_model_api_key(
|
|
59
56
|
|
60
57
|
def get_model(
|
61
58
|
ctx: AnyContext,
|
62
|
-
model_attr: Callable[[AnySharedContext], Model | str | fstring] | Model | None,
|
59
|
+
model_attr: "Callable[[AnySharedContext], Model | str | fstring] | Model | None",
|
63
60
|
render_model: bool,
|
64
61
|
model_base_url_attr: StrAttr | None = None,
|
65
62
|
render_model_base_url: bool = True,
|
66
63
|
model_api_key_attr: StrAttr | None = None,
|
67
64
|
render_model_api_key: bool = True,
|
68
|
-
) -> str | Model | None:
|
65
|
+
) -> "str | Model | None":
|
69
66
|
"""Gets the model instance or name, handling defaults and configuration."""
|
70
67
|
from pydantic_ai.models import Model
|
71
68
|
|