zrb 1.14.5__tar.gz → 1.14.7__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.14.5 → zrb-1.14.7}/PKG-INFO +4 -6
- {zrb-1.14.5 → zrb-1.14.7}/pyproject.toml +16 -11
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/sub_agent.py +3 -4
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/web.py +73 -75
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/latex/ubuntu.py +1 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/ubuntu.py +1 -1
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/config.py +92 -77
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/agent.py +32 -13
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/history_summarization.py +1 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/print_node.py +1 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/prompt.py +24 -1
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm_task.py +14 -8
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/file.py +15 -8
- {zrb-1.14.5 → zrb-1.14.7}/README.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/__main__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/attr/type.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/git.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/group.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/http.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/jwt.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/chat_session.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/history.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/llm_ask.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/code.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/file.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/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.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/python.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/random.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/builtin/uuid.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/callback/callback.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/file_extractor_system_prompt.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/interactive_system_prompt.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/persona.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/repo_extractor_system_prompt.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/repo_summarizer_system_prompt.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/summarization_prompt.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/default_prompt/system_prompt.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/llm_config.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/llm_context/config.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/llm_context/config_parser.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/llm_rate_limitter.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/config/web_auth_config.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/context/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/context/any_context.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/context/context.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/env/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/env/any_env.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/env/env.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/env/env_file.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/env/env_map.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/group/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/group/any_group.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/group/group.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/any_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/base_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/float_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/int_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/option_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/password_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/str_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/input/text_input.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/cli.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/global_template.html +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/common.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.amber.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.blue.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.cyan.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.fuchsia.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.green.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.grey.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.indigo.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.jade.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.lime.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.orange.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.pink.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.pumpkin.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.purple.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.red.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.sand.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.slate.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.violet.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.yellow.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/pico-css/pico.zinc.min.css +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session/any_session.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session/session.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/any_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base/context.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base/execution.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base/lifecycle.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base/monitoring.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base/operators.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/http_check.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/config.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/conversation_history.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/conversation_history_model.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/default_workflow/coding.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/default_workflow/copywriting.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/default_workflow/researching.md +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/error.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/tool_wrapper.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/llm/typing.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/make_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/task.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/attr.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/callable.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/cron.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/git.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/git_diff_model.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/git_subtree_model.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/group.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/init_path.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/llm/prompt.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/load.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/run.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/string/format.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/string/name.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/todo.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/util/todo_model.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.14.5 → zrb-1.14.7}/src/zrb/xcom/xcom.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.14.
|
3
|
+
Version: 1.14.7
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -22,17 +22,15 @@ Requires-Dist: chromadb (>=0.6.3,<0.7.0) ; extra == "rag" or extra == "all"
|
|
22
22
|
Requires-Dist: fastapi[standard] (>=0.116.1,<0.117.0)
|
23
23
|
Requires-Dist: isort (>=6.0.1,<6.1.0)
|
24
24
|
Requires-Dist: libcst (>=1.7.0,<2.0.0)
|
25
|
-
Requires-Dist: openai (>=1.
|
26
|
-
Requires-Dist: pdfplumber (>=0.11.6,<0.12.0)
|
25
|
+
Requires-Dist: openai (>=1.92.0,<=1.99.1)
|
26
|
+
Requires-Dist: pdfplumber (>=0.11.6,<0.12.0)
|
27
27
|
Requires-Dist: playwright (>=1.53.0,<2.0.0) ; extra == "playwright" or extra == "all"
|
28
|
-
Requires-Dist: prompt-toolkit (>=3.0.51,<4.0.0)
|
29
28
|
Requires-Dist: psutil (>=7.0.0,<8.0.0)
|
30
|
-
Requires-Dist: pydantic-ai (>=0.
|
29
|
+
Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,google,groq,huggingface,mcp,mistral,openai,vertexai] (>=0.6.2,<0.7.0)
|
31
30
|
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
32
31
|
Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
|
33
32
|
Requires-Dist: python-jose[cryptography] (>=3.4.0,<4.0.0)
|
34
33
|
Requires-Dist: requests (>=2.32.4,<3.0.0)
|
35
|
-
Requires-Dist: rich (>=14.0.0,<15.0.0)
|
36
34
|
Requires-Dist: tiktoken (>=0.8.0,<0.9.0)
|
37
35
|
Requires-Dist: ulid-py (>=1.1.0,<2.0.0)
|
38
36
|
Project-URL: Documentation, https://github.com/state-alchemists/zrb
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "zrb"
|
3
|
-
version = "1.14.
|
3
|
+
version = "1.14.7"
|
4
4
|
description = "Your Automation Powerhouse"
|
5
5
|
authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
|
6
6
|
license = "AGPL-3.0-or-later"
|
@@ -43,26 +43,31 @@ black = "~25.1.0"
|
|
43
43
|
isort = "~6.0.1"
|
44
44
|
requests = "^2.32.4"
|
45
45
|
libcst = "^1.7.0"
|
46
|
-
chromadb = {version = "^0.6.3", optional = true}
|
47
|
-
pdfplumber = {version = "^0.11.6", optional = true}
|
48
46
|
beautifulsoup4 = "^4.13.3"
|
47
|
+
pdfplumber = "^0.11.6"
|
49
48
|
fastapi = {extras = ["standard"], version = "^0.116.1"}
|
50
49
|
python-jose = {extras = ["cryptography"], version = "^3.4.0"}
|
51
50
|
ulid-py = "^1.1.0"
|
52
|
-
pydantic-ai = "^0.4.5"
|
53
|
-
tiktoken = "^0.8.0"
|
54
|
-
openai = {version = "^1.86.0", optional = true}
|
55
|
-
playwright = {version = "^1.53.0", optional = true}
|
56
51
|
psutil = "^7.0.0"
|
57
52
|
pyjwt = "^2.10.1"
|
58
|
-
|
59
|
-
|
53
|
+
|
54
|
+
# NOTE: Look at https://github.com/pydantic/pydantic-ai/blob/main/pydantic_ai_slim/pyproject.toml
|
55
|
+
# - We want to include all models, as well as mcp capability.
|
56
|
+
# - We also need prompt-toolkit and rich which are included in pydantic ai's cli optional dependency
|
57
|
+
pydantic-ai-slim = {extras = ["openai", "cohere", "vertexai", "google", "anthropic", "groq", "mistral", "bedrock", "huggingface", "cli", "mcp"], version = "^0.6.2"}
|
58
|
+
|
59
|
+
# NOTE: On Pydantic AI 0.6.2, The last working version of OpenAI is 0.99.1
|
60
|
+
openai = ">=1.92.0, <=1.99.1"
|
61
|
+
|
62
|
+
tiktoken = "^0.8.0"
|
63
|
+
playwright = {version = "^1.53.0", optional = true}
|
64
|
+
chromadb = {version = "^0.6.3", optional = true}
|
60
65
|
|
61
66
|
[tool.poetry.extras]
|
62
67
|
# poetry install -E rag
|
63
|
-
rag = ["chromadb"
|
68
|
+
rag = ["chromadb"]
|
64
69
|
playwright = ["playwright"]
|
65
|
-
all = ["chromadb", "
|
70
|
+
all = ["chromadb", "playwright"]
|
66
71
|
|
67
72
|
[tool.poetry.group.dev.dependencies]
|
68
73
|
alembic = "^1.16.2" # FastApp dependencies
|
@@ -15,8 +15,6 @@ if TYPE_CHECKING:
|
|
15
15
|
from pydantic_ai.toolsets import AbstractToolset
|
16
16
|
|
17
17
|
ToolOrCallable = Tool | Callable
|
18
|
-
else:
|
19
|
-
ToolOrCallable = Any
|
20
18
|
|
21
19
|
|
22
20
|
def create_sub_agent_tool(
|
@@ -25,7 +23,7 @@ def create_sub_agent_tool(
|
|
25
23
|
system_prompt: str | None = None,
|
26
24
|
model: "str | Model | None" = None,
|
27
25
|
model_settings: "ModelSettings | None" = None,
|
28
|
-
tools: list[ToolOrCallable] = [],
|
26
|
+
tools: "list[ToolOrCallable]" = [],
|
29
27
|
toolsets: list["AbstractToolset[Agent]"] = [],
|
30
28
|
is_yolo_mode: bool | None = None,
|
31
29
|
) -> Callable[[AnyContext, str], Coroutine[Any, Any, str]]:
|
@@ -97,7 +95,8 @@ def create_sub_agent_tool(
|
|
97
95
|
ctx=ctx,
|
98
96
|
agent=sub_agent_agent,
|
99
97
|
user_prompt=query,
|
100
|
-
|
98
|
+
attachments=[],
|
99
|
+
history_list=[],
|
101
100
|
)
|
102
101
|
|
103
102
|
# Return the sub-agent's final message content
|
@@ -1,64 +1,23 @@
|
|
1
1
|
import json
|
2
2
|
from collections.abc import Callable
|
3
|
+
from urllib.parse import urljoin
|
3
4
|
|
4
5
|
|
5
6
|
async def open_web_page(url: str) -> str:
|
6
7
|
"""
|
7
|
-
Fetches and
|
8
|
+
Fetches, parses, and converts the content of a web page to Markdown.
|
8
9
|
|
9
|
-
|
10
|
+
This tool "reads" a web page by fetching its content, stripping away non-essential elements like scripts and styles, and then converting the cleaned HTML into Markdown format. This preserves the semantic structure of the content (headings, lists, etc.) while removing clutter. It also extracts all hyperlinks and resolves them to absolute URLs.
|
10
11
|
|
11
12
|
Args:
|
12
13
|
url (str): The full URL of the web page to open (e.g., "https://example.com/article").
|
13
14
|
|
14
15
|
Returns:
|
15
|
-
str: A JSON object containing the
|
16
|
+
str: A JSON object containing the page's content in Markdown format and a list of all absolute links found on the page.
|
16
17
|
"""
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
try:
|
21
|
-
from playwright.async_api import async_playwright
|
22
|
-
|
23
|
-
async with async_playwright() as p:
|
24
|
-
browser = await p.chromium.launch(headless=True)
|
25
|
-
page = await browser.new_page()
|
26
|
-
await page.set_extra_http_headers({"User-Agent": user_agent})
|
27
|
-
try:
|
28
|
-
# Navigate to the URL with a timeout of 30 seconds
|
29
|
-
await page.goto(page_url, wait_until="networkidle", timeout=30000)
|
30
|
-
# Wait for the content to load
|
31
|
-
await page.wait_for_load_state("domcontentloaded")
|
32
|
-
# Get the page content
|
33
|
-
content = await page.content()
|
34
|
-
# Extract all links from the page
|
35
|
-
links = await page.eval_on_selector_all(
|
36
|
-
"a[href]",
|
37
|
-
"""
|
38
|
-
(elements) => elements.map(el => {
|
39
|
-
const href = el.getAttribute('href');
|
40
|
-
if (href && !href.startsWith('#') && !href.startsWith('/')) {
|
41
|
-
return href;
|
42
|
-
}
|
43
|
-
return null;
|
44
|
-
}).filter(href => href !== null)
|
45
|
-
""",
|
46
|
-
)
|
47
|
-
return {"content": content, "links_on_page": links}
|
48
|
-
finally:
|
49
|
-
await browser.close()
|
50
|
-
except BaseException:
|
51
|
-
import requests
|
52
|
-
|
53
|
-
response = requests.get(url, headers={"User-Agent": user_agent})
|
54
|
-
if response.status_code != 200:
|
55
|
-
msg = f"Unable to retrieve search results. Status code: {response.status_code}"
|
56
|
-
raise Exception(msg)
|
57
|
-
return {"content": response.text, "links_on_page": []}
|
58
|
-
|
59
|
-
result = await get_page_content(url)
|
60
|
-
# Parse the HTML content
|
61
|
-
return json.dumps(parse_html_text(result["content"]))
|
18
|
+
html_content, links = await _fetch_page_content(url)
|
19
|
+
markdown_content = _convert_html_to_markdown(html_content)
|
20
|
+
return json.dumps({"content": markdown_content, "links_on_page": links})
|
62
21
|
|
63
22
|
|
64
23
|
def create_search_internet_tool(serp_api_key: str) -> Callable[[str, int], str]:
|
@@ -85,14 +44,14 @@ def create_search_internet_tool(serp_api_key: str) -> Callable[[str, int], str]:
|
|
85
44
|
num_results (int, optional): The desired number of search results. Defaults to 10.
|
86
45
|
|
87
46
|
Returns:
|
88
|
-
str: A
|
47
|
+
str: A formatted string summarizing the search results, including titles, links, and snippets.
|
89
48
|
"""
|
90
49
|
import requests
|
91
50
|
|
92
51
|
response = requests.get(
|
93
52
|
"https://serpapi.com/search",
|
94
53
|
headers={
|
95
|
-
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
|
54
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
|
96
55
|
},
|
97
56
|
params={
|
98
57
|
"q": query,
|
@@ -104,9 +63,9 @@ def create_search_internet_tool(serp_api_key: str) -> Callable[[str, int], str]:
|
|
104
63
|
)
|
105
64
|
if response.status_code != 200:
|
106
65
|
raise Exception(
|
107
|
-
f"Error: Unable to retrieve search results (status code: {response.status_code})"
|
66
|
+
f"Error: Unable to retrieve search results (status code: {response.status_code})"
|
108
67
|
)
|
109
|
-
return json
|
68
|
+
return response.json()
|
110
69
|
|
111
70
|
return search_internet
|
112
71
|
|
@@ -150,30 +109,69 @@ def search_arxiv(query: str, num_results: int = 10) -> str:
|
|
150
109
|
return response.content
|
151
110
|
|
152
111
|
|
153
|
-
def
|
112
|
+
async def _fetch_page_content(url: str) -> tuple[str, list[str]]:
|
113
|
+
"""Fetches the HTML content and all absolute links from a URL."""
|
114
|
+
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
|
115
|
+
try:
|
116
|
+
from playwright.async_api import async_playwright
|
117
|
+
|
118
|
+
async with async_playwright() as p:
|
119
|
+
browser = await p.chromium.launch(headless=True)
|
120
|
+
page = await browser.new_page()
|
121
|
+
await page.set_extra_http_headers({"User-Agent": user_agent})
|
122
|
+
try:
|
123
|
+
await page.goto(url, wait_until="networkidle", timeout=30000)
|
124
|
+
await page.wait_for_load_state("domcontentloaded")
|
125
|
+
content = await page.content()
|
126
|
+
links = await page.eval_on_selector_all(
|
127
|
+
"a[href]",
|
128
|
+
"""
|
129
|
+
(elements, baseUrl) => elements.map(el => {
|
130
|
+
const href = el.getAttribute('href');
|
131
|
+
if (!href || href.startsWith('#')) return null;
|
132
|
+
try {
|
133
|
+
return new URL(href, baseUrl).href;
|
134
|
+
} catch (e) {
|
135
|
+
return null;
|
136
|
+
}
|
137
|
+
}).filter(href => href !== null)
|
138
|
+
""",
|
139
|
+
url,
|
140
|
+
)
|
141
|
+
return content, links
|
142
|
+
# return json.dumps({"content": content, "links": links})
|
143
|
+
finally:
|
144
|
+
await browser.close()
|
145
|
+
except Exception:
|
146
|
+
import requests
|
147
|
+
from bs4 import BeautifulSoup
|
148
|
+
|
149
|
+
response = requests.get(url, headers={"User-Agent": user_agent})
|
150
|
+
if response.status_code != 200:
|
151
|
+
raise Exception(
|
152
|
+
f"Unable to retrieve page content. Status code: {response.status_code}"
|
153
|
+
)
|
154
|
+
content = response.text
|
155
|
+
soup = BeautifulSoup(content, "html.parser")
|
156
|
+
links = [
|
157
|
+
urljoin(url, a["href"])
|
158
|
+
for a in soup.find_all("a", href=True)
|
159
|
+
if not a["href"].startswith("#")
|
160
|
+
]
|
161
|
+
return content, links
|
162
|
+
# return json.dumps({"content": content, "links": links})
|
163
|
+
|
164
|
+
|
165
|
+
def _convert_html_to_markdown(html_text: str) -> str:
|
166
|
+
"""Converts HTML content to a clean Markdown representation."""
|
154
167
|
from bs4 import BeautifulSoup
|
168
|
+
from markdownify import markdownify as md
|
155
169
|
|
156
|
-
ignored_tags = [
|
157
|
-
"script",
|
158
|
-
"link",
|
159
|
-
"meta",
|
160
|
-
"style",
|
161
|
-
"code",
|
162
|
-
"footer",
|
163
|
-
"nav",
|
164
|
-
"header",
|
165
|
-
"aside",
|
166
|
-
]
|
167
170
|
soup = BeautifulSoup(html_text, "html.parser")
|
168
|
-
|
169
|
-
for
|
170
|
-
|
171
|
-
|
172
|
-
link: str = anchor["href"]
|
173
|
-
if link.startswith("#") or link.startswith("/"):
|
174
|
-
continue
|
175
|
-
links.append(link)
|
176
|
-
for tag in soup(ignored_tags):
|
171
|
+
# Remove non-content tags
|
172
|
+
for tag in soup(
|
173
|
+
["script", "link", "meta", "style", "header", "footer", "nav", "aside"]
|
174
|
+
):
|
177
175
|
tag.decompose()
|
178
|
-
|
179
|
-
return
|
176
|
+
# Convert the cleaned HTML to Markdown
|
177
|
+
return md(str(soup))
|
@@ -22,7 +22,7 @@ setup_ubuntu = setup_group.add_task(
|
|
22
22
|
description="🐧 Setup ubuntu",
|
23
23
|
cmd=[
|
24
24
|
"sudo apt install -y \\",
|
25
|
-
"build-essential
|
25
|
+
"build-essential libssl-dev zlib1g-dev \\"
|
26
26
|
"libbz2-dev libreadline-dev libsqlite3-dev libpq-dev python3-dev \\",
|
27
27
|
"llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \\",
|
28
28
|
"liblzma-dev python3-openssl libblas-dev liblapack-dev rustc \\",
|