zrb 1.0.0b3__tar.gz → 1.0.0b5__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.0.0b3 → zrb-1.0.0b5}/PKG-INFO +2 -2
- {zrb-1.0.0b3 → zrb-1.0.0b5}/pyproject.toml +2 -2
- zrb-1.0.0b5/src/zrb/builtin/llm/llm_chat.py +127 -0
- zrb-1.0.0b5/src/zrb/builtin/llm/previous-session.js +21 -0
- zrb-1.0.0b5/src/zrb/builtin/llm/tool/api.py +29 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/todo.py +1 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/config.py +13 -15
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/any_input.py +5 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/base_input.py +6 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/bool_input.py +2 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/float_input.py +2 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/int_input.py +2 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/option_input.py +2 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/password_input.py +2 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/text_input.py +2 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/common_util.py +1 -1
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/node_page/task/view.html +1 -1
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/session/current-session.js +10 -7
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/session/event.js +14 -2
- zrb-1.0.0b5/src/zrb/task/llm_task.py +201 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/llm/tool.py +33 -5
- zrb-1.0.0b3/src/zrb/builtin/llm/llm_chat.py +0 -49
- zrb-1.0.0b3/src/zrb/task/llm_task.py +0 -331
- {zrb-1.0.0b3 → zrb-1.0.0b5}/README.md +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/__main__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/attr/type.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/git.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/group.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/migrate.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/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.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/session.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/python.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/random.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/callback/callback.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/context/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/context/any_context.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/context/context.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/env/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/env/any_env.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/env/env.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/env/env_file.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/env/env_map.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/group/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/group/any_group.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/group/group.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/input/str_input.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/cli.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_config/config.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_config/config_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session/any_session.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session/session.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/any_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/base_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/http_check.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/make_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/task.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/attr.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/append_code_to_class.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/append_code_to_function.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/append_code_to_method.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/append_key_to_dict.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/append_param_to_function_call.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/prepend_code_to_module.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/prepend_parent_to_class.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/codemod/prepend_property_to_class.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/cron.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/file.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/git.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/group.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/load.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/run.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/string/format.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/string/name.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/util/todo.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/xcom/xcom.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.0b5
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -21,8 +21,8 @@ Requires-Dist: chromadb (>=0.5.20,<0.6.0) ; extra == "rag"
|
|
21
21
|
Requires-Dist: fastapi[standard] (>=0.115.6,<0.116.0)
|
22
22
|
Requires-Dist: isort (>=5.13.2,<5.14.0)
|
23
23
|
Requires-Dist: libcst (>=1.5.0,<2.0.0)
|
24
|
-
Requires-Dist: litellm (>=1.52.12,<2.0.0)
|
25
24
|
Requires-Dist: pdfplumber (>=0.11.4,<0.12.0) ; extra == "rag"
|
25
|
+
Requires-Dist: pydantic-ai (>=0.0.19,<0.0.20)
|
26
26
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
27
27
|
Requires-Dist: python-jose[cryptography] (>=3.3.0,<4.0.0)
|
28
28
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "zrb"
|
3
|
-
version = "1.0.
|
3
|
+
version = "1.0.0b5"
|
4
4
|
description = "Your Automation Powerhouse"
|
5
5
|
authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
|
6
6
|
license = "AGPL-3.0-or-later"
|
@@ -44,13 +44,13 @@ black = "~24.10.0"
|
|
44
44
|
isort = "~5.13.2"
|
45
45
|
requests = "^2.32.3"
|
46
46
|
libcst = "^1.5.0"
|
47
|
-
litellm = "^1.52.12"
|
48
47
|
chromadb = {version = "^0.5.20", optional = true}
|
49
48
|
pdfplumber = {version = "^0.11.4", optional = true}
|
50
49
|
beautifulsoup4 = "^4.12.3"
|
51
50
|
fastapi = {extras = ["standard"], version = "^0.115.6"}
|
52
51
|
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
|
53
52
|
ulid-py = "^1.1.0"
|
53
|
+
pydantic-ai = "^0.0.19"
|
54
54
|
|
55
55
|
[tool.poetry.extras]
|
56
56
|
# poetry install -E rag
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import json
|
2
|
+
import os
|
3
|
+
from typing import Any
|
4
|
+
|
5
|
+
from zrb.builtin.group import llm_group
|
6
|
+
from zrb.builtin.llm.tool.api import get_current_location, get_current_weather
|
7
|
+
from zrb.builtin.llm.tool.cli import run_shell_command
|
8
|
+
from zrb.builtin.llm.tool.web import open_web_route, query_internet
|
9
|
+
from zrb.config import (
|
10
|
+
LLM_ALLOW_ACCESS_INTERNET,
|
11
|
+
LLM_ALLOW_ACCESS_SHELL,
|
12
|
+
LLM_HISTORY_DIR,
|
13
|
+
LLM_MODEL,
|
14
|
+
LLM_SYSTEM_PROMPT,
|
15
|
+
)
|
16
|
+
from zrb.context.any_shared_context import AnySharedContext
|
17
|
+
from zrb.input.bool_input import BoolInput
|
18
|
+
from zrb.input.str_input import StrInput
|
19
|
+
from zrb.input.text_input import TextInput
|
20
|
+
from zrb.task.llm_task import LLMTask
|
21
|
+
from zrb.util.file import read_file, write_file
|
22
|
+
from zrb.util.string.conversion import to_pascal_case
|
23
|
+
|
24
|
+
|
25
|
+
class PreviousSessionInput(StrInput):
|
26
|
+
|
27
|
+
def to_html(self, ctx: AnySharedContext) -> str:
|
28
|
+
name = self.name
|
29
|
+
description = self.description
|
30
|
+
default = self.get_default_str(ctx)
|
31
|
+
script = read_file(
|
32
|
+
file_path=os.path.join(os.path.dirname(__file__), "previous-session.js"),
|
33
|
+
replace_map={
|
34
|
+
"CURRENT_INPUT_NAME": name,
|
35
|
+
"CurrentPascalInputName": to_pascal_case(name),
|
36
|
+
},
|
37
|
+
)
|
38
|
+
return "\n".join(
|
39
|
+
[
|
40
|
+
f'<input name="{name}" placeholder="{description}" value="{default}" />',
|
41
|
+
f"<script>{script}</script>",
|
42
|
+
]
|
43
|
+
)
|
44
|
+
|
45
|
+
|
46
|
+
def _read_chat_conversation(ctx: AnySharedContext) -> list[dict[str, Any]]:
|
47
|
+
if ctx.input.start_new:
|
48
|
+
return []
|
49
|
+
previous_session_name = ctx.input.previous_session
|
50
|
+
if previous_session_name == "" or previous_session_name is None:
|
51
|
+
last_session_file_path = os.path.join(LLM_HISTORY_DIR, "last-session")
|
52
|
+
if os.path.isfile(last_session_file_path):
|
53
|
+
previous_session_name = read_file(last_session_file_path).strip()
|
54
|
+
conversation_file_path = os.path.join(
|
55
|
+
LLM_HISTORY_DIR, f"{previous_session_name}.json"
|
56
|
+
)
|
57
|
+
if not os.path.isfile(conversation_file_path):
|
58
|
+
return []
|
59
|
+
return json.loads(read_file(conversation_file_path))
|
60
|
+
|
61
|
+
|
62
|
+
def _write_chat_conversation(
|
63
|
+
ctx: AnySharedContext, conversations: list[dict[str, Any]]
|
64
|
+
):
|
65
|
+
os.makedirs(LLM_HISTORY_DIR, exist_ok=True)
|
66
|
+
current_session_name = ctx.session.name
|
67
|
+
conversation_file_path = os.path.join(
|
68
|
+
LLM_HISTORY_DIR, f"{current_session_name}.json"
|
69
|
+
)
|
70
|
+
write_file(conversation_file_path, json.dumps(conversations, indent=2))
|
71
|
+
last_session_file_path = os.path.join(LLM_HISTORY_DIR, "last-session")
|
72
|
+
write_file(last_session_file_path, current_session_name)
|
73
|
+
|
74
|
+
|
75
|
+
llm_chat: LLMTask = llm_group.add_task(
|
76
|
+
LLMTask(
|
77
|
+
name="llm-chat",
|
78
|
+
input=[
|
79
|
+
StrInput(
|
80
|
+
"model",
|
81
|
+
description="LLM Model",
|
82
|
+
prompt="LLM Model",
|
83
|
+
default_str=LLM_MODEL,
|
84
|
+
allow_positional_parsing=False,
|
85
|
+
),
|
86
|
+
TextInput(
|
87
|
+
"system-prompt",
|
88
|
+
description="System prompt",
|
89
|
+
prompt="System prompt",
|
90
|
+
default_str=LLM_SYSTEM_PROMPT,
|
91
|
+
allow_positional_parsing=False,
|
92
|
+
),
|
93
|
+
BoolInput(
|
94
|
+
"start-new",
|
95
|
+
description="Start new conversation (LLM will forget everything)",
|
96
|
+
prompt="Start new conversation (LLM will forget everything)",
|
97
|
+
default_str="false",
|
98
|
+
allow_positional_parsing=False,
|
99
|
+
),
|
100
|
+
TextInput("message", description="User message", prompt="Your message"),
|
101
|
+
PreviousSessionInput(
|
102
|
+
"previous-session",
|
103
|
+
description="Previous conversation session",
|
104
|
+
prompt="Previous conversation session (can be empty)",
|
105
|
+
allow_positional_parsing=False,
|
106
|
+
allow_empty=True,
|
107
|
+
),
|
108
|
+
],
|
109
|
+
conversation_history_reader=_read_chat_conversation,
|
110
|
+
conversation_history_writer=_write_chat_conversation,
|
111
|
+
description="Chat with LLM",
|
112
|
+
model="{ctx.input.model}",
|
113
|
+
system_prompt="{ctx.input['system-prompt']}",
|
114
|
+
message="{ctx.input.message}",
|
115
|
+
retries=0,
|
116
|
+
),
|
117
|
+
alias="chat",
|
118
|
+
)
|
119
|
+
|
120
|
+
if LLM_ALLOW_ACCESS_SHELL:
|
121
|
+
llm_chat.add_tool(run_shell_command)
|
122
|
+
|
123
|
+
if LLM_ALLOW_ACCESS_INTERNET:
|
124
|
+
llm_chat.add_tool(open_web_route)
|
125
|
+
llm_chat.add_tool(query_internet)
|
126
|
+
llm_chat.add_tool(get_current_location)
|
127
|
+
llm_chat.add_tool(get_current_weather)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
async function updatePreviousSession(event) {
|
2
|
+
const currentInput = event.target;
|
3
|
+
if (currentInput.name === "CURRENT_INPUT_NAME") {
|
4
|
+
return
|
5
|
+
}
|
6
|
+
const previousSessionInput = submitTaskForm.querySelector('[name="CURRENT_INPUT_NAME"]');
|
7
|
+
if (previousSessionInput) {
|
8
|
+
const currentSessionName = cfg.SESSION_NAME
|
9
|
+
previousSessionInput.value = currentSessionName;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
document.getElementById("submit-task-form").querySelectorAll("input[name], textarea[name]").forEach((element) => {
|
14
|
+
element.addEventListener("input", updatePreviousSession);
|
15
|
+
element.addEventListener("keyup", updatePreviousSession);
|
16
|
+
});
|
17
|
+
|
18
|
+
document.getElementById("submit-task-form").querySelectorAll("select[name]").forEach((element) => {
|
19
|
+
element.addEventListener("change", updatePreviousSession);
|
20
|
+
});
|
21
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import json
|
2
|
+
from typing import Annotated, Literal
|
3
|
+
|
4
|
+
import requests
|
5
|
+
|
6
|
+
|
7
|
+
def get_current_location() -> (
|
8
|
+
Annotated[str, "JSON string representing latitude and longitude"]
|
9
|
+
): # noqa
|
10
|
+
"""Get the user's current location."""
|
11
|
+
return json.dumps(requests.get("http://ip-api.com/json?fields=lat,lon").json())
|
12
|
+
|
13
|
+
|
14
|
+
def get_current_weather(
|
15
|
+
latitude: float,
|
16
|
+
longitude: float,
|
17
|
+
temperature_unit: Literal["celsius", "fahrenheit"],
|
18
|
+
) -> str:
|
19
|
+
"""Get the current weather in a given location."""
|
20
|
+
resp = requests.get(
|
21
|
+
"https://api.open-meteo.com/v1/forecast",
|
22
|
+
params={
|
23
|
+
"latitude": latitude,
|
24
|
+
"longitude": longitude,
|
25
|
+
"temperature_unit": temperature_unit,
|
26
|
+
"current_weather": True,
|
27
|
+
},
|
28
|
+
)
|
29
|
+
return json.dumps(resp.json())
|
@@ -294,6 +294,7 @@ def _get_default_stop_work_time_str() -> str:
|
|
294
294
|
description="Todo.txt content",
|
295
295
|
prompt="Todo.txt content (will override existing)",
|
296
296
|
default_str=lambda _: _get_todo_txt_content(),
|
297
|
+
allow_positional_parsing=False,
|
297
298
|
),
|
298
299
|
],
|
299
300
|
description="📝 Edit todo",
|
@@ -78,25 +78,23 @@ WEB_AUTH_REFRESH_TOKEN_EXPIRE_MINUTES = int(
|
|
78
78
|
)
|
79
79
|
LLM_MODEL = os.getenv("ZRB_LLM_MODEL", "ollama_chat/llama3.1")
|
80
80
|
|
81
|
-
_DEFAULT_PROMPT =
|
82
|
-
You are a
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
If unsure or lacking current data, inform the user and suggest verification.
|
91
|
-
Accuracy always takes precedence over completeness.
|
92
|
-
""".strip()
|
81
|
+
_DEFAULT_PROMPT = (
|
82
|
+
"You are a helpful AI assistant capable of using various tools to answer user queries. When solving a problem:\n"
|
83
|
+
"1. Carefully analyze the user's request and identify what information is needed to provide a complete answer.\n"
|
84
|
+
"2. Determine which available tools can help you gather the necessary information.\n"
|
85
|
+
"3. Call tools strategically and in a logical sequence to collect required data.\n"
|
86
|
+
"4. If a tool provides incomplete information, intelligently decide which additional tool or approach to use.\n"
|
87
|
+
"5. Always aim to provide the most accurate and helpful response possible."
|
88
|
+
)
|
93
89
|
LLM_SYSTEM_PROMPT = os.getenv("ZRB_LLM_SYSTEM_PROMPT", _DEFAULT_PROMPT)
|
90
|
+
LLM_HISTORY_DIR = os.getenv(
|
91
|
+
"ZRB_LLM_HISTORY_DIR", os.path.expanduser(os.path.join("~", ".zrb-llm-history"))
|
92
|
+
)
|
94
93
|
LLM_HISTORY_FILE = os.getenv(
|
95
|
-
"ZRB_LLM_HISTORY_FILE",
|
96
|
-
os.path.expanduser(os.path.join("~", ".zrb-llm-history.json")),
|
94
|
+
"ZRB_LLM_HISTORY_FILE", os.path.join(LLM_HISTORY_DIR, "history.json")
|
97
95
|
)
|
98
96
|
LLM_ALLOW_ACCESS_SHELL = to_boolean(os.getenv("ZRB_LLM_ACCESS_FILE", "1"))
|
99
|
-
|
97
|
+
LLM_ALLOW_ACCESS_INTERNET = to_boolean(os.getenv("ZRB_LLM_ACCESS_INTERNET", "1"))
|
100
98
|
RAG_EMBEDDING_MODEL = os.getenv("ZRB_RAG_EMBEDDING_MODEL", "ollama/nomic-embed-text")
|
101
99
|
RAG_CHUNK_SIZE = int(os.getenv("ZRB_RAG_CHUNK_SIZE", "1024"))
|
102
100
|
RAG_OVERLAP = int(os.getenv("ZRB_RAG_OVERLAP", "128"))
|
@@ -16,6 +16,7 @@ class BaseInput(AnyInput):
|
|
16
16
|
default_str: StrAttr = "",
|
17
17
|
auto_render: bool = True,
|
18
18
|
allow_empty: bool = False,
|
19
|
+
allow_positional_parsing: bool = True,
|
19
20
|
):
|
20
21
|
self._name = name
|
21
22
|
self._description = description
|
@@ -23,6 +24,7 @@ class BaseInput(AnyInput):
|
|
23
24
|
self._default_str = default_str
|
24
25
|
self._auto_render = auto_render
|
25
26
|
self._allow_empty = allow_empty
|
27
|
+
self._allow_positional_parsing = allow_positional_parsing
|
26
28
|
|
27
29
|
def __repr__(self):
|
28
30
|
return f"<{self.__class__.__name__} name={self._name}>"
|
@@ -39,6 +41,10 @@ class BaseInput(AnyInput):
|
|
39
41
|
def prompt_message(self) -> str:
|
40
42
|
return self._prompt if self._prompt is not None else self.name
|
41
43
|
|
44
|
+
@property
|
45
|
+
def allow_positional_parsing(self) -> bool:
|
46
|
+
return self._allow_positional_parsing
|
47
|
+
|
42
48
|
def to_html(self, ctx: AnySharedContext) -> str:
|
43
49
|
name = self.name
|
44
50
|
description = self.description
|
@@ -13,6 +13,7 @@ class BoolInput(BaseInput):
|
|
13
13
|
default_str: StrAttr = "False",
|
14
14
|
auto_render: bool = True,
|
15
15
|
allow_empty: bool = False,
|
16
|
+
allow_positional_parsing: bool = True,
|
16
17
|
):
|
17
18
|
super().__init__(
|
18
19
|
name=name,
|
@@ -21,6 +22,7 @@ class BoolInput(BaseInput):
|
|
21
22
|
default_str=default_str,
|
22
23
|
auto_render=auto_render,
|
23
24
|
allow_empty=allow_empty,
|
25
|
+
allow_positional_parsing=allow_positional_parsing,
|
24
26
|
)
|
25
27
|
|
26
28
|
def to_html(self, ctx: AnySharedContext) -> str:
|
@@ -12,6 +12,7 @@ class FloatInput(BaseInput):
|
|
12
12
|
default_str: StrAttr = "0.0",
|
13
13
|
auto_render: bool = True,
|
14
14
|
allow_empty: bool = False,
|
15
|
+
allow_positional_parsing: bool = True,
|
15
16
|
):
|
16
17
|
super().__init__(
|
17
18
|
name=name,
|
@@ -20,6 +21,7 @@ class FloatInput(BaseInput):
|
|
20
21
|
default_str=default_str,
|
21
22
|
auto_render=auto_render,
|
22
23
|
allow_empty=allow_empty,
|
24
|
+
allow_positional_parsing=allow_positional_parsing,
|
23
25
|
)
|
24
26
|
|
25
27
|
def to_html(self, ctx: AnySharedContext) -> str:
|
@@ -12,6 +12,7 @@ class IntInput(BaseInput):
|
|
12
12
|
default_str: StrAttr = "0",
|
13
13
|
auto_render: bool = True,
|
14
14
|
allow_empty: bool = False,
|
15
|
+
allow_positional_parsing: bool = True,
|
15
16
|
):
|
16
17
|
super().__init__(
|
17
18
|
name=name,
|
@@ -20,6 +21,7 @@ class IntInput(BaseInput):
|
|
20
21
|
default_str=default_str,
|
21
22
|
auto_render=auto_render,
|
22
23
|
allow_empty=allow_empty,
|
24
|
+
allow_positional_parsing=allow_positional_parsing,
|
23
25
|
)
|
24
26
|
|
25
27
|
def to_html(self, ctx: AnySharedContext) -> str:
|
@@ -14,6 +14,7 @@ class OptionInput(BaseInput):
|
|
14
14
|
default_str: StrAttr = "",
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
|
+
allow_positional_parsing: bool = True,
|
17
18
|
):
|
18
19
|
super().__init__(
|
19
20
|
name=name,
|
@@ -22,6 +23,7 @@ class OptionInput(BaseInput):
|
|
22
23
|
default_str=default_str,
|
23
24
|
auto_render=auto_render,
|
24
25
|
allow_empty=allow_empty,
|
26
|
+
allow_positional_parsing=allow_positional_parsing,
|
25
27
|
)
|
26
28
|
self._options = options
|
27
29
|
|
@@ -14,6 +14,7 @@ class PasswordInput(BaseInput):
|
|
14
14
|
default_str: str | Callable[[AnySharedContext], str] = "",
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
|
+
allow_positional_parsing: bool = True,
|
17
18
|
):
|
18
19
|
super().__init__(
|
19
20
|
name=name,
|
@@ -22,6 +23,7 @@ class PasswordInput(BaseInput):
|
|
22
23
|
default_str=default_str,
|
23
24
|
auto_render=auto_render,
|
24
25
|
allow_empty=allow_empty,
|
26
|
+
allow_positional_parsing=allow_positional_parsing,
|
25
27
|
)
|
26
28
|
self._is_secret = True
|
27
29
|
|
@@ -18,6 +18,7 @@ class TextInput(BaseInput):
|
|
18
18
|
default_str: str | Callable[[AnySharedContext], str] = "",
|
19
19
|
auto_render: bool = True,
|
20
20
|
allow_empty: bool = False,
|
21
|
+
allow_positional_parsing: bool = True,
|
21
22
|
editor: str = DEFAULT_EDITOR,
|
22
23
|
extension: str = ".txt",
|
23
24
|
comment_start: str | None = None,
|
@@ -30,6 +31,7 @@ class TextInput(BaseInput):
|
|
30
31
|
default_str=default_str,
|
31
32
|
auto_render=auto_render,
|
32
33
|
allow_empty=allow_empty,
|
34
|
+
allow_positional_parsing=allow_positional_parsing,
|
33
35
|
)
|
34
36
|
self._editor = editor
|
35
37
|
self._extension = extension
|
@@ -15,7 +15,7 @@ def get_run_kwargs(
|
|
15
15
|
if task_input.name in str_kwargs:
|
16
16
|
# Update shared context for next input default value
|
17
17
|
task_input.update_shared_context(shared_ctx, str_kwargs[task_input.name])
|
18
|
-
elif arg_index < len(args):
|
18
|
+
elif arg_index < len(args) and task_input.allow_positional_parsing:
|
19
19
|
run_kwargs[task_input.name] = args[arg_index]
|
20
20
|
# Update shared context for next input default value
|
21
21
|
task_input.update_shared_context(shared_ctx, run_kwargs[task_input.name])
|
{zrb-1.0.0b3 → zrb-1.0.0b5}/src/zrb/runner/web_route/static/resources/session/current-session.js
RENAMED
@@ -4,18 +4,22 @@ const CURRENT_SESSION = {
|
|
4
4
|
const logTextarea = document.getElementById("log-textarea");
|
5
5
|
const submitTaskForm = document.getElementById("submit-task-form");
|
6
6
|
let isFinished = false;
|
7
|
+
let isInputUpdated = false;
|
7
8
|
let errorCount = 0;
|
8
9
|
while (!isFinished) {
|
9
10
|
try {
|
10
11
|
const data = await this.getCurrentSession();
|
11
12
|
// update inputs
|
12
|
-
|
13
|
-
|
14
|
-
const
|
15
|
-
|
16
|
-
|
17
|
-
input
|
13
|
+
if (!isInputUpdated) {
|
14
|
+
const dataInputs = data.input;
|
15
|
+
for (const inputName in dataInputs) {
|
16
|
+
const inputValue = dataInputs[inputName];
|
17
|
+
const input = submitTaskForm.querySelector(`[name="${inputName}"]`);
|
18
|
+
if (input) {
|
19
|
+
input.value = inputValue;
|
20
|
+
}
|
18
21
|
}
|
22
|
+
isInputUpdated = true;
|
19
23
|
}
|
20
24
|
resultLineCount = data.final_result.split("\n").length;
|
21
25
|
resultTextarea.rows = resultLineCount <= 5 ? resultLineCount : 5;
|
@@ -51,7 +55,6 @@ const CURRENT_SESSION = {
|
|
51
55
|
"Content-Type": "application/json"
|
52
56
|
},
|
53
57
|
});
|
54
|
-
console.log("RESPONSE", response);
|
55
58
|
return await response.json();
|
56
59
|
} catch (error) {
|
57
60
|
console.error("Error:", error);
|
@@ -20,9 +20,9 @@ window.addEventListener("load", async function () {
|
|
20
20
|
|
21
21
|
|
22
22
|
const submitTaskForm = document.getElementById("submit-task-form");
|
23
|
-
|
23
|
+
async function handleInputUpdate(event) {
|
24
24
|
const currentInput = event.target;
|
25
|
-
const inputs = Array.from(submitTaskForm.querySelectorAll("input[name], textarea[name]"));
|
25
|
+
const inputs = Array.from(submitTaskForm.querySelectorAll("input[name], textarea[name], select[name]"));
|
26
26
|
const inputMap = {};
|
27
27
|
const fixedInputNames = [];
|
28
28
|
for (const input of inputs) {
|
@@ -56,6 +56,10 @@ submitTaskForm.addEventListener("change", async function(event) {
|
|
56
56
|
if (input === currentInput) {
|
57
57
|
return;
|
58
58
|
}
|
59
|
+
if (value === "") {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
console.log(input, data);
|
59
63
|
input.value = value;
|
60
64
|
});
|
61
65
|
} else {
|
@@ -64,6 +68,14 @@ submitTaskForm.addEventListener("change", async function(event) {
|
|
64
68
|
} catch (error) {
|
65
69
|
console.error("Error during fetch:", error);
|
66
70
|
}
|
71
|
+
}
|
72
|
+
|
73
|
+
submitTaskForm.querySelectorAll("input[name], textarea[name]").forEach((element) => {
|
74
|
+
element.addEventListener("input", handleInputUpdate);
|
75
|
+
element.addEventListener("keyup", handleInputUpdate);
|
76
|
+
});
|
77
|
+
submitTaskForm.querySelectorAll("select[name]").forEach((element) => {
|
78
|
+
element.addEventListener("change", handleInputUpdate);
|
67
79
|
});
|
68
80
|
|
69
81
|
|