uipath 2.1.80__py3-none-any.whl → 2.1.82__py3-none-any.whl
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/_cli/_auth/_auth_server.py +15 -12
- uipath/_cli/_auth/_auth_service.py +96 -110
- uipath/_cli/_auth/_models.py +0 -11
- uipath/_cli/_auth/_oidc_utils.py +28 -3
- uipath/_cli/_auth/_portal_service.py +125 -157
- uipath/_cli/_auth/_url_utils.py +61 -27
- uipath/_cli/_auth/_utils.py +6 -29
- uipath/_cli/_utils/_common.py +3 -3
- uipath/_cli/cli_auth.py +2 -2
- uipath/_services/__init__.py +2 -0
- uipath/{_cli/_auth/_client_credentials.py → _services/external_application_service.py} +49 -54
- uipath/_uipath.py +9 -15
- uipath/_utils/_auth.py +82 -0
- uipath/models/auth.py +14 -0
- {uipath-2.1.80.dist-info → uipath-2.1.82.dist-info}/METADATA +1 -1
- {uipath-2.1.80.dist-info → uipath-2.1.82.dist-info}/RECORD +19 -17
- {uipath-2.1.80.dist-info → uipath-2.1.82.dist-info}/WHEEL +0 -0
- {uipath-2.1.80.dist-info → uipath-2.1.82.dist-info}/entry_points.txt +0 -0
- {uipath-2.1.80.dist-info → uipath-2.1.82.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
from
|
|
1
|
+
from os import environ as env
|
|
2
|
+
from typing import Optional
|
|
2
3
|
from urllib.parse import urlparse
|
|
3
4
|
|
|
4
5
|
import httpx
|
|
6
|
+
from httpx import HTTPStatusError, Request
|
|
5
7
|
|
|
6
|
-
from
|
|
7
|
-
from .._utils.
|
|
8
|
-
from .
|
|
9
|
-
from .
|
|
8
|
+
from .._utils._ssl_context import get_httpx_client_kwargs
|
|
9
|
+
from .._utils.constants import ENV_BASE_URL
|
|
10
|
+
from ..models.auth import TokenData
|
|
11
|
+
from ..models.exceptions import EnrichedException
|
|
10
12
|
|
|
11
|
-
console = ConsoleLogger()
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
class ClientCredentialsService:
|
|
14
|
+
class ExternalApplicationService:
|
|
15
15
|
"""Service for client credentials authentication flow."""
|
|
16
16
|
|
|
17
|
-
def __init__(self, base_url: str):
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
def __init__(self, base_url: Optional[str]):
|
|
18
|
+
if not (resolved_base_url := (base_url or env.get(ENV_BASE_URL))):
|
|
19
|
+
raise ValueError(
|
|
20
|
+
"Base URL must be set either via constructor or the BASE_URL environment variable."
|
|
21
|
+
)
|
|
22
|
+
self._base_url = resolved_base_url
|
|
23
|
+
self._domain = self._extract_environment_from_base_url(self._base_url)
|
|
20
24
|
|
|
21
25
|
def get_token_url(self) -> str:
|
|
22
26
|
"""Get the token URL for the specified domain."""
|
|
@@ -40,7 +44,7 @@ class ClientCredentialsService:
|
|
|
40
44
|
"""
|
|
41
45
|
return hostname == domain or hostname.endswith(f".{domain}")
|
|
42
46
|
|
|
43
|
-
def
|
|
47
|
+
def _extract_environment_from_base_url(self, base_url: str) -> str:
|
|
44
48
|
"""Extract domain from base URL.
|
|
45
49
|
|
|
46
50
|
Args:
|
|
@@ -70,9 +74,9 @@ class ClientCredentialsService:
|
|
|
70
74
|
# Default to cloud if parsing fails
|
|
71
75
|
return "cloud"
|
|
72
76
|
|
|
73
|
-
def
|
|
77
|
+
def get_token_data(
|
|
74
78
|
self, client_id: str, client_secret: str, scope: Optional[str] = "OR.Execution"
|
|
75
|
-
) ->
|
|
79
|
+
) -> TokenData:
|
|
76
80
|
"""Authenticate using client credentials flow.
|
|
77
81
|
|
|
78
82
|
Args:
|
|
@@ -81,7 +85,7 @@ class ClientCredentialsService:
|
|
|
81
85
|
scope: The scope for the token (default: OR.Execution)
|
|
82
86
|
|
|
83
87
|
Returns:
|
|
84
|
-
Token data if successful
|
|
88
|
+
Token data if successful
|
|
85
89
|
"""
|
|
86
90
|
token_url = self.get_token_url()
|
|
87
91
|
|
|
@@ -97,49 +101,40 @@ class ClientCredentialsService:
|
|
|
97
101
|
response = client.post(token_url, data=data)
|
|
98
102
|
match response.status_code:
|
|
99
103
|
case 200:
|
|
100
|
-
|
|
101
|
-
token_data = cast(
|
|
102
|
-
TokenData,
|
|
103
|
-
{
|
|
104
|
-
"access_token": token_data["access_token"],
|
|
105
|
-
"token_type": token_data.get("token_type", "Bearer"),
|
|
106
|
-
"expires_in": token_data.get("expires_in", 3600),
|
|
107
|
-
"scope": token_data.get("scope", scope),
|
|
108
|
-
"refresh_token": "",
|
|
109
|
-
"id_token": "",
|
|
110
|
-
},
|
|
111
|
-
)
|
|
112
|
-
self._setup_environment(token_data)
|
|
104
|
+
return TokenData.model_validate(response.json())
|
|
113
105
|
case 400:
|
|
114
|
-
|
|
115
|
-
|
|
106
|
+
raise EnrichedException(
|
|
107
|
+
HTTPStatusError(
|
|
108
|
+
message="Invalid client credentials or request parameters.",
|
|
109
|
+
request=Request(
|
|
110
|
+
data=data, url=token_url, method="post"
|
|
111
|
+
),
|
|
112
|
+
response=response,
|
|
113
|
+
)
|
|
116
114
|
)
|
|
117
115
|
case 401:
|
|
118
|
-
|
|
116
|
+
raise EnrichedException(
|
|
117
|
+
HTTPStatusError(
|
|
118
|
+
message="Unauthorized: Invalid client credentials.",
|
|
119
|
+
request=Request(
|
|
120
|
+
data=data, url=token_url, method="post"
|
|
121
|
+
),
|
|
122
|
+
response=response,
|
|
123
|
+
)
|
|
124
|
+
)
|
|
119
125
|
case _:
|
|
120
|
-
|
|
121
|
-
|
|
126
|
+
raise EnrichedException(
|
|
127
|
+
HTTPStatusError(
|
|
128
|
+
message=f"Authentication failed with unexpected status: {response.status_code}",
|
|
129
|
+
request=Request(
|
|
130
|
+
data=data, url=token_url, method="post"
|
|
131
|
+
),
|
|
132
|
+
response=response,
|
|
133
|
+
)
|
|
122
134
|
)
|
|
123
|
-
|
|
135
|
+
except EnrichedException:
|
|
136
|
+
raise
|
|
124
137
|
except httpx.RequestError as e:
|
|
125
|
-
|
|
138
|
+
raise Exception(f"Network error during authentication: {e}") from e
|
|
126
139
|
except Exception as e:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
def _setup_environment(self, token_data: TokenData):
|
|
130
|
-
"""Setup environment variables for client credentials authentication.
|
|
131
|
-
|
|
132
|
-
Args:
|
|
133
|
-
token_data: The token data from authentication
|
|
134
|
-
base_url: The base URL for the UiPath instance
|
|
135
|
-
"""
|
|
136
|
-
parsed_access_token = parse_access_token(token_data["access_token"])
|
|
137
|
-
|
|
138
|
-
env_vars = {
|
|
139
|
-
"UIPATH_ACCESS_TOKEN": token_data["access_token"],
|
|
140
|
-
"UIPATH_URL": self._base_url,
|
|
141
|
-
"UIPATH_ORGANIZATION_ID": parsed_access_token.get("prt_id", ""),
|
|
142
|
-
"UIPATH_TENANT_ID": "",
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
update_env_file(env_vars)
|
|
140
|
+
raise Exception(f"Unexpected error during authentication: {e}") from e
|
uipath/_uipath.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from os import environ as env
|
|
2
1
|
from typing import Optional
|
|
3
2
|
|
|
4
3
|
from pydantic import ValidationError
|
|
@@ -23,11 +22,7 @@ from ._services import (
|
|
|
23
22
|
UiPathOpenAIService,
|
|
24
23
|
)
|
|
25
24
|
from ._utils import setup_logging
|
|
26
|
-
from ._utils.
|
|
27
|
-
ENV_BASE_URL,
|
|
28
|
-
ENV_UIPATH_ACCESS_TOKEN,
|
|
29
|
-
ENV_UNATTENDED_USER_ACCESS_TOKEN,
|
|
30
|
-
)
|
|
25
|
+
from ._utils._auth import resolve_config
|
|
31
26
|
from .models.errors import BaseUrlMissingError, SecretMissingError
|
|
32
27
|
|
|
33
28
|
|
|
@@ -37,19 +32,18 @@ class UiPath:
|
|
|
37
32
|
*,
|
|
38
33
|
base_url: Optional[str] = None,
|
|
39
34
|
secret: Optional[str] = None,
|
|
35
|
+
client_id: Optional[str] = None,
|
|
36
|
+
client_secret: Optional[str] = None,
|
|
37
|
+
scope: Optional[str] = None,
|
|
40
38
|
debug: bool = False,
|
|
41
39
|
) -> None:
|
|
42
|
-
base_url_value = base_url or env.get(ENV_BASE_URL)
|
|
43
|
-
secret_value = (
|
|
44
|
-
secret
|
|
45
|
-
or env.get(ENV_UNATTENDED_USER_ACCESS_TOKEN)
|
|
46
|
-
or env.get(ENV_UIPATH_ACCESS_TOKEN)
|
|
47
|
-
)
|
|
48
|
-
|
|
49
40
|
try:
|
|
41
|
+
base_url, secret = resolve_config(
|
|
42
|
+
base_url, secret, client_id, client_secret, scope
|
|
43
|
+
)
|
|
50
44
|
self._config = Config(
|
|
51
|
-
base_url=
|
|
52
|
-
secret=
|
|
45
|
+
base_url=base_url,
|
|
46
|
+
secret=secret,
|
|
53
47
|
)
|
|
54
48
|
except ValidationError as e:
|
|
55
49
|
for error in e.errors():
|
uipath/_utils/_auth.py
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
import json
|
|
3
|
+
from os import environ as env
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .._services import ExternalApplicationService
|
|
8
|
+
from .constants import (
|
|
9
|
+
ENV_BASE_URL,
|
|
10
|
+
ENV_UIPATH_ACCESS_TOKEN,
|
|
11
|
+
ENV_UNATTENDED_USER_ACCESS_TOKEN,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def parse_access_token(access_token: str):
|
|
16
|
+
token_parts = access_token.split(".")
|
|
17
|
+
if len(token_parts) < 2:
|
|
18
|
+
raise Exception("Invalid access token")
|
|
19
|
+
payload = base64.urlsafe_b64decode(
|
|
20
|
+
token_parts[1] + "=" * (-len(token_parts[1]) % 4)
|
|
21
|
+
)
|
|
22
|
+
return json.loads(payload)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def update_env_file(env_contents):
|
|
26
|
+
env_path = Path.cwd() / ".env"
|
|
27
|
+
if env_path.exists():
|
|
28
|
+
with open(env_path, "r") as f:
|
|
29
|
+
for line in f:
|
|
30
|
+
if "=" in line:
|
|
31
|
+
key, value = line.strip().split("=", 1)
|
|
32
|
+
if key not in env_contents:
|
|
33
|
+
env_contents[key] = value
|
|
34
|
+
lines = [f"{key}={value}\n" for key, value in env_contents.items()]
|
|
35
|
+
with open(env_path, "w") as f:
|
|
36
|
+
f.writelines(lines)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def _has_valid_client_credentials(
|
|
40
|
+
client_id: Optional[str], client_secret: Optional[str]
|
|
41
|
+
) -> bool:
|
|
42
|
+
if bool(client_id) != bool(client_secret):
|
|
43
|
+
raise ValueError(
|
|
44
|
+
"Both client_id and client_secret must be provided together for Client Credentials Authentication."
|
|
45
|
+
)
|
|
46
|
+
return bool(client_id and client_secret)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def resolve_config(
|
|
50
|
+
base_url: Optional[str],
|
|
51
|
+
secret: Optional[str],
|
|
52
|
+
client_id: Optional[str],
|
|
53
|
+
client_secret: Optional[str],
|
|
54
|
+
scope: Optional[str],
|
|
55
|
+
):
|
|
56
|
+
if _has_valid_client_credentials(client_id, client_secret):
|
|
57
|
+
external_app_service = ExternalApplicationService(base_url)
|
|
58
|
+
token_data = external_app_service.get_token_data(
|
|
59
|
+
client_id, # type: ignore
|
|
60
|
+
client_secret, # type: ignore
|
|
61
|
+
scope,
|
|
62
|
+
)
|
|
63
|
+
parsed_access_token = parse_access_token(token_data.access_token)
|
|
64
|
+
|
|
65
|
+
env_vars = {
|
|
66
|
+
"UIPATH_ACCESS_TOKEN": token_data.access_token,
|
|
67
|
+
"UIPATH_URL": external_app_service._base_url,
|
|
68
|
+
"UIPATH_ORGANIZATION_ID": parsed_access_token.get("prt_id", ""),
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
update_env_file(env_vars)
|
|
72
|
+
return external_app_service._base_url, token_data.access_token
|
|
73
|
+
|
|
74
|
+
base_url_value = base_url or env.get(ENV_BASE_URL)
|
|
75
|
+
|
|
76
|
+
secret_value = (
|
|
77
|
+
secret
|
|
78
|
+
or env.get(ENV_UNATTENDED_USER_ACCESS_TOKEN)
|
|
79
|
+
or env.get(ENV_UIPATH_ACCESS_TOKEN)
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
return base_url_value, secret_value
|
uipath/models/auth.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TokenData(BaseModel):
|
|
7
|
+
"""Pydantic model for token data structure."""
|
|
8
|
+
|
|
9
|
+
access_token: str
|
|
10
|
+
refresh_token: Optional[str] = None
|
|
11
|
+
expires_in: Optional[int] = None
|
|
12
|
+
token_type: Optional[str] = None
|
|
13
|
+
scope: Optional[str] = None
|
|
14
|
+
id_token: Optional[str] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.82
|
|
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
|
|
@@ -2,11 +2,11 @@ uipath/__init__.py,sha256=IaeKItOOQXMa95avueJ3dAq-XcRHyZVNjcCGwlSB000,634
|
|
|
2
2
|
uipath/_config.py,sha256=pi3qxPzDTxMEstj_XkGOgKJqD6RTHHv7vYv8sS_-d5Q,92
|
|
3
3
|
uipath/_execution_context.py,sha256=Qo8VMUFgtiL-40KsZrvul5bGv1CRERle_fCw1ORCggY,2374
|
|
4
4
|
uipath/_folder_context.py,sha256=D-bgxdwpwJP4b_QdVKcPODYh15kMDrOar2xNonmMSm4,1861
|
|
5
|
-
uipath/_uipath.py,sha256=
|
|
5
|
+
uipath/_uipath.py,sha256=mhtdu36-A-2WhPGNFFrTmQWbE07Bn4IV_Vrqgf6kuVM,4900
|
|
6
6
|
uipath/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
uipath/_cli/README.md,sha256=GLtCfbeIKZKNnGTCsfSVqRQ27V1btT1i2bSAyW_xZl4,474
|
|
8
8
|
uipath/_cli/__init__.py,sha256=2RUgXYd8uJaYjA67xWb0w4IZuBmZoY8G1ccNmEQk9oM,2343
|
|
9
|
-
uipath/_cli/cli_auth.py,sha256=
|
|
9
|
+
uipath/_cli/cli_auth.py,sha256=CzetSRqSUvMs02PtI4w5Vi_0fv_ETA307bB2vXalWzY,2628
|
|
10
10
|
uipath/_cli/cli_deploy.py,sha256=KPCmQ0c_NYD5JofSDao5r6QYxHshVCRxlWDVnQvlp5w,645
|
|
11
11
|
uipath/_cli/cli_dev.py,sha256=nEfpjw1PZ72O6jmufYWVrueVwihFxDPOeJakdvNHdOA,2146
|
|
12
12
|
uipath/_cli/cli_eval.py,sha256=oOMywGSUrHDQ1W_54ccbekzCeduPf-KHRyu_r0Dezd0,5444
|
|
@@ -20,14 +20,13 @@ uipath/_cli/cli_push.py,sha256=-j-gDIbT8GyU2SybLQqFl5L8KI9nu3CDijVtltDgX20,3132
|
|
|
20
20
|
uipath/_cli/cli_run.py,sha256=1FKv20EjxrrP1I5rNSnL_HzbWtOAIMjB3M--4RPA_Yo,3709
|
|
21
21
|
uipath/_cli/middlewares.py,sha256=0D9a-wphyetnH9T97F08o7-1OKWF1lMweFHHAR0xiOw,4979
|
|
22
22
|
uipath/_cli/spinner.py,sha256=bS-U_HA5yne11ejUERu7CQoXmWdabUD2bm62EfEdV8M,1107
|
|
23
|
-
uipath/_cli/_auth/_auth_server.py,sha256=
|
|
24
|
-
uipath/_cli/_auth/_auth_service.py,sha256=
|
|
25
|
-
uipath/_cli/_auth/
|
|
26
|
-
uipath/_cli/_auth/
|
|
27
|
-
uipath/_cli/_auth/
|
|
28
|
-
uipath/_cli/_auth/
|
|
29
|
-
uipath/_cli/_auth/
|
|
30
|
-
uipath/_cli/_auth/_utils.py,sha256=9nb76xe5XmDZ0TAncp-_1SKqL6FdwRi9eS3C2noN1lY,1591
|
|
23
|
+
uipath/_cli/_auth/_auth_server.py,sha256=v_b8KNwn0tAv8jxpeKdllOVzl31q9AcdwpE_koAK_w4,7235
|
|
24
|
+
uipath/_cli/_auth/_auth_service.py,sha256=gyOtaHnDmjYccW0R1HVmFgV69a7w53Dx1Mq-PM0uVag,5405
|
|
25
|
+
uipath/_cli/_auth/_models.py,sha256=kWhqd5FqBo_oi3DW2x1IaJHsEloXq0I24f-pX5zb_O4,753
|
|
26
|
+
uipath/_cli/_auth/_oidc_utils.py,sha256=qGpognkz-Ks-8pt-QabSNTix5HE06lQpY3WZxptoJUE,3394
|
|
27
|
+
uipath/_cli/_auth/_portal_service.py,sha256=sq3Ls7v8Q1gQWbYlE37_p82gLYPhC_cXJRTuIxMsCPU,7997
|
|
28
|
+
uipath/_cli/_auth/_url_utils.py,sha256=MuMYesMQDgetLBzkwd19dPxw3fctys7EVpByDUQMyLE,2844
|
|
29
|
+
uipath/_cli/_auth/_utils.py,sha256=To4Ara_UF4g7nzUfKqFA11lTjhQWIZWNm4xwa5nNKmU,896
|
|
31
30
|
uipath/_cli/_auth/auth_config.json,sha256=o8J5BBFwiEtjZLHpJ_64lvnTeYeRIHaJ-Bhg0QvcUX8,521
|
|
32
31
|
uipath/_cli/_auth/index.html,sha256=uGK0CDTP8Rys_p4O_Pbd2x4tz0frKNVcumjrXnal5Nc,22814
|
|
33
32
|
uipath/_cli/_auth/localhost.crt,sha256=oGl9oLLOiouHubAt39B4zEfylFvKEtbtr_43SIliXJc,1226
|
|
@@ -73,7 +72,7 @@ uipath/_cli/_templates/.rels.template,sha256=-fTcw7OA1AcymHr0LzBqbMAAtzZTRXLTNa_
|
|
|
73
72
|
uipath/_cli/_templates/[Content_Types].xml.template,sha256=bYsKDz31PkIF9QksjgAY_bqm57YC8U_owsZeNZAiBxQ,584
|
|
74
73
|
uipath/_cli/_templates/main.py.template,sha256=QB62qX5HKDbW4lFskxj7h9uuxBITnTWqu_DE6asCwcU,476
|
|
75
74
|
uipath/_cli/_templates/package.nuspec.template,sha256=YZyLc-u_EsmIoKf42JsLQ55OGeFmb8VkIU2VF7DFbtw,359
|
|
76
|
-
uipath/_cli/_utils/_common.py,sha256=
|
|
75
|
+
uipath/_cli/_utils/_common.py,sha256=bYgqIdlxxlB_4s8BlZsfGbSdbfm93MFtOj5ydptbkPI,3344
|
|
77
76
|
uipath/_cli/_utils/_console.py,sha256=scvnrrFoFX6CE451K-PXKV7UN0DUkInbOtDZ5jAdPP0,10070
|
|
78
77
|
uipath/_cli/_utils/_constants.py,sha256=rS8lQ5Nzull8ytajK6lBsz398qiCp1REoAwlHtyBwF0,1415
|
|
79
78
|
uipath/_cli/_utils/_debug.py,sha256=zamzIR4VgbdKADAE4gbmjxDsbgF7wvdr7C5Dqp744Oc,1739
|
|
@@ -90,7 +89,7 @@ uipath/_events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
90
89
|
uipath/_events/_event_bus.py,sha256=4-VzstyX69cr7wT1EY7ywp-Ndyz2CyemD3Wk_-QmRpo,5496
|
|
91
90
|
uipath/_events/_events.py,sha256=EzDfzpVm-EIH27Onad5mo8Go6-WB3S6_-6zZQ7qV58w,1811
|
|
92
91
|
uipath/_resources/AGENTS.md,sha256=YWhWuX9XIbyVhVT3PnPc4Of3_q6bsNJcuzYu3N8f_Ug,25850
|
|
93
|
-
uipath/_services/__init__.py,sha256=
|
|
92
|
+
uipath/_services/__init__.py,sha256=_LNy4u--VlhVtTO66bULbCoBjyJBTuyh9jnzjWrv-h4,1140
|
|
94
93
|
uipath/_services/_base_service.py,sha256=x9-9jhPzn9Z16KRdFHhJNvV-FZHvTniMsDfxlS4Cutk,5782
|
|
95
94
|
uipath/_services/actions_service.py,sha256=2RPMR-hFMsOlqEyjIf3aF7-lrf57jdrSD0pBjj0Kyko,16040
|
|
96
95
|
uipath/_services/api_client.py,sha256=kGm04ijk9AOEQd2BMxvQg-2QoB8dmyoDwFFDPyutAGw,1966
|
|
@@ -101,12 +100,14 @@ uipath/_services/connections_service.py,sha256=IqhKdRYwNZlRsDL2vY7gyl5nAiYaK1zvj
|
|
|
101
100
|
uipath/_services/context_grounding_service.py,sha256=Pjx-QQQEiSKD-hY6ityj3QUSALN3fIcKLLHr_NZ0d_g,37117
|
|
102
101
|
uipath/_services/documents_service.py,sha256=UnFS8EpOZ_Ng2TZk3OiJJ3iNANvFs7QxuoG_v-lQj6c,24815
|
|
103
102
|
uipath/_services/entities_service.py,sha256=QKCLE6wRgq3HZraF-M2mljy-8il4vsNHrQhUgkewVVk,14028
|
|
103
|
+
uipath/_services/external_application_service.py,sha256=gZhnGgLn7ZYUZzZF7AumB14QEPanVY-D_02FqEcAFtw,5478
|
|
104
104
|
uipath/_services/folder_service.py,sha256=9JqgjKhWD-G_KUnfUTP2BADxL6OK9QNZsBsWZHAULdE,2749
|
|
105
105
|
uipath/_services/jobs_service.py,sha256=tTZNsdZKN3uP7bWPQyBCpJeQxTfuOWbKYOR4L-_yJo4,32736
|
|
106
106
|
uipath/_services/llm_gateway_service.py,sha256=oFBKSYbZqujGHDuM3A72S3J7mHn9kWjNTgcE3U0c24Y,24411
|
|
107
107
|
uipath/_services/processes_service.py,sha256=O_uHgQ1rnwiV5quG0OQqabAnE6Rf6cWrMENYY2jKWt8,8585
|
|
108
108
|
uipath/_services/queues_service.py,sha256=VaG3dWL2QK6AJBOLoW2NQTpkPfZjsqsYPl9-kfXPFzA,13534
|
|
109
109
|
uipath/_utils/__init__.py,sha256=VdcpnENJIa0R6Y26NoxY64-wUVyvb4pKfTh1wXDQeMk,526
|
|
110
|
+
uipath/_utils/_auth.py,sha256=5R30ALuRrIatf_0Lk-AETJvt6ora7h0R7yeDdliW1Lg,2524
|
|
110
111
|
uipath/_utils/_endpoint.py,sha256=yYHwqbQuJIevpaTkdfYJS9CrtlFeEyfb5JQK5osTCog,2489
|
|
111
112
|
uipath/_utils/_infer_bindings.py,sha256=eCxfUjd37fOFZ6vOfKl2BhWVUt7iSSJ-VQ0-nDTBcaA,1836
|
|
112
113
|
uipath/_utils/_logs.py,sha256=adfX_0UAn3YBeKJ8DQDeZs94rJyHGQO00uDfkaTpNWQ,510
|
|
@@ -147,6 +148,7 @@ uipath/models/action_schema.py,sha256=tBn1qQ3NQLU5nwWlBIzIKIx3XK5pO_D1S51IjFlZ1F
|
|
|
147
148
|
uipath/models/actions.py,sha256=1vRsJ3JSmMdPkbiYAiHzY8K44vmW3VlMsmQUBAkSgrQ,3141
|
|
148
149
|
uipath/models/assets.py,sha256=7x3swJRnG_a4VgjdXKKwraJLT5TF0u4wHsl6coOjX0g,2762
|
|
149
150
|
uipath/models/attachment.py,sha256=lI6BxBY6DY5U6qZbxhkNu-usseA1zovYSTRtLq50ubI,1029
|
|
151
|
+
uipath/models/auth.py,sha256=-CEo5KZVtZZgbAMatN6B1vBmGp8lTTumR8sMthRmL8I,345
|
|
150
152
|
uipath/models/buckets.py,sha256=N3Lj_dVCv709-ywhOOdyCSvsuLn41eGuAfSiik6Q6F8,1285
|
|
151
153
|
uipath/models/connections.py,sha256=bTDg8xISSPmKB1GFNEEMD1OEZyBDFHfZVKqw4gab1pE,2524
|
|
152
154
|
uipath/models/context_grounding.py,sha256=3MaF2Fv2QYle8UUWvKGkCN5XGpx2T4a34fdbBqJ2fCs,1137
|
|
@@ -169,8 +171,8 @@ uipath/tracing/_traced.py,sha256=yBIY05PCCrYyx50EIHZnwJaKNdHPNx-YTR1sHQl0a98,199
|
|
|
169
171
|
uipath/tracing/_utils.py,sha256=qd7N56tg6VXQ9pREh61esBgUWLNA0ssKsE0QlwrRWFM,11974
|
|
170
172
|
uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
|
|
171
173
|
uipath/utils/_endpoints_manager.py,sha256=iRTl5Q0XAm_YgcnMcJOXtj-8052sr6jpWuPNz6CgT0Q,8408
|
|
172
|
-
uipath-2.1.
|
|
173
|
-
uipath-2.1.
|
|
174
|
-
uipath-2.1.
|
|
175
|
-
uipath-2.1.
|
|
176
|
-
uipath-2.1.
|
|
174
|
+
uipath-2.1.82.dist-info/METADATA,sha256=4J6rxjh8jzOkT_XofHHFqQ1k9uPLVk7nyQTkbxwD6K8,6593
|
|
175
|
+
uipath-2.1.82.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
176
|
+
uipath-2.1.82.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
|
|
177
|
+
uipath-2.1.82.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
|
|
178
|
+
uipath-2.1.82.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|