uipath 2.0.44__tar.gz → 2.0.46__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.0.44 → uipath-2.0.46}/.github/workflows/build.yml +2 -3
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/cd.yml +2 -1
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/ci.yml +5 -3
- uipath-2.0.46/.github/workflows/commitlint.yml +43 -0
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/lint.yml +3 -11
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/publish-dev.yml +118 -124
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/publish-docs.yml +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/test.yml +3 -10
- {uipath-2.0.44 → uipath-2.0.46}/PKG-INFO +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/pyproject.toml +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/_portal_service.py +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_utils/_folders.py +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_utils/_processes.py +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_invoke.py +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_publish.py +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/_base_service.py +12 -4
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/buckets_service.py +16 -6
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/context_grounding_service.py +1 -1
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/__init__.py +2 -0
- uipath-2.0.46/src/uipath/models/buckets.py +27 -0
- uipath-2.0.46/src/uipath/models/context_grounding.py +36 -0
- {uipath-2.0.44 → uipath-2.0.46}/uv.lock +1 -1
- uipath-2.0.44/.github/workflows/commitlint.yml +0 -26
- uipath-2.0.44/src/uipath/models/context_grounding.py +0 -18
- {uipath-2.0.44 → uipath-2.0.46}/.cursorrules +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.editorconfig +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.gitattributes +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.github/workflows/slack.yml +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.gitignore +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.python-version +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.vscode/extensions.json +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/.vscode/settings.json +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/CONTRIBUTING.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/LICENSE +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/README.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/assets/favicon.png +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/assets/logo-light.svg +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/cli/index.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/actions.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/assets.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/buckets.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/connections.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/context_grounding.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/getting_started.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/jobs.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/processes.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/core/queues.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/hooks.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/javascripts/extra.js +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/langchain/chat_models.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/langchain/context_grounding.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/langchain/human_in_the_loop.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/release_policy.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/docs/stylesheets/extra.css +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/justfile +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/mkdocs.yml +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/py.typed +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/__init__.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_config.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_read_overwrites.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/errors.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/job.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/py.typed +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/__init__.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/cli/test_init.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/conftest.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/sdk/test_config.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/sdk/test_overwrites.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/tracing/test_traced.py +0 -0
- {uipath-2.0.44 → uipath-2.0.46}/tests/tracing/test_tracing_manager.py +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: Build and publish
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
workflow_call:
|
|
@@ -10,8 +10,7 @@ on:
|
|
|
10
10
|
|
|
11
11
|
jobs:
|
|
12
12
|
build:
|
|
13
|
-
|
|
14
|
-
runs-on: "ubuntu-24.04"
|
|
13
|
+
runs-on: ubuntu-latest
|
|
15
14
|
|
|
16
15
|
steps:
|
|
17
16
|
- uses: actions/checkout@v4
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
name: CI
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
workflow_dispatch: {}
|
|
5
4
|
push:
|
|
6
5
|
branches:
|
|
7
6
|
- main
|
|
8
|
-
|
|
7
|
+
pull_request_target:
|
|
8
|
+
types:
|
|
9
|
+
- opened
|
|
10
|
+
- synchronize
|
|
9
11
|
branches:
|
|
10
12
|
- main
|
|
11
13
|
|
|
12
14
|
jobs:
|
|
13
15
|
commit-lint:
|
|
14
|
-
if: ${{ github.event_name == '
|
|
16
|
+
if: ${{ github.event_name == 'pull_request_target' }}
|
|
15
17
|
uses: ./.github/workflows/commitlint.yml
|
|
16
18
|
|
|
17
19
|
lint:
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Commit Lint
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
commitlint:
|
|
8
|
+
name: Commit Lint
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
with:
|
|
14
|
+
fetch-depth: 0
|
|
15
|
+
|
|
16
|
+
- uses: actions/setup-node@v3
|
|
17
|
+
with:
|
|
18
|
+
node-version: 22
|
|
19
|
+
|
|
20
|
+
- name: Install Git
|
|
21
|
+
run: |
|
|
22
|
+
if ! command -v git &> /dev/null; then
|
|
23
|
+
echo "Git is not installed. Installing..."
|
|
24
|
+
sudo apt-get update
|
|
25
|
+
sudo apt-get install -y git
|
|
26
|
+
else
|
|
27
|
+
echo "Git is already installed."
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
- name: Install commitlint
|
|
31
|
+
run: |
|
|
32
|
+
npm install conventional-changelog-conventionalcommits
|
|
33
|
+
npm install commitlint@latest
|
|
34
|
+
npm install @commitlint/config-conventional
|
|
35
|
+
|
|
36
|
+
- name: Configure
|
|
37
|
+
run: |
|
|
38
|
+
echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
|
|
39
|
+
|
|
40
|
+
- name: Validate PR commits with commitlint
|
|
41
|
+
run: |
|
|
42
|
+
git fetch origin pull/${{ github.event.pull_request.number }}/head:pr_branch
|
|
43
|
+
npx commitlint --from ${{ github.event.pull_request.base.sha }} --to pr_branch --verbose
|
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: Lint
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
workflow_call
|
|
5
|
-
inputs:
|
|
6
|
-
should_skip:
|
|
7
|
-
description: 'Whether to skip the linting step'
|
|
8
|
-
required: false
|
|
9
|
-
type: boolean
|
|
10
|
-
default: false
|
|
4
|
+
workflow_call
|
|
11
5
|
|
|
12
6
|
jobs:
|
|
13
7
|
lint:
|
|
14
8
|
name: Lint
|
|
15
|
-
runs-on:
|
|
16
|
-
if: inputs.should_skip == false
|
|
17
|
-
|
|
9
|
+
runs-on: ubuntu-latest
|
|
18
10
|
|
|
19
11
|
steps:
|
|
20
12
|
- uses: actions/checkout@v4
|
|
@@ -1,125 +1,119 @@
|
|
|
1
|
-
name: Publish Dev Build
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
types: [opened, synchronize, reopened, labeled]
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
$
|
|
42
|
-
$
|
|
43
|
-
$
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
#
|
|
47
|
-
$
|
|
48
|
-
$
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
#
|
|
57
|
-
$
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
]
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
$
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
$
|
|
92
|
-
$
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
run: uv build
|
|
120
|
-
|
|
121
|
-
- name: Publish
|
|
122
|
-
run: |
|
|
123
|
-
uv publish
|
|
124
|
-
env:
|
|
1
|
+
name: Publish Dev Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened, labeled]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish-dev:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
# Only run if PR has the build:dev label
|
|
12
|
+
if: contains(github.event.pull_request.labels.*.name, 'build:dev')
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- uses: astral-sh/setup-uv@v5
|
|
18
|
+
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version-file: ".python-version"
|
|
22
|
+
|
|
23
|
+
- name: Setup venv
|
|
24
|
+
run: |
|
|
25
|
+
uv venv
|
|
26
|
+
uv sync --all-extras
|
|
27
|
+
|
|
28
|
+
- name: Set development version
|
|
29
|
+
shell: pwsh
|
|
30
|
+
env:
|
|
31
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
32
|
+
run: |
|
|
33
|
+
$pyprojcontent = Get-Content pyproject.toml -Raw
|
|
34
|
+
|
|
35
|
+
$PROJECT_NAME = ($pyprojcontent | Select-String -Pattern '(?m)^\[(project|tool\.poetry)\][^\[]*?name\s*=\s*"([^"]*)"' -AllMatches).Matches[0].Groups[2].Value
|
|
36
|
+
$CURRENT_VERSION = ($pyprojcontent | Select-String -Pattern '(?m)^\[(project|tool\.poetry)\][^\[]*?version\s*=\s*"([^"]*)"' -AllMatches).Matches[0].Groups[2].Value
|
|
37
|
+
$NIGHTLY_NAME = "$PROJECT_NAME-nightly"
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# Get PR number and run number with proper padding
|
|
41
|
+
$PR_NUM = [int]"${{ github.event.pull_request.number }}"
|
|
42
|
+
$PADDED_PR = "{0:D5}" -f [int]"${{ github.event.pull_request.number }}"
|
|
43
|
+
$PADDED_RUN = "{0:D4}" -f [int]"${{ github.run_number }}"
|
|
44
|
+
$PADDED_NEXT_PR = "{0:D5}" -f ($PR_NUM + 1)
|
|
45
|
+
|
|
46
|
+
# Create version range strings for PR
|
|
47
|
+
$MIN_VERSION = "$CURRENT_VERSION.dev1$PADDED_PR" + "0000"
|
|
48
|
+
$MAX_VERSION = "$CURRENT_VERSION.dev1$PADDED_NEXT_PR" + "0000"
|
|
49
|
+
|
|
50
|
+
# Create unique dev version with PR number and run ID
|
|
51
|
+
$DEV_VERSION = "$CURRENT_VERSION.dev1$PADDED_PR$PADDED_RUN"
|
|
52
|
+
|
|
53
|
+
# Update version in pyproject.toml
|
|
54
|
+
(Get-Content pyproject.toml) -replace "version = `"$CURRENT_VERSION`"", "version = `"$DEV_VERSION`"" | Set-Content pyproject.toml
|
|
55
|
+
|
|
56
|
+
# Update project name in pyproject.toml
|
|
57
|
+
(Get-Content pyproject.toml) -replace "name = `"$PROJECT_NAME`"", "name = `"$NIGHTLY_NAME`"" | Set-Content pyproject.toml
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Write-Output "Package version set to $DEV_VERSION"
|
|
61
|
+
|
|
62
|
+
$dependencyMessage = @"
|
|
63
|
+
## Development Package
|
|
64
|
+
|
|
65
|
+
- Add this package as a dependency in your pyproject.toml:
|
|
66
|
+
|
|
67
|
+
``````toml
|
|
68
|
+
[project]
|
|
69
|
+
dependencies = [
|
|
70
|
+
# Exact version:
|
|
71
|
+
"$NIGHTLY_NAME==$DEV_VERSION",
|
|
72
|
+
|
|
73
|
+
# Any version from PR
|
|
74
|
+
"$NIGHTLY_NAME>=$MIN_VERSION,<$MAX_VERSION"
|
|
75
|
+
]
|
|
76
|
+
``````
|
|
77
|
+
"@
|
|
78
|
+
|
|
79
|
+
# Get the owner and repo from the GitHub repository
|
|
80
|
+
$owner = "${{ github.repository_owner }}"
|
|
81
|
+
$repo = "${{ github.repository }}".Split('/')[1]
|
|
82
|
+
$prNumber = $PR_NUM
|
|
83
|
+
|
|
84
|
+
# Get the current PR description
|
|
85
|
+
$prUri = "https://api.github.com/repos/$owner/$repo/pulls/$prNumber"
|
|
86
|
+
$headers = @{
|
|
87
|
+
Authorization = "token $env:GITHUB_TOKEN"
|
|
88
|
+
Accept = "application/vnd.github.v3+json"
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
$pr = Invoke-RestMethod -Uri $prUri -Method Get -Headers $headers
|
|
92
|
+
$currentBody = $pr.body
|
|
93
|
+
|
|
94
|
+
# Check if there's already a development package section
|
|
95
|
+
if ($currentBody -match '## Development Package') {
|
|
96
|
+
# Replace the existing section with the new dependency message
|
|
97
|
+
$newBody = $currentBody -replace '## Development Package(\r?\n|.)*?(?=##|$)', $dependencyMessage
|
|
98
|
+
} else {
|
|
99
|
+
# Append the dependency message to the end of the description
|
|
100
|
+
$newBody = if ($currentBody) { "$currentBody`n`n$dependencyMessage" } else { $dependencyMessage }
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
# Update the PR description
|
|
104
|
+
$updateBody = @{
|
|
105
|
+
body = $newBody
|
|
106
|
+
} | ConvertTo-Json
|
|
107
|
+
|
|
108
|
+
Invoke-RestMethod -Uri $prUri -Method Patch -Headers $headers -Body $updateBody -ContentType "application/json"
|
|
109
|
+
|
|
110
|
+
Write-Output "Updated PR description with development package information"
|
|
111
|
+
|
|
112
|
+
- name: Build package
|
|
113
|
+
run: uv build
|
|
114
|
+
|
|
115
|
+
- name: Publish
|
|
116
|
+
run: |
|
|
117
|
+
uv publish
|
|
118
|
+
env:
|
|
125
119
|
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: Test
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
workflow_call
|
|
5
|
-
inputs:
|
|
6
|
-
should_skip:
|
|
7
|
-
description: 'Whether to skip the linting step'
|
|
8
|
-
required: false
|
|
9
|
-
type: boolean
|
|
10
|
-
default: false
|
|
4
|
+
workflow_call
|
|
11
5
|
|
|
12
6
|
jobs:
|
|
13
7
|
test:
|
|
14
8
|
name: Test
|
|
15
|
-
runs-on:
|
|
16
|
-
if: inputs.should_skip == false
|
|
9
|
+
runs-on: ubuntu-latest
|
|
17
10
|
|
|
18
11
|
steps:
|
|
19
12
|
- uses: actions/checkout@v4
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.46
|
|
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.0.
|
|
3
|
+
version = "2.0.46"
|
|
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"
|
|
@@ -21,7 +21,7 @@ from ._utils._processes import get_release_info
|
|
|
21
21
|
logger = logging.getLogger(__name__)
|
|
22
22
|
load_dotenv()
|
|
23
23
|
console = ConsoleLogger()
|
|
24
|
-
client = httpx.Client(follow_redirects=True)
|
|
24
|
+
client = httpx.Client(follow_redirects=True, timeout=30.0)
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def _read_project_name() -> str:
|
|
@@ -12,7 +12,7 @@ from ._utils._folders import get_personal_workspace_info
|
|
|
12
12
|
from ._utils._processes import get_release_info
|
|
13
13
|
|
|
14
14
|
console = ConsoleLogger()
|
|
15
|
-
client = httpx.Client(follow_redirects=True)
|
|
15
|
+
client = httpx.Client(follow_redirects=True, timeout=30.0)
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def get_most_recent_package():
|
|
@@ -40,17 +40,25 @@ class BaseService:
|
|
|
40
40
|
self._config = config
|
|
41
41
|
self._execution_context = execution_context
|
|
42
42
|
self._tenant_scope_client = Client(
|
|
43
|
-
base_url=self._config.base_url,
|
|
43
|
+
base_url=self._config.base_url,
|
|
44
|
+
headers=Headers(self.default_headers),
|
|
45
|
+
timeout=30.0,
|
|
44
46
|
)
|
|
45
47
|
self._tenant_scope_client_async = AsyncClient(
|
|
46
|
-
base_url=self._config.base_url,
|
|
48
|
+
base_url=self._config.base_url,
|
|
49
|
+
headers=Headers(self.default_headers),
|
|
50
|
+
timeout=30.0,
|
|
47
51
|
)
|
|
48
52
|
org_scope_base_url = self.__get_org_scope_base_url()
|
|
49
53
|
self._org_scope_client = Client(
|
|
50
|
-
base_url=org_scope_base_url,
|
|
54
|
+
base_url=org_scope_base_url,
|
|
55
|
+
headers=Headers(self.default_headers),
|
|
56
|
+
timeout=30.0,
|
|
51
57
|
)
|
|
52
58
|
self._org_scope_client_async = AsyncClient(
|
|
53
|
-
base_url=org_scope_base_url,
|
|
59
|
+
base_url=org_scope_base_url,
|
|
60
|
+
headers=Headers(self.default_headers),
|
|
61
|
+
timeout=30.0,
|
|
54
62
|
)
|
|
55
63
|
|
|
56
64
|
self._overwrites_manager = OverwritesManager()
|
|
@@ -6,6 +6,7 @@ from .._config import Config
|
|
|
6
6
|
from .._execution_context import ExecutionContext
|
|
7
7
|
from .._folder_context import FolderContext
|
|
8
8
|
from .._utils import Endpoint, RequestSpec, header_folder, infer_bindings
|
|
9
|
+
from ..models import Bucket
|
|
9
10
|
from ..tracing._traced import traced
|
|
10
11
|
from ._base_service import BaseService
|
|
11
12
|
|
|
@@ -355,7 +356,7 @@ class BucketsService(FolderContext, BaseService):
|
|
|
355
356
|
key: Optional[str] = None,
|
|
356
357
|
folder_key: Optional[str] = None,
|
|
357
358
|
folder_path: Optional[str] = None,
|
|
358
|
-
) ->
|
|
359
|
+
) -> Bucket:
|
|
359
360
|
"""Retrieve bucket information by its name.
|
|
360
361
|
|
|
361
362
|
Args:
|
|
@@ -391,9 +392,13 @@ class BucketsService(FolderContext, BaseService):
|
|
|
391
392
|
headers=spec.headers,
|
|
392
393
|
)
|
|
393
394
|
except Exception as e:
|
|
394
|
-
raise Exception(f"Bucket with name {name} not found") from e
|
|
395
|
-
|
|
396
|
-
|
|
395
|
+
raise Exception(f"Bucket with name '{name}' not found") from e
|
|
396
|
+
try:
|
|
397
|
+
return Bucket.model_validate(response.json()["value"][0])
|
|
398
|
+
except KeyError as e:
|
|
399
|
+
raise Exception(
|
|
400
|
+
f"Error while deserializing bucket with name '{name}'"
|
|
401
|
+
) from e
|
|
397
402
|
|
|
398
403
|
@infer_bindings()
|
|
399
404
|
@traced(name="buckets_retrieve", run_type="uipath")
|
|
@@ -404,7 +409,7 @@ class BucketsService(FolderContext, BaseService):
|
|
|
404
409
|
key: Optional[str] = None,
|
|
405
410
|
folder_key: Optional[str] = None,
|
|
406
411
|
folder_path: Optional[str] = None,
|
|
407
|
-
) ->
|
|
412
|
+
) -> Bucket:
|
|
408
413
|
"""Asynchronously retrieve bucket information by its name.
|
|
409
414
|
|
|
410
415
|
Args:
|
|
@@ -443,7 +448,12 @@ class BucketsService(FolderContext, BaseService):
|
|
|
443
448
|
except Exception as e:
|
|
444
449
|
raise Exception(f"Bucket with name {name} not found") from e
|
|
445
450
|
|
|
446
|
-
|
|
451
|
+
try:
|
|
452
|
+
return Bucket.model_validate(response.json()["value"][0])
|
|
453
|
+
except KeyError as e:
|
|
454
|
+
raise Exception(
|
|
455
|
+
f"Error while deserializing bucket with name '{name}'"
|
|
456
|
+
) from e
|
|
447
457
|
|
|
448
458
|
@property
|
|
449
459
|
def custom_headers(self) -> Dict[str, str]:
|
|
@@ -324,7 +324,7 @@ class ContextGroundingService(FolderContext, BaseService):
|
|
|
324
324
|
List[ContextGroundingQueryResponse]: A list of search results, each containing
|
|
325
325
|
relevant contextual information and metadata.
|
|
326
326
|
"""
|
|
327
|
-
index = self.retrieve(name)
|
|
327
|
+
index = self.retrieve(name, folder_key=folder_key, folder_path=folder_path)
|
|
328
328
|
if index and index.in_progress_ingestion():
|
|
329
329
|
raise IngestionInProgressException(index_name=name)
|
|
330
330
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .action_schema import ActionSchema
|
|
2
2
|
from .actions import Action
|
|
3
3
|
from .assets import UserAsset
|
|
4
|
+
from .buckets import Bucket
|
|
4
5
|
from .connections import Connection, ConnectionToken
|
|
5
6
|
from .context_grounding import ContextGroundingQueryResponse
|
|
6
7
|
from .context_grounding_index import ContextGroundingIndex
|
|
@@ -44,4 +45,5 @@ __all__ = [
|
|
|
44
45
|
"IngestionInProgressException",
|
|
45
46
|
"BaseUrlMissingError",
|
|
46
47
|
"SecretMissingError",
|
|
48
|
+
"Bucket",
|
|
47
49
|
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from typing import List, Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Bucket(BaseModel):
|
|
7
|
+
model_config = ConfigDict(
|
|
8
|
+
validate_by_name=True,
|
|
9
|
+
validate_by_alias=True,
|
|
10
|
+
use_enum_values=True,
|
|
11
|
+
arbitrary_types_allowed=True,
|
|
12
|
+
extra="allow",
|
|
13
|
+
)
|
|
14
|
+
Name: str = Field(alias="name")
|
|
15
|
+
Description: Optional[str] = Field(default=None, alias="description")
|
|
16
|
+
Identifier: str = Field(alias="identifier")
|
|
17
|
+
StorageProvider: Optional[str] = Field(default=None, alias="storageProvider")
|
|
18
|
+
StorageParameters: Optional[str] = Field(default=None, alias="storageParameters")
|
|
19
|
+
StorageContainer: Optional[str] = Field(default=None, alias="storageContainer")
|
|
20
|
+
Options: Optional[str] = Field(default=None, alias="options")
|
|
21
|
+
CredentialStoreId: Optional[str] = Field(default=None, alias="credentialStoreId")
|
|
22
|
+
ExternalName: Optional[str] = Field(default=None, alias="externalName")
|
|
23
|
+
Password: Optional[str] = Field(default=None, alias="password")
|
|
24
|
+
FoldersCount: Optional[int] = Field(default=None, alias="foldersCount")
|
|
25
|
+
Encrypted: Optional[bool] = Field(default=None, alias="encrypted")
|
|
26
|
+
Id: Optional[int] = Field(default=None, alias="id")
|
|
27
|
+
Tags: Optional[List[str]] = Field(default=None, alias="tags")
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ContextGroundingMetadata(BaseModel):
|
|
8
|
+
model_config = ConfigDict(
|
|
9
|
+
validate_by_name=True,
|
|
10
|
+
validate_by_alias=True,
|
|
11
|
+
use_enum_values=True,
|
|
12
|
+
arbitrary_types_allowed=True,
|
|
13
|
+
extra="allow",
|
|
14
|
+
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
|
15
|
+
)
|
|
16
|
+
operation_id: str = Field(alias="operation_id")
|
|
17
|
+
strategy: str = Field(alias="strategy")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ContextGroundingQueryResponse(BaseModel):
|
|
21
|
+
model_config = ConfigDict(
|
|
22
|
+
validate_by_name=True,
|
|
23
|
+
validate_by_alias=True,
|
|
24
|
+
use_enum_values=True,
|
|
25
|
+
arbitrary_types_allowed=True,
|
|
26
|
+
extra="allow",
|
|
27
|
+
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
|
28
|
+
)
|
|
29
|
+
source: str = Field(alias="source")
|
|
30
|
+
page_number: str = Field(alias="page_number")
|
|
31
|
+
content: str = Field(alias="content")
|
|
32
|
+
metadata: ContextGroundingMetadata = Field(alias="metadata")
|
|
33
|
+
source_document_id: Optional[str] = Field(default=None, alias="source_document_id")
|
|
34
|
+
caption: Optional[str] = Field(default=None, alias="caption")
|
|
35
|
+
score: Optional[float] = Field(default=None, alias="score")
|
|
36
|
+
reference: Optional[str] = Field(default=None, alias="reference")
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: Commit Lint
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_call:
|
|
5
|
-
|
|
6
|
-
jobs:
|
|
7
|
-
commit-lint:
|
|
8
|
-
runs-on: ubuntu-latest
|
|
9
|
-
steps:
|
|
10
|
-
- name: Checkout
|
|
11
|
-
uses: actions/checkout@v2
|
|
12
|
-
with:
|
|
13
|
-
fetch-depth: 0
|
|
14
|
-
|
|
15
|
-
- name: Lint commits
|
|
16
|
-
uses: wagoid/commitlint-github-action@v3
|
|
17
|
-
|
|
18
|
-
- name: Block fixup commits
|
|
19
|
-
if: ${{ github.event_name != 'merge_group' }}
|
|
20
|
-
uses: 13rac1/block-fixup-merge-action@v2.0.0
|
|
21
|
-
|
|
22
|
-
- name: Block Merge Commits
|
|
23
|
-
if: ${{ github.event_name != 'merge_group' }}
|
|
24
|
-
uses: Morishiri/block-merge-commits-action@v1.0.1
|
|
25
|
-
with:
|
|
26
|
-
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
from pydantic import BaseModel
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class ContextGroundingMetadata(BaseModel):
|
|
5
|
-
operation_id: str
|
|
6
|
-
strategy: str
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class ContextGroundingQueryResponse(BaseModel):
|
|
10
|
-
id: str
|
|
11
|
-
reference: str
|
|
12
|
-
source: str
|
|
13
|
-
page_number: str
|
|
14
|
-
source_document_id: str
|
|
15
|
-
caption: str
|
|
16
|
-
score: float
|
|
17
|
-
content: str
|
|
18
|
-
metadata: ContextGroundingMetadata
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|