uipath 2.1.34__tar.gz → 2.1.36__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.
- {uipath-2.1.34 → uipath-2.1.36}/PKG-INFO +1 -1
- {uipath-2.1.34 → uipath-2.1.36}/pyproject.toml +1 -1
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/__init__.py +2 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_auth_server.py +0 -4
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_common.py +6 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_auth.py +0 -2
- uipath-2.1.36/src/uipath/_cli/cli_dev.py +42 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_eval.py +0 -2
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_init.py +0 -4
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_invoke.py +0 -4
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_publish.py +0 -4
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_pull.py +0 -2
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_push.py +0 -2
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_run.py +0 -2
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_execution_context.py +0 -4
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_folder_context.py +0 -4
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_uipath.py +0 -3
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/constants.py +1 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_auth.py +3 -3
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_init.py +14 -14
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_invoke.py +7 -5
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_new.py +7 -7
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_pack.py +17 -17
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_publish.py +12 -12
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_pull.py +6 -6
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_push.py +7 -7
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_run.py +18 -10
- {uipath-2.1.34 → uipath-2.1.36}/uv.lock +1 -1
- uipath-2.1.34/src/uipath/_cli/cli_dev.py +0 -44
- {uipath-2.1.34 → uipath-2.1.36}/.cursorrules +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.editorconfig +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.gitattributes +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/cd.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/ci.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/lint.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/slack.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.github/workflows/test.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.gitignore +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.pre-commit-config.yaml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.python-version +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.vscode/extensions.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.vscode/launch.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/.vscode/settings.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/CONTRIBUTING.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/LICENSE +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/README.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/FAQ.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/assets/env-preparation-failed-dark.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/assets/env-preparation-failed-light.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/assets/favicon.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/assets/logo-light.svg +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/cli/index.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/actions.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets/cloud_env_var_dark.gif +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets/cloud_env_var_light.gif +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets/copy_path_dark.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets/copy_path_light.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/assets.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/attachments.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/buckets.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/connections.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/context_grounding.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/environment_variables.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/getting_started.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/jobs.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/llm_gateway.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/processes.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/queues.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/core/traced.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/hooks.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/index.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/javascripts/extra.js +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/overrides/main.html +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/overrides/partials/actions.html +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/release_policy.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/docs/stylesheets/extra.css +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/justfile +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/mkdocs.yml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/py.typed +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/event-trigger/.python-version +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/event-trigger/README.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/event-trigger/main.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/event-trigger/pyproject.toml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/.env.example +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/README.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/input.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/pyproject.toml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/samples/google-ADK-agent/uv.lock +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/scripts/debug_test.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/scripts/lint_httpx_client.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/README.md +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_client_credentials.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_url_utils.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_components/_resume.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_traces/_exporter.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_dev/_terminal/_traces/_logger.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_deterministic_evaluator_base.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_evaluator_base.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_evaluator_factory.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_exact_match_evaluator.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_json_similarity_evaluator.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_llm_as_judge_evaluator.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_evaluators/_trajectory_evaluator.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_models/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/_models/_evaluators.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/evaluation_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_evals/progress_reporter.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_runtime/_escalation.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_runtime/_hitl.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_constants.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_debug.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_processes.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_project_files.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_studio_project.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_tracing.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_config.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/attachments_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_read_overwrites.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_ssl_context.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_url.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/actions.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/assets.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/attachment.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/buckets.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/connections.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/errors.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/job.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/processes.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/models/queues.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/py.typed +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/telemetry/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/telemetry/_constants.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/telemetry/_track.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/utils/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/src/uipath/utils/_endpoints_manager.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/__init__.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/conftest.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/mocks/bindings_script.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/mocks/pyproject.toml +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/mocks/simple_script.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/mocks/uipath-mock.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_hitl.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_input_args.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_portal_service_refresh_token.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/test_utils.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/utils/common.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/utils/project_details.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/cli/utils/uipath_json.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/conftest.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/conftest.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_actions_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_api_client.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_assets_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_attachments_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_base_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_buckets_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_connections_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_context_grounding_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_folder_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_jobs_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_processes_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_queues_service.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/test_bindings_inference.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/test_config.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/sdk/test_overwrites.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/tracing/test_traced.py +0 -0
- {uipath-2.1.34 → uipath-2.1.36}/tests/tracing/test_tracing_manager.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: uipath
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.36
|
4
4
|
Summary: Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools.
|
5
5
|
Project-URL: Homepage, https://uipath.com
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/uipath-python
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "uipath"
|
3
|
-
version = "2.1.
|
3
|
+
version = "2.1.36"
|
4
4
|
description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
6
6
|
requires-python = ">=3.10"
|
@@ -3,6 +3,7 @@ import sys
|
|
3
3
|
|
4
4
|
import click
|
5
5
|
|
6
|
+
from ._utils._common import load_environment_variables
|
6
7
|
from .cli_auth import auth as auth
|
7
8
|
from .cli_deploy import deploy as deploy # type: ignore
|
8
9
|
from .cli_dev import dev as dev
|
@@ -43,6 +44,7 @@ def _get_safe_version() -> str:
|
|
43
44
|
help="Display the current version of uipath.",
|
44
45
|
)
|
45
46
|
def cli(lv: bool, v: bool) -> None:
|
47
|
+
load_environment_variables()
|
46
48
|
if lv:
|
47
49
|
try:
|
48
50
|
version = importlib.metadata.version("uipath-langchain")
|
@@ -3,7 +3,9 @@ from typing import Optional
|
|
3
3
|
from urllib.parse import urlparse
|
4
4
|
|
5
5
|
import click
|
6
|
+
from dotenv import load_dotenv
|
6
7
|
|
8
|
+
from ..._utils.constants import DOTENV_FILE
|
7
9
|
from ..spinner import Spinner
|
8
10
|
|
9
11
|
|
@@ -102,3 +104,7 @@ def clean_directory(directory: str) -> None:
|
|
102
104
|
|
103
105
|
if os.path.isfile(file_path) and file_name.endswith(".py"):
|
104
106
|
os.remove(file_path)
|
107
|
+
|
108
|
+
|
109
|
+
def load_environment_variables():
|
110
|
+
load_dotenv(dotenv_path=os.path.join(os.getcwd(), DOTENV_FILE), override=True)
|
@@ -7,7 +7,6 @@ from typing import Optional
|
|
7
7
|
from urllib.parse import urlparse
|
8
8
|
|
9
9
|
import click
|
10
|
-
from dotenv import load_dotenv
|
11
10
|
|
12
11
|
from ..telemetry import track
|
13
12
|
from ._auth._auth_server import HTTPServer
|
@@ -18,7 +17,6 @@ from ._auth._utils import update_auth_file, update_env_file
|
|
18
17
|
from ._utils._common import environment_options
|
19
18
|
from ._utils._console import ConsoleLogger
|
20
19
|
|
21
|
-
load_dotenv(override=True)
|
22
20
|
console = ConsoleLogger()
|
23
21
|
|
24
22
|
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import asyncio
|
2
|
+
from typing import Optional
|
3
|
+
|
4
|
+
import click
|
5
|
+
|
6
|
+
from ..telemetry import track
|
7
|
+
from ._dev._terminal import UiPathDevTerminal
|
8
|
+
from ._runtime._contracts import UiPathRuntimeContext, UiPathRuntimeFactory
|
9
|
+
from ._runtime._runtime import UiPathRuntime
|
10
|
+
from ._utils._console import ConsoleLogger
|
11
|
+
from .middlewares import Middlewares
|
12
|
+
|
13
|
+
console = ConsoleLogger()
|
14
|
+
|
15
|
+
|
16
|
+
@click.command()
|
17
|
+
@click.argument("interface", default="terminal")
|
18
|
+
@track
|
19
|
+
def dev(interface: Optional[str]) -> None:
|
20
|
+
"""Launch interactive debugging interface."""
|
21
|
+
console.info("Launching UiPath debugging terminal ...")
|
22
|
+
result = Middlewares.next(
|
23
|
+
"dev",
|
24
|
+
interface,
|
25
|
+
)
|
26
|
+
|
27
|
+
if result.should_continue is False:
|
28
|
+
return
|
29
|
+
|
30
|
+
try:
|
31
|
+
if interface == "terminal":
|
32
|
+
runtime_factory = UiPathRuntimeFactory(UiPathRuntime, UiPathRuntimeContext)
|
33
|
+
app = UiPathDevTerminal(runtime_factory)
|
34
|
+
asyncio.run(app.run_async())
|
35
|
+
else:
|
36
|
+
console.error(f"Unknown interface: {interface}")
|
37
|
+
except KeyboardInterrupt:
|
38
|
+
console.info("Debug session interrupted by user")
|
39
|
+
except Exception as e:
|
40
|
+
console.error(
|
41
|
+
f"Error running debug interface: {str(e)}", include_traceback=True
|
42
|
+
)
|
@@ -5,7 +5,6 @@ import os
|
|
5
5
|
from typing import List, Optional, Tuple
|
6
6
|
|
7
7
|
import click
|
8
|
-
from dotenv import load_dotenv
|
9
8
|
|
10
9
|
from .._utils.constants import ENV_JOB_ID
|
11
10
|
from ..telemetry import track
|
@@ -13,7 +12,6 @@ from ._evals.evaluation_service import EvaluationService
|
|
13
12
|
from ._utils._console import ConsoleLogger
|
14
13
|
|
15
14
|
console = ConsoleLogger()
|
16
|
-
load_dotenv(override=True)
|
17
15
|
|
18
16
|
|
19
17
|
class LiteralOption(click.Option):
|
@@ -6,7 +6,6 @@ from pathlib import Path
|
|
6
6
|
from typing import Any, Dict, Optional
|
7
7
|
|
8
8
|
import click
|
9
|
-
from dotenv import load_dotenv
|
10
9
|
|
11
10
|
from .._utils.constants import ENV_TELEMETRY_ENABLED
|
12
11
|
from ..telemetry import track
|
@@ -125,9 +124,6 @@ def write_config_file(config_data: Dict[str, Any]) -> None:
|
|
125
124
|
@track
|
126
125
|
def init(entrypoint: str, infer_bindings: bool) -> None:
|
127
126
|
"""Create uipath.json with input/output schemas and bindings."""
|
128
|
-
current_path = os.getcwd()
|
129
|
-
load_dotenv(os.path.join(current_path, ".env"), override=True)
|
130
|
-
|
131
127
|
with console.spinner("Initializing UiPath project ..."):
|
132
128
|
current_directory = os.getcwd()
|
133
129
|
generate_env_file(current_directory)
|
@@ -5,7 +5,6 @@ from typing import Optional
|
|
5
5
|
|
6
6
|
import click
|
7
7
|
import httpx
|
8
|
-
from dotenv import load_dotenv
|
9
8
|
|
10
9
|
from ._utils._console import ConsoleLogger
|
11
10
|
|
@@ -21,7 +20,6 @@ from ._utils._folders import get_personal_workspace_info
|
|
21
20
|
from ._utils._processes import get_release_info
|
22
21
|
|
23
22
|
logger = logging.getLogger(__name__)
|
24
|
-
load_dotenv(override=True)
|
25
23
|
console = ConsoleLogger()
|
26
24
|
|
27
25
|
|
@@ -63,8 +61,6 @@ def invoke(
|
|
63
61
|
with open(file) as f:
|
64
62
|
input = f.read()
|
65
63
|
with console.spinner("Loading configuration ..."):
|
66
|
-
current_path = os.getcwd()
|
67
|
-
load_dotenv(os.path.join(current_path, ".env"), override=True)
|
68
64
|
[base_url, token] = get_env_vars()
|
69
65
|
|
70
66
|
url = f"{base_url}/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
|
@@ -4,7 +4,6 @@ import os
|
|
4
4
|
|
5
5
|
import click
|
6
6
|
import httpx
|
7
|
-
from dotenv import load_dotenv
|
8
7
|
|
9
8
|
from .._utils._ssl_context import get_httpx_client_kwargs
|
10
9
|
from ..telemetry import track
|
@@ -70,9 +69,6 @@ def get_available_feeds(
|
|
70
69
|
@track
|
71
70
|
def publish(feed):
|
72
71
|
"""Publish the package."""
|
73
|
-
current_path = os.getcwd()
|
74
|
-
load_dotenv(os.path.join(current_path, ".env"), override=True)
|
75
|
-
|
76
72
|
[base_url, token] = get_env_vars()
|
77
73
|
headers = {"Authorization": f"Bearer {token}"}
|
78
74
|
|
@@ -17,7 +17,6 @@ import os
|
|
17
17
|
from typing import Dict, Set
|
18
18
|
|
19
19
|
import click
|
20
|
-
from dotenv import load_dotenv
|
21
20
|
|
22
21
|
from ..telemetry import track
|
23
22
|
from ._utils._console import ConsoleLogger
|
@@ -30,7 +29,6 @@ from ._utils._studio_project import (
|
|
30
29
|
)
|
31
30
|
|
32
31
|
console = ConsoleLogger()
|
33
|
-
load_dotenv(override=True)
|
34
32
|
|
35
33
|
|
36
34
|
def compute_normalized_hash(content: str) -> str:
|
@@ -5,7 +5,6 @@ from typing import Any
|
|
5
5
|
from urllib.parse import urlparse
|
6
6
|
|
7
7
|
import click
|
8
|
-
from dotenv import load_dotenv
|
9
8
|
|
10
9
|
from ..telemetry import track
|
11
10
|
from ._push.sw_file_handler import SwFileHandler
|
@@ -21,7 +20,6 @@ from ._utils._project_files import (
|
|
21
20
|
from ._utils._uv_helpers import handle_uv_operations
|
22
21
|
|
23
22
|
console = ConsoleLogger()
|
24
|
-
load_dotenv(override=True)
|
25
23
|
|
26
24
|
|
27
25
|
def get_org_scoped_url(base_url: str) -> str:
|
@@ -7,7 +7,6 @@ from typing import Optional, Tuple
|
|
7
7
|
from uuid import uuid4
|
8
8
|
|
9
9
|
import click
|
10
|
-
from dotenv import load_dotenv
|
11
10
|
|
12
11
|
from uipath._cli._utils._debug import setup_debugging
|
13
12
|
from uipath.tracing import LlmOpsHttpExporter
|
@@ -27,7 +26,6 @@ from ._utils._console import ConsoleLogger
|
|
27
26
|
from .middlewares import MiddlewareResult, Middlewares
|
28
27
|
|
29
28
|
console = ConsoleLogger()
|
30
|
-
load_dotenv(override=True)
|
31
29
|
|
32
30
|
|
33
31
|
def python_run_middleware(
|
@@ -1,12 +1,8 @@
|
|
1
1
|
from os import environ as env
|
2
2
|
from typing import Optional
|
3
3
|
|
4
|
-
from dotenv import load_dotenv
|
5
|
-
|
6
4
|
from ._utils.constants import ENV_JOB_ID, ENV_JOB_KEY, ENV_ROBOT_KEY
|
7
5
|
|
8
|
-
load_dotenv(override=True)
|
9
|
-
|
10
6
|
|
11
7
|
class ExecutionContext:
|
12
8
|
"""Manages the execution context for UiPath automation processes.
|
@@ -1,8 +1,6 @@
|
|
1
1
|
from os import environ as env
|
2
2
|
from typing import Any, Optional
|
3
3
|
|
4
|
-
from dotenv import load_dotenv
|
5
|
-
|
6
4
|
from ._utils.constants import (
|
7
5
|
ENV_FOLDER_KEY,
|
8
6
|
ENV_FOLDER_PATH,
|
@@ -10,8 +8,6 @@ from ._utils.constants import (
|
|
10
8
|
HEADER_FOLDER_PATH,
|
11
9
|
)
|
12
10
|
|
13
|
-
load_dotenv(override=True)
|
14
|
-
|
15
11
|
|
16
12
|
class FolderContext:
|
17
13
|
"""Manages the folder context for UiPath automation resources.
|
@@ -1,7 +1,6 @@
|
|
1
1
|
from os import environ as env
|
2
2
|
from typing import Optional
|
3
3
|
|
4
|
-
from dotenv import load_dotenv
|
5
4
|
from pydantic import ValidationError
|
6
5
|
|
7
6
|
from ._config import Config
|
@@ -29,8 +28,6 @@ from ._utils.constants import (
|
|
29
28
|
)
|
30
29
|
from .models.errors import BaseUrlMissingError, SecretMissingError
|
31
30
|
|
32
|
-
load_dotenv(override=True)
|
33
|
-
|
34
31
|
|
35
32
|
class UiPath:
|
36
33
|
def __init__(
|
@@ -4,7 +4,7 @@ from unittest.mock import AsyncMock, patch
|
|
4
4
|
import pytest
|
5
5
|
from click.testing import CliRunner
|
6
6
|
|
7
|
-
from uipath._cli
|
7
|
+
from uipath._cli import cli
|
8
8
|
|
9
9
|
"""
|
10
10
|
Unit tests for the 'uipath auth' command.
|
@@ -113,7 +113,7 @@ def test_auth_scenarios(
|
|
113
113
|
for key, value in env_vars.items():
|
114
114
|
os.environ[key] = value
|
115
115
|
|
116
|
-
result = runner.invoke(
|
116
|
+
result = runner.invoke(cli, ["auth"] + cli_args)
|
117
117
|
|
118
118
|
for key in env_vars:
|
119
119
|
del os.environ[key]
|
@@ -133,7 +133,7 @@ def test_auth_with_malformed_url():
|
|
133
133
|
runner = CliRunner()
|
134
134
|
with runner.isolated_filesystem():
|
135
135
|
os.environ["UIPATH_URL"] = "custom.uipath.com"
|
136
|
-
result = runner.invoke(
|
136
|
+
result = runner.invoke(cli, ["auth", "--force"])
|
137
137
|
del os.environ["UIPATH_URL"]
|
138
138
|
|
139
139
|
assert result.exit_code == 1
|
@@ -7,7 +7,7 @@ from unittest.mock import patch
|
|
7
7
|
import pytest
|
8
8
|
from click.testing import CliRunner
|
9
9
|
|
10
|
-
from uipath._cli
|
10
|
+
from uipath._cli import cli
|
11
11
|
from uipath._cli.middlewares import MiddlewareResult
|
12
12
|
|
13
13
|
|
@@ -29,7 +29,7 @@ class TestInit:
|
|
29
29
|
with open("main.py", "w") as f:
|
30
30
|
f.write("def main(input): return input")
|
31
31
|
# Test creation of new .env
|
32
|
-
result = runner.invoke(init)
|
32
|
+
result = runner.invoke(cli, ["init"])
|
33
33
|
assert result.exit_code == 0
|
34
34
|
assert "Created '.env' file" in result.output
|
35
35
|
|
@@ -40,7 +40,7 @@ class TestInit:
|
|
40
40
|
with open(".env", "w") as f:
|
41
41
|
f.write(original_content)
|
42
42
|
|
43
|
-
result = runner.invoke(init)
|
43
|
+
result = runner.invoke(cli, ["init"])
|
44
44
|
assert result.exit_code == 0
|
45
45
|
with open(".env", "r") as f:
|
46
46
|
assert f.read() == original_content
|
@@ -49,7 +49,7 @@ class TestInit:
|
|
49
49
|
"""Test Python script detection scenarios."""
|
50
50
|
with runner.isolated_filesystem(temp_dir=temp_dir):
|
51
51
|
# Test empty directory
|
52
|
-
result = runner.invoke(init)
|
52
|
+
result = runner.invoke(cli, ["init"])
|
53
53
|
assert result.exit_code == 1
|
54
54
|
assert "No python files found in the current directory" in result.output
|
55
55
|
|
@@ -57,7 +57,7 @@ class TestInit:
|
|
57
57
|
with open("main.py", "w") as f:
|
58
58
|
f.write("def main(input): return input")
|
59
59
|
|
60
|
-
result = runner.invoke(init)
|
60
|
+
result = runner.invoke(cli, ["init"])
|
61
61
|
assert result.exit_code == 0
|
62
62
|
assert os.path.exists("uipath.json")
|
63
63
|
|
@@ -65,7 +65,7 @@ class TestInit:
|
|
65
65
|
with open("second.py", "w") as f:
|
66
66
|
f.write("def main(input): return input")
|
67
67
|
|
68
|
-
result = runner.invoke(init)
|
68
|
+
result = runner.invoke(cli, ["init"])
|
69
69
|
assert result.exit_code == 1
|
70
70
|
assert (
|
71
71
|
"Multiple python files found in the current directory" in result.output
|
@@ -76,7 +76,7 @@ class TestInit:
|
|
76
76
|
"""Test init with specified entrypoint."""
|
77
77
|
with runner.isolated_filesystem(temp_dir=temp_dir):
|
78
78
|
# Test with non-existent file
|
79
|
-
result = runner.invoke(
|
79
|
+
result = runner.invoke(cli, ["init", "nonexistent.py"])
|
80
80
|
assert result.exit_code == 1
|
81
81
|
assert "does not exist in the current directory" in result.output
|
82
82
|
|
@@ -84,7 +84,7 @@ class TestInit:
|
|
84
84
|
with open("script.py", "w") as f:
|
85
85
|
f.write("def main(input): return input")
|
86
86
|
|
87
|
-
result = runner.invoke(
|
87
|
+
result = runner.invoke(cli, ["init", "script.py"])
|
88
88
|
assert result.exit_code == 0
|
89
89
|
assert os.path.exists("uipath.json")
|
90
90
|
|
@@ -110,7 +110,7 @@ class TestInit:
|
|
110
110
|
should_include_stacktrace=False,
|
111
111
|
)
|
112
112
|
|
113
|
-
result = runner.invoke(init)
|
113
|
+
result = runner.invoke(cli, ["init"])
|
114
114
|
assert result.exit_code == 1
|
115
115
|
assert "Middleware error" in result.output
|
116
116
|
assert not os.path.exists("uipath.json")
|
@@ -125,7 +125,7 @@ class TestInit:
|
|
125
125
|
with open("main.py", "w") as f:
|
126
126
|
f.write("def main(input): return input")
|
127
127
|
|
128
|
-
result = runner.invoke(init)
|
128
|
+
result = runner.invoke(cli, ["init"])
|
129
129
|
assert result.exit_code == 0
|
130
130
|
assert os.path.exists("uipath.json")
|
131
131
|
|
@@ -140,7 +140,7 @@ class TestInit:
|
|
140
140
|
with patch("uipath._cli.cli_init.Middlewares.next") as mock_middleware:
|
141
141
|
mock_middleware.return_value = MiddlewareResult(should_continue=True)
|
142
142
|
|
143
|
-
result = runner.invoke(
|
143
|
+
result = runner.invoke(cli, ["init", "invalid.py"])
|
144
144
|
assert result.exit_code == 1
|
145
145
|
assert "Error creating configuration" in result.output
|
146
146
|
assert "invalid syntax" in result.output # Should show stacktrace
|
@@ -157,7 +157,7 @@ class TestInit:
|
|
157
157
|
should_continue=True
|
158
158
|
)
|
159
159
|
|
160
|
-
result = runner.invoke(
|
160
|
+
result = runner.invoke(cli, ["init", "script.py"])
|
161
161
|
assert result.exit_code == 1
|
162
162
|
# Use regex to match any spinner character followed by the expected message
|
163
163
|
assert re.search(
|
@@ -188,7 +188,7 @@ def main(input: Input) -> Output:
|
|
188
188
|
with open("test.py", "w") as f:
|
189
189
|
f.write(script_content)
|
190
190
|
|
191
|
-
result = runner.invoke(
|
191
|
+
result = runner.invoke(cli, ["init", "test.py"])
|
192
192
|
assert result.exit_code == 0
|
193
193
|
assert os.path.exists("uipath.json")
|
194
194
|
|
@@ -225,7 +225,7 @@ def main(input: Input) -> Output:
|
|
225
225
|
with open("bindings.py", "w") as f:
|
226
226
|
f.write(bindings_script)
|
227
227
|
print(1)
|
228
|
-
result = runner.invoke(
|
228
|
+
result = runner.invoke(cli, ["init", "bindings.py"])
|
229
229
|
assert result.exit_code == 0
|
230
230
|
assert "Created 'uipath.json' file" in result.output
|
231
231
|
assert os.path.exists("uipath.json")
|
@@ -9,7 +9,7 @@ from click.testing import CliRunner
|
|
9
9
|
from pytest_httpx import HTTPXMock
|
10
10
|
|
11
11
|
from tests.cli.utils.project_details import ProjectDetails
|
12
|
-
from uipath._cli
|
12
|
+
from uipath._cli import cli
|
13
13
|
from uipath._cli.middlewares import MiddlewareResult
|
14
14
|
|
15
15
|
|
@@ -34,7 +34,9 @@ class TestInvoke:
|
|
34
34
|
entrypoint: str,
|
35
35
|
):
|
36
36
|
with runner.isolated_filesystem(temp_dir=temp_dir):
|
37
|
-
result = runner.invoke(
|
37
|
+
result = runner.invoke(
|
38
|
+
cli, ["invoke", entrypoint, "--file", "not-here.json"]
|
39
|
+
)
|
38
40
|
assert result.exit_code != 0
|
39
41
|
assert "Error: Invalid value for '-f' / '--file'" in result.output
|
40
42
|
|
@@ -49,7 +51,7 @@ class TestInvoke:
|
|
49
51
|
file_path = os.path.join(temp_dir, file_name)
|
50
52
|
with open(file_path, "w") as f:
|
51
53
|
f.write("file content")
|
52
|
-
result = runner.invoke(invoke,
|
54
|
+
result = runner.invoke(cli, ["invoke", entrypoint, "--file", file_path])
|
53
55
|
assert result.exit_code == 1
|
54
56
|
assert "Input file extension must be '.json'." in result.output
|
55
57
|
|
@@ -117,7 +119,7 @@ class TestInvoke:
|
|
117
119
|
f.write(json_content)
|
118
120
|
with open("pyproject.toml", "w") as f:
|
119
121
|
f.write(project_details.to_toml())
|
120
|
-
result = runner.invoke(invoke,
|
122
|
+
result = runner.invoke(cli, ["invoke", entrypoint, "{}"])
|
121
123
|
assert result.exit_code == 0
|
122
124
|
assert "Starting job ..." in result.output
|
123
125
|
assert "Job started successfully!" in result.output
|
@@ -160,7 +162,7 @@ class TestInvoke:
|
|
160
162
|
error_message=None,
|
161
163
|
should_include_stacktrace=False,
|
162
164
|
)
|
163
|
-
result = runner.invoke(invoke,
|
165
|
+
result = runner.invoke(cli, ["invoke", entrypoint, "{}"])
|
164
166
|
assert result.exit_code == 1
|
165
167
|
assert (
|
166
168
|
"Failed to fetch user info. Please try reauthenticating."
|
@@ -3,7 +3,7 @@ from unittest.mock import patch
|
|
3
3
|
|
4
4
|
from click.testing import CliRunner
|
5
5
|
|
6
|
-
from uipath._cli
|
6
|
+
from uipath._cli import cli
|
7
7
|
from uipath._cli.middlewares import MiddlewareResult
|
8
8
|
|
9
9
|
|
@@ -12,7 +12,7 @@ class TestNew:
|
|
12
12
|
"""Test project creation scenarios."""
|
13
13
|
with runner.isolated_filesystem(temp_dir=temp_dir):
|
14
14
|
# Test creating a new project
|
15
|
-
result = runner.invoke(
|
15
|
+
result = runner.invoke(cli, ["new", "my_project"])
|
16
16
|
assert result.exit_code == 0
|
17
17
|
assert os.path.exists("main.py")
|
18
18
|
assert os.path.exists("pyproject.toml")
|
@@ -20,7 +20,7 @@ class TestNew:
|
|
20
20
|
def test_new_project_without_name(self, runner: CliRunner, temp_dir: str) -> None:
|
21
21
|
"""Test creating a new project without specifying a name."""
|
22
22
|
with runner.isolated_filesystem(temp_dir=temp_dir):
|
23
|
-
result = runner.invoke(
|
23
|
+
result = runner.invoke(cli, ["new", ""])
|
24
24
|
assert result.exit_code == 1
|
25
25
|
assert "Please specify a name for your project" in result.output
|
26
26
|
|
@@ -33,7 +33,7 @@ class TestNew:
|
|
33
33
|
with open("main.py", "w") as f:
|
34
34
|
f.write("print('Existing file')")
|
35
35
|
|
36
|
-
result = runner.invoke(
|
36
|
+
result = runner.invoke(cli, ["new", "my_project"])
|
37
37
|
assert result.exit_code == 0
|
38
38
|
assert "Created 'main.py' file." in result.output
|
39
39
|
|
@@ -50,7 +50,7 @@ class TestNew:
|
|
50
50
|
should_include_stacktrace=False,
|
51
51
|
)
|
52
52
|
|
53
|
-
result = runner.invoke(
|
53
|
+
result = runner.invoke(cli, ["new", "my_project"])
|
54
54
|
assert result.exit_code == 1
|
55
55
|
assert "Middleware error" in result.output
|
56
56
|
assert not os.path.exists("main.py")
|
@@ -62,7 +62,7 @@ class TestNew:
|
|
62
62
|
should_include_stacktrace=False,
|
63
63
|
)
|
64
64
|
|
65
|
-
result = runner.invoke(
|
65
|
+
result = runner.invoke(cli, ["new", "my_project"])
|
66
66
|
assert result.exit_code == 0
|
67
67
|
assert os.path.exists("main.py")
|
68
68
|
|
@@ -76,6 +76,6 @@ class TestNew:
|
|
76
76
|
# Simulate an error during project creation
|
77
77
|
with patch("uipath._cli.cli_new.generate_script") as mock_generate:
|
78
78
|
mock_generate.side_effect = Exception("Generation error")
|
79
|
-
result = runner.invoke(
|
79
|
+
result = runner.invoke(cli, ["new", "my_project"])
|
80
80
|
assert result.exit_code == 1
|
81
81
|
assert "Created 'main.py' file." not in result.output
|