uipath 2.1.46__py3-none-any.whl → 2.1.48__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.
- uipath/_cli/_utils/_studio_project.py +0 -3
- uipath/_services/_base_service.py +0 -9
- uipath/_services/actions_service.py +36 -29
- uipath/_services/api_client.py +2 -8
- uipath/_services/assets_service.py +13 -7
- uipath/_services/processes_service.py +9 -5
- uipath/models/action_schema.py +0 -2
- uipath/models/actions.py +7 -2
- uipath/models/assets.py +0 -5
- uipath/models/attachment.py +7 -2
- uipath/models/connections.py +0 -5
- uipath/models/context_grounding.py +0 -3
- uipath/models/context_grounding_index.py +8 -3
- uipath/models/job.py +0 -5
- uipath/models/processes.py +0 -3
- uipath/models/queues.py +19 -4
- {uipath-2.1.46.dist-info → uipath-2.1.48.dist-info}/METADATA +1 -1
- {uipath-2.1.46.dist-info → uipath-2.1.48.dist-info}/RECORD +21 -21
- {uipath-2.1.46.dist-info → uipath-2.1.48.dist-info}/WHEEL +0 -0
- {uipath-2.1.46.dist-info → uipath-2.1.48.dist-info}/entry_points.txt +0 -0
- {uipath-2.1.46.dist-info → uipath-2.1.48.dist-info}/licenses/LICENSE +0 -0
@@ -311,7 +311,6 @@ class StudioClient:
|
|
311
311
|
files=files_data,
|
312
312
|
url=f"{self.file_operations_base_url}/File/{remote_file.id}",
|
313
313
|
scoped="org",
|
314
|
-
infer_content_type=True,
|
315
314
|
headers=headers or {},
|
316
315
|
)
|
317
316
|
action = "Updated"
|
@@ -322,7 +321,6 @@ class StudioClient:
|
|
322
321
|
data={"parentId": folder.id} if folder else None,
|
323
322
|
files=files_data,
|
324
323
|
scoped="org",
|
325
|
-
infer_content_type=True,
|
326
324
|
headers=headers or {},
|
327
325
|
)
|
328
326
|
action = "Uploaded"
|
@@ -451,7 +449,6 @@ class StudioClient:
|
|
451
449
|
url=f"{self.file_operations_base_url}/StructuralMigration",
|
452
450
|
scoped="org",
|
453
451
|
files=files,
|
454
|
-
infer_content_type=True,
|
455
452
|
headers=headers or {},
|
456
453
|
)
|
457
454
|
|
@@ -74,7 +74,6 @@ class BaseService:
|
|
74
74
|
url: Union[URL, str],
|
75
75
|
*,
|
76
76
|
scoped: Literal["org", "tenant"] = "tenant",
|
77
|
-
infer_content_type=False,
|
78
77
|
**kwargs: Any,
|
79
78
|
) -> Response:
|
80
79
|
self._logger.debug(f"Request: {method} {url}")
|
@@ -106,9 +105,6 @@ class BaseService:
|
|
106
105
|
|
107
106
|
scoped_url = self._url.scope_url(str(url), scoped)
|
108
107
|
|
109
|
-
if infer_content_type:
|
110
|
-
self._client.headers.pop("Content-Type", None)
|
111
|
-
|
112
108
|
response = self._client.request(method, scoped_url, **kwargs)
|
113
109
|
|
114
110
|
try:
|
@@ -132,7 +128,6 @@ class BaseService:
|
|
132
128
|
url: Union[URL, str],
|
133
129
|
*,
|
134
130
|
scoped: Literal["org", "tenant"] = "tenant",
|
135
|
-
infer_content_type=False,
|
136
131
|
**kwargs: Any,
|
137
132
|
) -> Response:
|
138
133
|
self._logger.debug(f"Request: {method} {url}")
|
@@ -147,9 +142,6 @@ class BaseService:
|
|
147
142
|
|
148
143
|
scoped_url = self._url.scope_url(str(url), scoped)
|
149
144
|
|
150
|
-
if infer_content_type:
|
151
|
-
self._client_async.headers.pop("Content-Type", None)
|
152
|
-
|
153
145
|
response = await self._client_async.request(method, scoped_url, **kwargs)
|
154
146
|
|
155
147
|
try:
|
@@ -163,7 +155,6 @@ class BaseService:
|
|
163
155
|
def default_headers(self) -> dict[str, str]:
|
164
156
|
return {
|
165
157
|
"Accept": "application/json",
|
166
|
-
"Content-Type": "application/json",
|
167
158
|
**self.auth_headers,
|
168
159
|
**self.custom_headers,
|
169
160
|
}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import os
|
2
2
|
import uuid
|
3
|
-
from json import dumps
|
4
3
|
from typing import Any, Dict, List, Optional, Tuple
|
5
4
|
|
6
5
|
from .._config import Config
|
@@ -81,30 +80,28 @@ def _create_spec(
|
|
81
80
|
return RequestSpec(
|
82
81
|
method="POST",
|
83
82
|
endpoint=Endpoint("/orchestrator_/tasks/AppTasks/CreateAppTask"),
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
"
|
91
|
-
"
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
"
|
98
|
-
|
99
|
-
"actions": outcome_list,
|
100
|
-
}
|
101
|
-
if len(outcome_list) != 0
|
102
|
-
else {},
|
83
|
+
json={
|
84
|
+
"appId": app_key,
|
85
|
+
"appVersion": app_version,
|
86
|
+
"title": title,
|
87
|
+
"data": data if data is not None else {},
|
88
|
+
"actionableMessageMetaData": {
|
89
|
+
"fieldSet": {
|
90
|
+
"id": str(uuid.uuid4()),
|
91
|
+
"fields": field_list,
|
92
|
+
}
|
93
|
+
if len(field_list) != 0
|
94
|
+
else {},
|
95
|
+
"actionSet": {
|
96
|
+
"id": str(uuid.uuid4()),
|
97
|
+
"actions": outcome_list,
|
103
98
|
}
|
104
|
-
if
|
99
|
+
if len(outcome_list) != 0
|
105
100
|
else {},
|
106
101
|
}
|
107
|
-
|
102
|
+
if action_schema is not None
|
103
|
+
else {},
|
104
|
+
},
|
108
105
|
headers=folder_headers(app_folder_key, app_folder_path),
|
109
106
|
)
|
110
107
|
|
@@ -126,9 +123,7 @@ def _assign_task_spec(task_key: str, assignee: str) -> RequestSpec:
|
|
126
123
|
endpoint=Endpoint(
|
127
124
|
"/orchestrator_/odata/Tasks/UiPath.Server.Configuration.OData.AssignTasks"
|
128
125
|
),
|
129
|
-
|
130
|
-
{"taskAssignments": [{"taskId": task_key, "UserNameOrEmail": assignee}]}
|
131
|
-
),
|
126
|
+
json={"taskAssignments": [{"taskId": task_key, "UserNameOrEmail": assignee}]},
|
132
127
|
)
|
133
128
|
|
134
129
|
|
@@ -224,12 +219,18 @@ class ActionsService(FolderContext, BaseService):
|
|
224
219
|
)
|
225
220
|
|
226
221
|
response = await self.request_async(
|
227
|
-
spec.method,
|
222
|
+
spec.method,
|
223
|
+
spec.endpoint,
|
224
|
+
json=spec.json,
|
225
|
+
content=spec.content,
|
226
|
+
headers=spec.headers,
|
228
227
|
)
|
229
228
|
json_response = response.json()
|
230
229
|
if assignee:
|
231
230
|
spec = _assign_task_spec(json_response["id"], assignee)
|
232
|
-
await self.request_async(
|
231
|
+
await self.request_async(
|
232
|
+
spec.method, spec.endpoint, json=spec.json, content=spec.content
|
233
|
+
)
|
233
234
|
return Action.model_validate(json_response)
|
234
235
|
|
235
236
|
@traced(name="actions_create", run_type="uipath")
|
@@ -284,12 +285,18 @@ class ActionsService(FolderContext, BaseService):
|
|
284
285
|
)
|
285
286
|
|
286
287
|
response = self.request(
|
287
|
-
spec.method,
|
288
|
+
spec.method,
|
289
|
+
spec.endpoint,
|
290
|
+
json=spec.json,
|
291
|
+
content=spec.content,
|
292
|
+
headers=spec.headers,
|
288
293
|
)
|
289
294
|
json_response = response.json()
|
290
295
|
if assignee:
|
291
296
|
spec = _assign_task_spec(json_response["id"], assignee)
|
292
|
-
self.request(
|
297
|
+
self.request(
|
298
|
+
spec.method, spec.endpoint, json=spec.json, content=spec.content
|
299
|
+
)
|
293
300
|
return Action.model_validate(json_response)
|
294
301
|
|
295
302
|
@traced(name="actions_retrieve", run_type="uipath")
|
uipath/_services/api_client.py
CHANGED
@@ -25,7 +25,6 @@ class ApiClient(FolderContext, BaseService):
|
|
25
25
|
method: str,
|
26
26
|
url: Union[URL, str],
|
27
27
|
scoped: Literal["org", "tenant"] = "tenant",
|
28
|
-
infer_content_type=False,
|
29
28
|
**kwargs: Any,
|
30
29
|
) -> Response:
|
31
30
|
if kwargs.get("include_folder_headers", False):
|
@@ -37,16 +36,13 @@ class ApiClient(FolderContext, BaseService):
|
|
37
36
|
if "include_folder_headers" in kwargs:
|
38
37
|
del kwargs["include_folder_headers"]
|
39
38
|
|
40
|
-
return super().request(
|
41
|
-
method, url, scoped=scoped, infer_content_type=infer_content_type, **kwargs
|
42
|
-
)
|
39
|
+
return super().request(method, url, scoped=scoped, **kwargs)
|
43
40
|
|
44
41
|
async def request_async(
|
45
42
|
self,
|
46
43
|
method: str,
|
47
44
|
url: Union[URL, str],
|
48
45
|
scoped: Literal["org", "tenant"] = "tenant",
|
49
|
-
infer_content_type=False,
|
50
46
|
**kwargs: Any,
|
51
47
|
) -> Response:
|
52
48
|
if kwargs.get("include_folder_headers", False):
|
@@ -58,6 +54,4 @@ class ApiClient(FolderContext, BaseService):
|
|
58
54
|
if "include_folder_headers" in kwargs:
|
59
55
|
del kwargs["include_folder_headers"]
|
60
56
|
|
61
|
-
return await super().request_async(
|
62
|
-
method, url, scoped=scoped, infer_content_type=infer_content_type, **kwargs
|
63
|
-
)
|
57
|
+
return await super().request_async(method, url, scoped=scoped, **kwargs)
|
@@ -170,6 +170,8 @@ class AssetsService(FolderContext, BaseService):
|
|
170
170
|
response = self.request(
|
171
171
|
spec.method,
|
172
172
|
url=spec.endpoint,
|
173
|
+
params=spec.params,
|
174
|
+
json=spec.json,
|
173
175
|
content=spec.content,
|
174
176
|
headers=spec.headers,
|
175
177
|
)
|
@@ -223,6 +225,8 @@ class AssetsService(FolderContext, BaseService):
|
|
223
225
|
response = await self.request_async(
|
224
226
|
spec.method,
|
225
227
|
url=spec.endpoint,
|
228
|
+
params=spec.params,
|
229
|
+
json=spec.json,
|
226
230
|
content=spec.content,
|
227
231
|
headers=spec.headers,
|
228
232
|
)
|
@@ -267,6 +271,8 @@ class AssetsService(FolderContext, BaseService):
|
|
267
271
|
response = self.request(
|
268
272
|
spec.method,
|
269
273
|
url=spec.endpoint,
|
274
|
+
params=spec.params,
|
275
|
+
json=spec.json,
|
270
276
|
content=spec.content,
|
271
277
|
headers=spec.headers,
|
272
278
|
)
|
@@ -298,6 +304,8 @@ class AssetsService(FolderContext, BaseService):
|
|
298
304
|
response = await self.request_async(
|
299
305
|
spec.method,
|
300
306
|
url=spec.endpoint,
|
307
|
+
params=spec.params,
|
308
|
+
json=spec.json,
|
301
309
|
content=spec.content,
|
302
310
|
headers=spec.headers,
|
303
311
|
)
|
@@ -337,7 +345,7 @@ class AssetsService(FolderContext, BaseService):
|
|
337
345
|
endpoint=Endpoint(
|
338
346
|
"/orchestrator_/odata/Assets/UiPath.Server.Configuration.OData.GetRobotAssetByNameForRobotKey"
|
339
347
|
),
|
340
|
-
|
348
|
+
json={"assetName": name, "robotKey": robot_key},
|
341
349
|
headers={
|
342
350
|
**header_folder(folder_key, folder_path),
|
343
351
|
},
|
@@ -355,12 +363,10 @@ class AssetsService(FolderContext, BaseService):
|
|
355
363
|
endpoint=Endpoint(
|
356
364
|
"/orchestrator_/odata/Assets/UiPath.Server.Configuration.OData.SetRobotAssetByRobotKey"
|
357
365
|
),
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
}
|
363
|
-
),
|
366
|
+
json={
|
367
|
+
"robotKey": self._execution_context.robot_key,
|
368
|
+
"robotAsset": robot_asset.model_dump(by_alias=True, exclude_none=True),
|
369
|
+
},
|
364
370
|
headers={
|
365
371
|
**header_folder(folder_key, folder_path),
|
366
372
|
},
|
@@ -87,6 +87,8 @@ class ProcessesService(FolderContext, BaseService):
|
|
87
87
|
response = self.request(
|
88
88
|
spec.method,
|
89
89
|
url=spec.endpoint,
|
90
|
+
params=spec.params,
|
91
|
+
json=spec.json,
|
90
92
|
content=spec.content,
|
91
93
|
headers=spec.headers,
|
92
94
|
)
|
@@ -146,6 +148,8 @@ class ProcessesService(FolderContext, BaseService):
|
|
146
148
|
response = await self.request_async(
|
147
149
|
spec.method,
|
148
150
|
url=spec.endpoint,
|
151
|
+
params=spec.params,
|
152
|
+
json=spec.json,
|
149
153
|
content=spec.content,
|
150
154
|
headers=spec.headers,
|
151
155
|
)
|
@@ -230,18 +234,18 @@ class ProcessesService(FolderContext, BaseService):
|
|
230
234
|
folder_key: Optional[str] = None,
|
231
235
|
folder_path: Optional[str] = None,
|
232
236
|
) -> RequestSpec:
|
233
|
-
|
234
|
-
request_scope = RequestSpec(
|
237
|
+
request_spec = RequestSpec(
|
235
238
|
method="POST",
|
236
239
|
endpoint=Endpoint(
|
237
240
|
"/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
|
238
241
|
),
|
239
|
-
|
242
|
+
json={"startInfo": {"ReleaseName": name, **(input_data or {})}},
|
240
243
|
headers={
|
241
244
|
**header_folder(folder_key, folder_path),
|
242
245
|
},
|
243
246
|
)
|
244
247
|
job_key = os.environ.get(ENV_JOB_KEY, None)
|
245
248
|
if job_key:
|
246
|
-
|
247
|
-
|
249
|
+
request_spec.headers[HEADER_JOB_KEY] = job_key
|
250
|
+
|
251
|
+
return request_spec
|
uipath/models/action_schema.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime
|
2
1
|
from typing import List, Optional
|
3
2
|
|
4
3
|
from pydantic import BaseModel, ConfigDict, Field
|
@@ -16,7 +15,6 @@ class ActionSchema(BaseModel):
|
|
16
15
|
use_enum_values=True,
|
17
16
|
arbitrary_types_allowed=True,
|
18
17
|
extra="allow",
|
19
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
20
18
|
)
|
21
19
|
|
22
20
|
key: str
|
uipath/models/actions.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
from datetime import datetime
|
2
2
|
from typing import Any, Dict, List, Optional, Union
|
3
3
|
|
4
|
-
from pydantic import BaseModel, ConfigDict, Field
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field, field_serializer
|
5
5
|
|
6
6
|
|
7
7
|
class Action(BaseModel):
|
@@ -11,9 +11,14 @@ class Action(BaseModel):
|
|
11
11
|
use_enum_values=True,
|
12
12
|
arbitrary_types_allowed=True,
|
13
13
|
extra="allow",
|
14
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
15
14
|
)
|
16
15
|
|
16
|
+
@field_serializer("*", when_used="json")
|
17
|
+
def serialize_datetime(self, value):
|
18
|
+
if isinstance(value, datetime):
|
19
|
+
return value.isoformat() if value else None
|
20
|
+
return value
|
21
|
+
|
17
22
|
task_definition_properties_id: Optional[int] = Field(
|
18
23
|
default=None, alias="taskDefinitionPropertiesId"
|
19
24
|
)
|
uipath/models/assets.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime
|
2
1
|
from typing import Dict, List, Optional
|
3
2
|
|
4
3
|
from pydantic import BaseModel, ConfigDict, Field
|
@@ -11,9 +10,7 @@ class CredentialsConnectionData(BaseModel):
|
|
11
10
|
use_enum_values=True,
|
12
11
|
arbitrary_types_allowed=True,
|
13
12
|
extra="allow",
|
14
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
15
13
|
)
|
16
|
-
|
17
14
|
url: str
|
18
15
|
body: str
|
19
16
|
bearer_token: str = Field(alias="bearerToken")
|
@@ -26,9 +23,7 @@ class UserAsset(BaseModel):
|
|
26
23
|
use_enum_values=True,
|
27
24
|
arbitrary_types_allowed=True,
|
28
25
|
extra="allow",
|
29
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
30
26
|
)
|
31
|
-
|
32
27
|
name: Optional[str] = Field(default=None, alias="Name")
|
33
28
|
value: Optional[str] = Field(default=None, alias="Value")
|
34
29
|
value_type: Optional[str] = Field(default=None, alias="ValueType")
|
uipath/models/attachment.py
CHANGED
@@ -2,7 +2,7 @@ import uuid
|
|
2
2
|
from datetime import datetime
|
3
3
|
from typing import Optional
|
4
4
|
|
5
|
-
from pydantic import BaseModel, ConfigDict, Field
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field, field_serializer
|
6
6
|
|
7
7
|
|
8
8
|
class Attachment(BaseModel):
|
@@ -17,9 +17,14 @@ class Attachment(BaseModel):
|
|
17
17
|
use_enum_values=True,
|
18
18
|
arbitrary_types_allowed=True,
|
19
19
|
extra="allow",
|
20
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
21
20
|
)
|
22
21
|
|
22
|
+
@field_serializer("creation_time", "last_modification_time", when_used="json")
|
23
|
+
def serialize_datetime(self, value):
|
24
|
+
if isinstance(value, datetime):
|
25
|
+
return value.isoformat() if value else None
|
26
|
+
return value
|
27
|
+
|
23
28
|
name: str = Field(alias="Name")
|
24
29
|
creation_time: Optional[datetime] = Field(default=None, alias="CreationTime")
|
25
30
|
last_modification_time: Optional[datetime] = Field(
|
uipath/models/connections.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime
|
2
1
|
from typing import Any, Optional
|
3
2
|
|
4
3
|
from pydantic import BaseModel, ConfigDict, Field
|
@@ -11,9 +10,7 @@ class Connection(BaseModel):
|
|
11
10
|
use_enum_values=True,
|
12
11
|
arbitrary_types_allowed=True,
|
13
12
|
extra="allow",
|
14
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
15
13
|
)
|
16
|
-
|
17
14
|
id: Optional[str] = None
|
18
15
|
name: Optional[str] = None
|
19
16
|
owner: Optional[str] = None
|
@@ -40,9 +37,7 @@ class ConnectionToken(BaseModel):
|
|
40
37
|
use_enum_values=True,
|
41
38
|
arbitrary_types_allowed=True,
|
42
39
|
extra="allow",
|
43
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
44
40
|
)
|
45
|
-
|
46
41
|
access_token: str = Field(alias="accessToken")
|
47
42
|
token_type: Optional[str] = Field(default=None, alias="tokenType")
|
48
43
|
scope: Optional[str] = None
|
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime
|
2
1
|
from typing import Optional
|
3
2
|
|
4
3
|
from pydantic import BaseModel, ConfigDict, Field
|
@@ -11,7 +10,6 @@ class ContextGroundingMetadata(BaseModel):
|
|
11
10
|
use_enum_values=True,
|
12
11
|
arbitrary_types_allowed=True,
|
13
12
|
extra="allow",
|
14
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
15
13
|
)
|
16
14
|
operation_id: str = Field(alias="operation_id")
|
17
15
|
strategy: str = Field(alias="strategy")
|
@@ -24,7 +22,6 @@ class ContextGroundingQueryResponse(BaseModel):
|
|
24
22
|
use_enum_values=True,
|
25
23
|
arbitrary_types_allowed=True,
|
26
24
|
extra="allow",
|
27
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
28
25
|
)
|
29
26
|
source: str = Field(alias="source")
|
30
27
|
page_number: str = Field(alias="page_number")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from datetime import datetime
|
2
2
|
from typing import Any, List, Optional
|
3
3
|
|
4
|
-
from pydantic import BaseModel, ConfigDict, Field
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field, field_serializer
|
5
5
|
|
6
6
|
|
7
7
|
class ContextGroundingField(BaseModel):
|
@@ -21,7 +21,6 @@ class ContextGroundingDataSource(BaseModel):
|
|
21
21
|
use_enum_values=True,
|
22
22
|
arbitrary_types_allowed=True,
|
23
23
|
extra="allow",
|
24
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
25
24
|
)
|
26
25
|
id: Optional[str] = Field(default=None, alias="id")
|
27
26
|
folder: Optional[str] = Field(default=None, alias="folder")
|
@@ -35,8 +34,14 @@ class ContextGroundingIndex(BaseModel):
|
|
35
34
|
use_enum_values=True,
|
36
35
|
arbitrary_types_allowed=True,
|
37
36
|
extra="allow",
|
38
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
39
37
|
)
|
38
|
+
|
39
|
+
@field_serializer("last_ingested", "last_queried", when_used="json")
|
40
|
+
def serialize_datetime(self, value):
|
41
|
+
if isinstance(value, datetime):
|
42
|
+
return value.isoformat() if value else None
|
43
|
+
return value
|
44
|
+
|
40
45
|
id: Optional[str] = Field(default=None, alias="id")
|
41
46
|
name: Optional[str] = Field(default=None, alias="name")
|
42
47
|
description: Optional[str] = Field(default=None, alias="description")
|
uipath/models/job.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime
|
2
1
|
from typing import Any, Dict, Optional
|
3
2
|
|
4
3
|
from pydantic import BaseModel, ConfigDict, Field
|
@@ -11,9 +10,7 @@ class JobErrorInfo(BaseModel):
|
|
11
10
|
use_enum_values=True,
|
12
11
|
arbitrary_types_allowed=True,
|
13
12
|
extra="allow",
|
14
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
15
13
|
)
|
16
|
-
|
17
14
|
code: Optional[str] = Field(default=None, alias="Code")
|
18
15
|
title: Optional[str] = Field(default=None, alias="Title")
|
19
16
|
detail: Optional[str] = Field(default=None, alias="Detail")
|
@@ -28,9 +25,7 @@ class Job(BaseModel):
|
|
28
25
|
use_enum_values=True,
|
29
26
|
arbitrary_types_allowed=True,
|
30
27
|
extra="allow",
|
31
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
32
28
|
)
|
33
|
-
|
34
29
|
key: Optional[str] = Field(default=None, alias="Key")
|
35
30
|
start_time: Optional[str] = Field(default=None, alias="StartTime")
|
36
31
|
end_time: Optional[str] = Field(default=None, alias="EndTime")
|
uipath/models/processes.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime
|
2
1
|
from typing import Any, Dict, List, Optional
|
3
2
|
|
4
3
|
from pydantic import BaseModel, ConfigDict, Field
|
@@ -11,9 +10,7 @@ class Process(BaseModel):
|
|
11
10
|
use_enum_values=True,
|
12
11
|
arbitrary_types_allowed=True,
|
13
12
|
extra="allow",
|
14
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
15
13
|
)
|
16
|
-
|
17
14
|
key: str = Field(alias="Key")
|
18
15
|
process_key: str = Field(alias="ProcessKey")
|
19
16
|
process_version: str = Field(alias="ProcessVersion")
|
uipath/models/queues.py
CHANGED
@@ -2,7 +2,7 @@ from datetime import datetime
|
|
2
2
|
from enum import Enum
|
3
3
|
from typing import Any, Dict, Optional
|
4
4
|
|
5
|
-
from pydantic import BaseModel, ConfigDict, Field
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field, field_serializer
|
6
6
|
from typing_extensions import Annotated
|
7
7
|
|
8
8
|
|
@@ -25,9 +25,14 @@ class QueueItem(BaseModel):
|
|
25
25
|
use_enum_values=True,
|
26
26
|
arbitrary_types_allowed=True,
|
27
27
|
extra="allow",
|
28
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
29
28
|
)
|
30
29
|
|
30
|
+
@field_serializer("defer_date", "due_date", "risk_sla_date", when_used="json")
|
31
|
+
def serialize_datetime(self, value):
|
32
|
+
if isinstance(value, datetime):
|
33
|
+
return value.isoformat() if value else None
|
34
|
+
return value
|
35
|
+
|
31
36
|
name: str = Field(
|
32
37
|
description="The name of the queue into which the item will be added.",
|
33
38
|
alias="Name",
|
@@ -81,9 +86,14 @@ class TransactionItem(BaseModel):
|
|
81
86
|
use_enum_values=True,
|
82
87
|
arbitrary_types_allowed=True,
|
83
88
|
extra="allow",
|
84
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
85
89
|
)
|
86
90
|
|
91
|
+
@field_serializer("defer_date", "due_date", when_used="json")
|
92
|
+
def serialize_datetime(self, value):
|
93
|
+
if isinstance(value, datetime):
|
94
|
+
return value.isoformat() if value else None
|
95
|
+
return value
|
96
|
+
|
87
97
|
name: str = Field(
|
88
98
|
description="The name of the queue in which to search for the next item or in which to insert the item before marking it as InProgress and sending it to the robot.",
|
89
99
|
alias="Name",
|
@@ -124,9 +134,14 @@ class TransactionItemResult(BaseModel):
|
|
124
134
|
use_enum_values=True,
|
125
135
|
arbitrary_types_allowed=True,
|
126
136
|
extra="allow",
|
127
|
-
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
128
137
|
)
|
129
138
|
|
139
|
+
@field_serializer("defer_date", "due_date", when_used="json")
|
140
|
+
def serialize_datetime(self, value):
|
141
|
+
if isinstance(value, datetime):
|
142
|
+
return value.isoformat() if value else None
|
143
|
+
return value
|
144
|
+
|
130
145
|
is_successful: Optional[bool] = Field(
|
131
146
|
default=None,
|
132
147
|
description="States if the processing was successful or not.",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: uipath
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.48
|
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
|
@@ -80,14 +80,14 @@ uipath/_cli/_utils/_input_args.py,sha256=3LGNqVpJItvof75VGm-ZNTUMUH9-c7-YgleM5b2
|
|
80
80
|
uipath/_cli/_utils/_parse_ast.py,sha256=8Iohz58s6bYQ7rgWtOTjrEInLJ-ETikmOMZzZdIY2Co,20072
|
81
81
|
uipath/_cli/_utils/_processes.py,sha256=q7DfEKHISDWf3pngci5za_z0Pbnf_shWiYEcTOTCiyk,1855
|
82
82
|
uipath/_cli/_utils/_project_files.py,sha256=a_mhBN0CLp2h56DYswjE79BP3M_LpIMYteJcfcGoCRc,13144
|
83
|
-
uipath/_cli/_utils/_studio_project.py,sha256=
|
83
|
+
uipath/_cli/_utils/_studio_project.py,sha256=HvzcpIIIA4hUIvMbId1dsAhmFLMuhnS2ZtyNdcpXJ8c,15422
|
84
84
|
uipath/_cli/_utils/_tracing.py,sha256=2igb03j3EHjF_A406UhtCKkPfudVfFPjUq5tXUEG4oo,1541
|
85
85
|
uipath/_cli/_utils/_uv_helpers.py,sha256=6SvoLnZPoKIxW0sjMvD1-ENV_HOXDYzH34GjBqwT138,3450
|
86
86
|
uipath/_services/__init__.py,sha256=10xtw3ENC30yR9CCq_b94RMZ3YrUeyfHV33yWYUd8tU,896
|
87
|
-
uipath/_services/_base_service.py,sha256=
|
88
|
-
uipath/_services/actions_service.py,sha256=
|
89
|
-
uipath/_services/api_client.py,sha256=
|
90
|
-
uipath/_services/assets_service.py,sha256=
|
87
|
+
uipath/_services/_base_service.py,sha256=x9-9jhPzn9Z16KRdFHhJNvV-FZHvTniMsDfxlS4Cutk,5782
|
88
|
+
uipath/_services/actions_service.py,sha256=2RPMR-hFMsOlqEyjIf3aF7-lrf57jdrSD0pBjj0Kyko,16040
|
89
|
+
uipath/_services/api_client.py,sha256=kGm04ijk9AOEQd2BMxvQg-2QoB8dmyoDwFFDPyutAGw,1966
|
90
|
+
uipath/_services/assets_service.py,sha256=pG0Io--SeiRRQmfUWPQPl1vq3csZlQgx30LBNKRmmF8,12145
|
91
91
|
uipath/_services/attachments_service.py,sha256=NPQYK7CGjfBaNT_1S5vEAfODmOChTbQZforllFM2ofU,26678
|
92
92
|
uipath/_services/buckets_service.py,sha256=5s8tuivd7GUZYj774DDUYTa0axxlUuesc4EBY1V5sdk,18496
|
93
93
|
uipath/_services/connections_service.py,sha256=Rf-DCm43tsDM6Cfp41iwGR4gUk_YCdobGcmbSoKvQ6E,7480
|
@@ -95,7 +95,7 @@ uipath/_services/context_grounding_service.py,sha256=EBf7lIIYz_s1ubf_07OAZXQHjS8
|
|
95
95
|
uipath/_services/folder_service.py,sha256=9JqgjKhWD-G_KUnfUTP2BADxL6OK9QNZsBsWZHAULdE,2749
|
96
96
|
uipath/_services/jobs_service.py,sha256=UwsY0Cir7Yd5_mTeH0uHLmcmQZpdbT8KNx3z3F0cHZA,32775
|
97
97
|
uipath/_services/llm_gateway_service.py,sha256=oZR--75V8ULdLjVC7lo-lJ5786J_qfXUDe0R9iWNAKs,24306
|
98
|
-
uipath/_services/processes_service.py,sha256=
|
98
|
+
uipath/_services/processes_service.py,sha256=O_uHgQ1rnwiV5quG0OQqabAnE6Rf6cWrMENYY2jKWt8,8585
|
99
99
|
uipath/_services/queues_service.py,sha256=VaG3dWL2QK6AJBOLoW2NQTpkPfZjsqsYPl9-kfXPFzA,13534
|
100
100
|
uipath/_utils/__init__.py,sha256=VdcpnENJIa0R6Y26NoxY64-wUVyvb4pKfTh1wXDQeMk,526
|
101
101
|
uipath/_utils/_endpoint.py,sha256=yYHwqbQuJIevpaTkdfYJS9CrtlFeEyfb5JQK5osTCog,2489
|
@@ -121,21 +121,21 @@ uipath/agent/conversation/tool.py,sha256=ol8XI8AVd-QNn5auXNBPcCzOkh9PPFtL7hTK3kq
|
|
121
121
|
uipath/eval/_helpers/__init__.py,sha256=GSmZMryjuO3Wo_zdxZdrHCRRsgOxsVFYkYgJ15YNC3E,86
|
122
122
|
uipath/eval/_helpers/helpers.py,sha256=iE2HHdMiAdAMLqxHkPKHpfecEtAuN5BTBqvKFTI8ciE,1315
|
123
123
|
uipath/models/__init__.py,sha256=d_DkK1AtRUetM1t2NrH5UKgvJOBiynzaKnK5pMY7aIc,1289
|
124
|
-
uipath/models/action_schema.py,sha256=
|
125
|
-
uipath/models/actions.py,sha256=
|
126
|
-
uipath/models/assets.py,sha256=
|
127
|
-
uipath/models/attachment.py,sha256=
|
124
|
+
uipath/models/action_schema.py,sha256=tBn1qQ3NQLU5nwWlBIzIKIx3XK5pO_D1S51IjFlZ1FA,610
|
125
|
+
uipath/models/actions.py,sha256=1vRsJ3JSmMdPkbiYAiHzY8K44vmW3VlMsmQUBAkSgrQ,3141
|
126
|
+
uipath/models/assets.py,sha256=7x3swJRnG_a4VgjdXKKwraJLT5TF0u4wHsl6coOjX0g,2762
|
127
|
+
uipath/models/attachment.py,sha256=lI6BxBY6DY5U6qZbxhkNu-usseA1zovYSTRtLq50ubI,1029
|
128
128
|
uipath/models/buckets.py,sha256=N3Lj_dVCv709-ywhOOdyCSvsuLn41eGuAfSiik6Q6F8,1285
|
129
|
-
uipath/models/connections.py,sha256=
|
130
|
-
uipath/models/context_grounding.py,sha256=
|
131
|
-
uipath/models/context_grounding_index.py,sha256=
|
129
|
+
uipath/models/connections.py,sha256=V6Ecx10HBDO2HGaIGG8NGx4q2sEhViAoPOUgPosPfvE,2418
|
130
|
+
uipath/models/context_grounding.py,sha256=3MaF2Fv2QYle8UUWvKGkCN5XGpx2T4a34fdbBqJ2fCs,1137
|
131
|
+
uipath/models/context_grounding_index.py,sha256=OhRyxZDHDSrEmBFK0-JLqMMMT64jir4XkHtQ54IKtc0,2683
|
132
132
|
uipath/models/errors.py,sha256=WCxxHBlLzLF17YxjqsFkkyBLwEQM_dc6fFU5qmBjD4A,597
|
133
133
|
uipath/models/exceptions.py,sha256=F0ITAhJsl6Agvmnv4nxvgY5oC_lrYIlxWTLs0yx859M,1636
|
134
134
|
uipath/models/interrupt_models.py,sha256=UzuVTMVesI204YQ4qFQFaN-gN3kksddkrujofcaC7zQ,881
|
135
|
-
uipath/models/job.py,sha256=
|
135
|
+
uipath/models/job.py,sha256=HOvWS3I2BkiuM9jvg_PF0MezKa_C_8g7tndZpjJ1w50,3063
|
136
136
|
uipath/models/llm_gateway.py,sha256=rUIus7BrUuuRriXqSJUE9FnjOyQ7pYpaX6hWEYvA6AA,1923
|
137
|
-
uipath/models/processes.py,sha256=
|
138
|
-
uipath/models/queues.py,sha256=
|
137
|
+
uipath/models/processes.py,sha256=bV31xTyF0hRWZmwy3bWj5L8dBD9wttWxfJjwzhjETmk,1924
|
138
|
+
uipath/models/queues.py,sha256=gnbeEyYlHtdqdxBalio0lw8mq-78YBG9MPMSkv1BWOg,6934
|
139
139
|
uipath/telemetry/__init__.py,sha256=Wna32UFzZR66D-RzTKlPWlvji9i2HJb82NhHjCCXRjY,61
|
140
140
|
uipath/telemetry/_constants.py,sha256=uRDuEZayBYtBA0tMx-2AS_D-oiVA7oKgp9zid9jNats,763
|
141
141
|
uipath/telemetry/_track.py,sha256=G_Pyq8n8iMvoCWhUpWedlptXUSuUSbQBBzGxsh4DW9c,4654
|
@@ -145,8 +145,8 @@ uipath/tracing/_traced.py,sha256=qeVDrds2OUnpdUIA0RhtF0kg2dlAZhyC1RRkI-qivTM,185
|
|
145
145
|
uipath/tracing/_utils.py,sha256=wJRELaPu69iY0AhV432Dk5QYf_N_ViRU4kAUG1BI1ew,10384
|
146
146
|
uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
|
147
147
|
uipath/utils/_endpoints_manager.py,sha256=iRTl5Q0XAm_YgcnMcJOXtj-8052sr6jpWuPNz6CgT0Q,8408
|
148
|
-
uipath-2.1.
|
149
|
-
uipath-2.1.
|
150
|
-
uipath-2.1.
|
151
|
-
uipath-2.1.
|
152
|
-
uipath-2.1.
|
148
|
+
uipath-2.1.48.dist-info/METADATA,sha256=PYtAIE5tJUVOv7QMf82ym3nhNYhitzMO9K6d0yg_yKQ,6482
|
149
|
+
uipath-2.1.48.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
150
|
+
uipath-2.1.48.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
|
151
|
+
uipath-2.1.48.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
|
152
|
+
uipath-2.1.48.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|