uipath 2.1.87__tar.gz → 2.1.88__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.
Potentially problematic release.
This version of uipath might be problematic. Click here for more details.
- uipath-2.1.88/.claude/agents/command-tester.md +100 -0
- uipath-2.1.88/.claude/commands/prepare-pr.md +60 -0
- {uipath-2.1.87 → uipath-2.1.88}/PKG-INFO +1 -1
- {uipath-2.1.87 → uipath-2.1.88}/pyproject.toml +1 -1
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/__init__.py +2 -1
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_common.py +8 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_init.py +12 -13
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_init_agents_md.py +7 -14
- {uipath-2.1.87 → uipath-2.1.88}/uv.lock +1 -1
- {uipath-2.1.87 → uipath-2.1.88}/.cursorrules +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.editorconfig +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.gitattributes +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/labeler.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/auto-label.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/cd.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/ci.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/integration_tests.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/lint.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/slack.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/test-uipath-langchain.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/test-uipath-llamaindex.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.github/workflows/test.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.gitignore +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.pre-commit-config.yaml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.python-version +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.vscode/extensions.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.vscode/launch.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/.vscode/settings.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/CONTRIBUTING.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/LICENSE +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/README.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/FAQ.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/assets/env-preparation-failed-dark.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/assets/env-preparation-failed-light.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/assets/favicon.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/assets/llms.txt +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/assets/logo-light.svg +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/cli/index.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/actions.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets/cloud_env_var_dark.gif +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets/cloud_env_var_light.gif +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets/copy_path_dark.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets/copy_path_light.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/assets.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/attachments.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/buckets.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/connections.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/context_grounding.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/documents.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/documents_models.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/environment_variables.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/getting_started.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/jobs.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/llm_gateway.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/processes.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/queues.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/core/traced.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/hooks.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/index.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/javascripts/extra.js +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/overrides/main.html +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/overrides/partials/actions.html +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/release_policy.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/sample_images/google-ADK-agent/agent-output.png +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/docs/stylesheets/extra.css +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/justfile +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/mkdocs.yml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/py.typed +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/asset-modifier-agent/.env.example +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/asset-modifier-agent/README.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/asset-modifier-agent/input.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/asset-modifier-agent/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/asset-modifier-agent/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/asset-modifier-agent/uv.lock +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/README.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/evals/eval-sets/default.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/evals/evaluators/equality.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/evals/evaluators/llm-as-a-judge.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/calculator/uipath.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/event-trigger/.python-version +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/event-trigger/README.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/event-trigger/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/event-trigger/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/.env.example +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/README.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/input.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/multi_tool_agent/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/multi_tool_agent/agent.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/samples/google-ADK-agent/uv.lock +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/scripts/debug_test.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/scripts/lint_httpx_client.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/scripts/update_agents_md.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/README.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_auth_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_url_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_components/_chat.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_components/_details.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_components/_history.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_components/_json_input.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_components/_new.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_models/_execution.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_models/_messages.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_styles/terminal.tcss +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_utils/_chat.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_utils/_exporter.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_dev/_terminal/_utils/_logger.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_console_progress_reporter.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_evaluator_factory.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_evaluation_set.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_evaluator_base_params.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_exceptions.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_mocks.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_output.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_models/_sw_reporting.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_progress_reporter.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_runtime.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/_span_collection.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/mocks/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/mocks/llm_mocker.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/mocks/mocker.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/mocks/mocker_factory.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/mocks/mockito_mocker.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_evals/mocks/mocks.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_push/sw_file_handler.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_runtime/_escalation.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_runtime/_hitl.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_runtime/_script_executor.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_constants.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_debug.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_eval_set.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_processes.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_project_files.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_studio_project.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_tracing.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/_utils/_uv_helpers.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_dev.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_eval.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_invoke.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_pull.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_push.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_config.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_events/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_events/_event_bus.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_events/_events.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_execution_context.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_folder_context.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_resources/AGENTS.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_resources/CLAUDE.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_resources/CLI_REFERENCE.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_resources/REQUIRED_STRUCTURE.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_resources/SDK_REFERENCE.md +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/attachments_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/documents_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/entities_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/external_application_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_uipath.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_auth.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_read_overwrites.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_ssl_context.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_url.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/async_stream.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/citation.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/content.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/conversation.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/event.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/exchange.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/message.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/meta.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/conversation/tool.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/agent/models/agent.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/_helpers/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/_helpers/helpers.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/base_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/deterministic_evaluator_base.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/exact_match_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/json_similarity_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/llm_as_judge_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/evaluators/trajectory_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/mocks/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/mocks/mockable.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/models/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/eval/models/models.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/actions.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/assets.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/attachment.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/auth.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/buckets.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/connections.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/documents.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/entities.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/errors.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/job.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/processes.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/models/queues.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/py.typed +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/telemetry/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/telemetry/_constants.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/telemetry/_track.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/utils/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/utils/_endpoints_manager.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/src/uipath/utils/dynamic_schema.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/apicalls-testcase/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/apicalls-testcase/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/apicalls-testcase/run.sh +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/apicalls-testcase/src/assert.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/basic-testcase/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/basic-testcase/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/basic-testcase/run.sh +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/basic-testcase/src/assert.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/common/validate_output.sh +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/langchain-cross/agent.mermaid +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/langchain-cross/langgraph.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/langchain-cross/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/langchain-cross/run.sh +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/langchain-cross/src/assert.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/langchain-cross/src/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/llamaindex-cross/agent.mermaid +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/llamaindex-cross/llama_index.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/llamaindex-cross/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/llamaindex-cross/run.sh +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/llamaindex-cross/src/assert.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/testcases/llamaindex-cross/src/main.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/__init__.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/agent/models/test_agent.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/conftest.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/eval/mocks/test_mocks.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/evaluators/test_json_similarity_evaluator.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/mocks/bindings_script.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/mocks/pyproject.toml +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/mocks/simple_script.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/mocks/uipath-mock.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_auth.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_hitl.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_init.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_input_args.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_invoke.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_new.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_oidc_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_pack.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_portal_service_ensure_valid_token.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_portal_service_refresh_token.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_publish.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_pull.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_push.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_run.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/test_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/utils/common.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/utils/project_details.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/utils/test_dynamic_schema.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/cli/utils/uipath_json.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/conftest.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/conftest.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_actions_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_api_client.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_assets_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_attachments_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_base_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_buckets_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_connections_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_context_grounding_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_documents_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_entities_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_external_application_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_folder_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_jobs_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_llm_schema_cleanup.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_processes_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_queues_service.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/tests_data/documents_service/create_validation_action_response.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/tests_data/documents_service/extraction_response.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/services/tests_data/documents_service/validated_result.json +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/test_bindings_inference.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/test_config.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/sdk/test_overwrites.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/tracing/test_traced.py +0 -0
- {uipath-2.1.87 → uipath-2.1.88}/tests/tracing/test_tracing_manager.py +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: command-tester
|
|
3
|
+
description: Actively tests UiPath Python CLI commands on sample projects during development to verify functionality and help Claude Code continue implementation confidently
|
|
4
|
+
tools: Bash, Read, Glob
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# UiPath Python CLI Command Tester
|
|
9
|
+
|
|
10
|
+
You are a specialized agent that actively tests UiPath Python CLI commands on sample projects during development. Your role is to quickly verify command functionality and provide confident feedback to help Claude Code continue implementation.
|
|
11
|
+
|
|
12
|
+
## Your Role
|
|
13
|
+
|
|
14
|
+
You automatically:
|
|
15
|
+
- Test CLI commands on available sample projects
|
|
16
|
+
- Execute commands in proper environments
|
|
17
|
+
- Report results clearly and concisely
|
|
18
|
+
- Handle setup requirements for Studio Web commands
|
|
19
|
+
- Verify command functionality during development
|
|
20
|
+
- Help Claude Code proceed confidently with implementation
|
|
21
|
+
|
|
22
|
+
## Available Sample Projects
|
|
23
|
+
|
|
24
|
+
Automatically check and use samples in `samples/` directory:
|
|
25
|
+
- `samples/calculator/` - Main testing sample
|
|
26
|
+
- Other samples as available
|
|
27
|
+
|
|
28
|
+
## Testing Approach
|
|
29
|
+
|
|
30
|
+
### 1. Environment Setup
|
|
31
|
+
Always use the root project virtual environment for latest changes:
|
|
32
|
+
```bash
|
|
33
|
+
cd samples/calculator/
|
|
34
|
+
source ../../.venv/bin/activate
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. Command Categories
|
|
38
|
+
|
|
39
|
+
**Studio Web Commands** (require setup):
|
|
40
|
+
- `uipath pull` - Requires UIPATH_PROJECT_ID and auth
|
|
41
|
+
- `uipath push` - Requires UIPATH_PROJECT_ID and auth
|
|
42
|
+
- `uipath auth` - Authentication setup
|
|
43
|
+
|
|
44
|
+
**Local Commands** (can run immediately):
|
|
45
|
+
- `uipath init` - Project initialization
|
|
46
|
+
- `uipath run` - Run agent locally
|
|
47
|
+
- `uipath pack` - Package project
|
|
48
|
+
- Build and development commands
|
|
49
|
+
|
|
50
|
+
### 3. Execution Strategy
|
|
51
|
+
|
|
52
|
+
For **Studio Web commands**:
|
|
53
|
+
- Check if `.env` exists with UIPATH_PROJECT_ID
|
|
54
|
+
- If not configured, inform user: "Please configure one sample with Studio Web credentials to test push/pull commands"
|
|
55
|
+
- If configured, execute and report results
|
|
56
|
+
|
|
57
|
+
For **Local commands**:
|
|
58
|
+
- Execute immediately in appropriate sample directory
|
|
59
|
+
- Report output and success/failure
|
|
60
|
+
- Provide specific error details if failures occur
|
|
61
|
+
|
|
62
|
+
## Response Format
|
|
63
|
+
|
|
64
|
+
Always provide:
|
|
65
|
+
1. **Command Executed**: What was tested
|
|
66
|
+
2. **Environment**: Which sample and setup used
|
|
67
|
+
3. **Result**: Success/failure with key output
|
|
68
|
+
4. **Confidence Level**: High/Medium/Low for Claude Code to proceed
|
|
69
|
+
5. **Next Steps**: Any issues that need addressing
|
|
70
|
+
|
|
71
|
+
## Sample Responses
|
|
72
|
+
|
|
73
|
+
**Successful Test**:
|
|
74
|
+
```
|
|
75
|
+
✅ **Command**: `uipath pull`
|
|
76
|
+
📁 **Environment**: samples/calculator with root venv
|
|
77
|
+
📊 **Result**: SUCCESS - Downloaded 3 coded-evals files with proper logging
|
|
78
|
+
🎯 **Confidence**: HIGH - Command working as expected
|
|
79
|
+
▶️ **Next Steps**: Claude Code can proceed confidently
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Setup Required**:
|
|
83
|
+
```
|
|
84
|
+
⚠️ **Command**: `uipath push`
|
|
85
|
+
📁 **Environment**: samples/calculator
|
|
86
|
+
📊 **Result**: SETUP_REQUIRED - No UIPATH_PROJECT_ID configured
|
|
87
|
+
🎯 **Confidence**: N/A - Cannot test without Studio Web setup
|
|
88
|
+
▶️ **Next Steps**: Please configure one sample with Studio Web credentials for push/pull testing
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Command Failure**:
|
|
92
|
+
```
|
|
93
|
+
❌ **Command**: `uipath pack`
|
|
94
|
+
📁 **Environment**: samples/calculator with root venv
|
|
95
|
+
📊 **Result**: FAILED - Missing required field in pyproject.toml
|
|
96
|
+
🎯 **Confidence**: LOW - Issue needs resolution
|
|
97
|
+
▶️ **Next Steps**: Fix pyproject.toml configuration before proceeding
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
You are Claude Code's reliable testing partner - quick, accurate, and confidence-building.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash
|
|
3
|
+
description: Run all checks required for PR standards (lint, format, type check, build)
|
|
4
|
+
argument-hint: [optional-commit-message]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
I'll help you prepare for a PR by running all the required checks to meet project standards. This includes linting, formatting, type checking, and building.
|
|
8
|
+
|
|
9
|
+
Let me run each check step by step:
|
|
10
|
+
|
|
11
|
+
## Step 1: Linting Check
|
|
12
|
+
Running lint checks to ensure code quality...
|
|
13
|
+
|
|
14
|
+
!uv run just lint
|
|
15
|
+
|
|
16
|
+
## Step 2: Format Check
|
|
17
|
+
Checking code formatting...
|
|
18
|
+
|
|
19
|
+
!uv run just format
|
|
20
|
+
|
|
21
|
+
## Step 3: Auto-format (if needed)
|
|
22
|
+
If formatting issues were found, I'll auto-fix them:
|
|
23
|
+
|
|
24
|
+
!uv run ruff format .
|
|
25
|
+
|
|
26
|
+
## Step 4: Type Checking
|
|
27
|
+
Running mypy type checking on modified CLI files...
|
|
28
|
+
|
|
29
|
+
!uv run mypy src/uipath/_cli/
|
|
30
|
+
|
|
31
|
+
## Step 5: Build Check
|
|
32
|
+
Ensuring the package builds correctly...
|
|
33
|
+
|
|
34
|
+
!uv run just build
|
|
35
|
+
|
|
36
|
+
## Step 6: Git Status
|
|
37
|
+
Checking current git status...
|
|
38
|
+
|
|
39
|
+
!git status
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Summary
|
|
44
|
+
|
|
45
|
+
All checks completed! Here's what was verified:
|
|
46
|
+
- ✅ **Linting**: Code follows style guidelines
|
|
47
|
+
- ✅ **Formatting**: Code is properly formatted
|
|
48
|
+
- ✅ **Type Checking**: No type errors
|
|
49
|
+
- ✅ **Build**: Package builds successfully
|
|
50
|
+
|
|
51
|
+
If all checks passed, your code is ready for PR!
|
|
52
|
+
|
|
53
|
+
If you provided a commit message argument, I can help you create the commit. Otherwise, you can now:
|
|
54
|
+
|
|
55
|
+
1. Stage your changes: `git add .`
|
|
56
|
+
2. Create a commit with a proper message format: `git commit -m "feat: your-description"`
|
|
57
|
+
3. Push your branch: `git push origin your-branch-name`
|
|
58
|
+
4. Create a PR with a descriptive title and summary
|
|
59
|
+
|
|
60
|
+
**Remember**: PR titles should be concise and follow the format: `feat/fix/docs: description`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.88
|
|
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.88"
|
|
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,7 +3,7 @@ import sys
|
|
|
3
3
|
|
|
4
4
|
import click
|
|
5
5
|
|
|
6
|
-
from ._utils._common import load_environment_variables
|
|
6
|
+
from ._utils._common import add_cwd_to_path, load_environment_variables
|
|
7
7
|
from .cli_auth import auth as auth
|
|
8
8
|
from .cli_deploy import deploy as deploy # type: ignore
|
|
9
9
|
from .cli_dev import dev as dev
|
|
@@ -45,6 +45,7 @@ def _get_safe_version() -> str:
|
|
|
45
45
|
)
|
|
46
46
|
def cli(lv: bool, v: bool) -> None:
|
|
47
47
|
load_environment_variables()
|
|
48
|
+
add_cwd_to_path()
|
|
48
49
|
if lv:
|
|
49
50
|
try:
|
|
50
51
|
version = importlib.metadata.version("uipath-langchain")
|
|
@@ -9,6 +9,14 @@ from ..._utils.constants import DOTENV_FILE
|
|
|
9
9
|
from ..spinner import Spinner
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
def add_cwd_to_path():
|
|
13
|
+
import sys
|
|
14
|
+
|
|
15
|
+
cwd = os.getcwd()
|
|
16
|
+
if cwd not in sys.path:
|
|
17
|
+
sys.path.insert(0, cwd)
|
|
18
|
+
|
|
19
|
+
|
|
12
20
|
def environment_options(function):
|
|
13
21
|
function = click.option(
|
|
14
22
|
"--alpha",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# type: ignore
|
|
2
2
|
import importlib.resources
|
|
3
3
|
import json
|
|
4
|
+
import logging
|
|
4
5
|
import os
|
|
5
6
|
import shutil
|
|
6
7
|
import uuid
|
|
@@ -18,6 +19,7 @@ from ._utils._parse_ast import generate_bindings_json
|
|
|
18
19
|
from .middlewares import Middlewares
|
|
19
20
|
|
|
20
21
|
console = ConsoleLogger()
|
|
22
|
+
logger = logging.getLogger(__name__)
|
|
21
23
|
|
|
22
24
|
CONFIG_PATH = "uipath.json"
|
|
23
25
|
|
|
@@ -55,7 +57,7 @@ def generate_env_file(target_directory):
|
|
|
55
57
|
relative_path = os.path.relpath(env_path, target_directory)
|
|
56
58
|
with open(env_path, "w"):
|
|
57
59
|
pass
|
|
58
|
-
console.success(f"
|
|
60
|
+
console.success(f"Created '{relative_path}' file.")
|
|
59
61
|
|
|
60
62
|
|
|
61
63
|
def generate_agent_specific_file_md(target_directory: str, file_name: str) -> None:
|
|
@@ -65,10 +67,13 @@ def generate_agent_specific_file_md(target_directory: str, file_name: str) -> No
|
|
|
65
67
|
target_directory: The directory where the file should be created.
|
|
66
68
|
file_name: The name of the file should be created.
|
|
67
69
|
"""
|
|
68
|
-
|
|
70
|
+
agent_dir = os.path.join(target_directory, ".agent")
|
|
71
|
+
os.makedirs(agent_dir, exist_ok=True)
|
|
72
|
+
|
|
73
|
+
target_path = os.path.join(agent_dir, file_name)
|
|
69
74
|
|
|
70
75
|
if os.path.exists(target_path):
|
|
71
|
-
|
|
76
|
+
logger.debug(f"File '.agent/{target_path}' already exists.")
|
|
72
77
|
return
|
|
73
78
|
|
|
74
79
|
try:
|
|
@@ -77,7 +82,7 @@ def generate_agent_specific_file_md(target_directory: str, file_name: str) -> No
|
|
|
77
82
|
with importlib.resources.as_file(source_path) as s_path:
|
|
78
83
|
shutil.copy(s_path, target_path)
|
|
79
84
|
|
|
80
|
-
console.success(f"
|
|
85
|
+
console.success(f"Created '{f'.agent/{file_name}'}' file.")
|
|
81
86
|
except Exception as e:
|
|
82
87
|
console.warning(f"Could not create {file_name}: {e}")
|
|
83
88
|
|
|
@@ -157,15 +162,9 @@ def init(entrypoint: str, infer_bindings: bool) -> None:
|
|
|
157
162
|
generate_env_file(current_directory)
|
|
158
163
|
create_telemetry_config_file(current_directory)
|
|
159
164
|
generate_agent_specific_file_md(current_directory, "AGENTS.md")
|
|
160
|
-
generate_agent_specific_file_md(
|
|
161
|
-
|
|
162
|
-
)
|
|
163
|
-
generate_agent_specific_file_md(
|
|
164
|
-
os.path.join(current_directory, ".agent"), "REQUIRED_STRUCTURE.md"
|
|
165
|
-
)
|
|
166
|
-
generate_agent_specific_file_md(
|
|
167
|
-
os.path.join(current_directory, ".agent"), "SDK_REFERENCE.md"
|
|
168
|
-
)
|
|
165
|
+
generate_agent_specific_file_md(current_directory, "CLI_REFERENCE.md")
|
|
166
|
+
generate_agent_specific_file_md(current_directory, "REQUIRED_STRUCTURE.md")
|
|
167
|
+
generate_agent_specific_file_md(current_directory, "SDK_REFERENCE.md")
|
|
169
168
|
generate_agent_specific_file_md(current_directory, "CLAUDE.md")
|
|
170
169
|
|
|
171
170
|
result = Middlewares.next(
|
|
@@ -46,7 +46,7 @@ class TestGenerateAgentsMd:
|
|
|
46
46
|
|
|
47
47
|
# Verify console success message
|
|
48
48
|
mock_console.success.assert_called_once_with(
|
|
49
|
-
"
|
|
49
|
+
"Created '.agent/AGENTS.md' file."
|
|
50
50
|
)
|
|
51
51
|
|
|
52
52
|
def test_generate_agents_md_skips_existing_file(self) -> None:
|
|
@@ -57,17 +57,11 @@ class TestGenerateAgentsMd:
|
|
|
57
57
|
original_content = "Original content"
|
|
58
58
|
agents_path.write_text(original_content)
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
generate_agent_specific_file_md(temp_dir, "AGENTS.md")
|
|
60
|
+
# Run function
|
|
61
|
+
generate_agent_specific_file_md(temp_dir, "AGENTS.md")
|
|
63
62
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
# Verify console info message
|
|
68
|
-
mock_console.info.assert_called_once_with(
|
|
69
|
-
"Skipping 'AGENTS.md' creation as it already exists."
|
|
70
|
-
)
|
|
63
|
+
# Verify file wasn't changed
|
|
64
|
+
assert agents_path.read_text() == original_content
|
|
71
65
|
|
|
72
66
|
def test_generate_agents_md_handles_errors_gracefully(self) -> None:
|
|
73
67
|
"""Test that errors are handled gracefully."""
|
|
@@ -135,8 +129,8 @@ class TestInitWithAgentsMd:
|
|
|
135
129
|
result = runner.invoke(cli, ["init"])
|
|
136
130
|
|
|
137
131
|
assert result.exit_code == 0
|
|
138
|
-
assert "
|
|
139
|
-
assert os.path.exists("AGENTS.md")
|
|
132
|
+
assert "Created '.agent/AGENTS.md' file." in result.output
|
|
133
|
+
assert os.path.exists(".agent/AGENTS.md")
|
|
140
134
|
|
|
141
135
|
def test_init_does_not_overwrite_existing_agents_md(
|
|
142
136
|
self, runner: CliRunner, temp_dir: str
|
|
@@ -156,7 +150,6 @@ class TestInitWithAgentsMd:
|
|
|
156
150
|
result = runner.invoke(cli, ["init"])
|
|
157
151
|
|
|
158
152
|
assert result.exit_code == 0
|
|
159
|
-
assert "Skipping 'AGENTS.md' creation" in result.output
|
|
160
153
|
|
|
161
154
|
# Verify content wasn't changed
|
|
162
155
|
with open("AGENTS.md", "r") as f:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|