uipath 2.1.99__py3-none-any.whl → 2.1.101__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/__init__.py +0 -2
- uipath/_cli/_push/sw_file_handler.py +186 -75
- uipath/_cli/_utils/_project_files.py +72 -14
- uipath/_cli/cli_init.py +4 -1
- uipath/_cli/cli_pull.py +14 -7
- uipath/_cli/cli_push.py +33 -16
- uipath/_uipath.py +2 -1
- uipath/_utils/_logs.py +6 -7
- uipath/agent/_utils.py +0 -9
- uipath/agent/models/agent.py +4 -33
- uipath/models/exceptions.py +9 -5
- uipath/models/guardrails.py +469 -0
- {uipath-2.1.99.dist-info → uipath-2.1.101.dist-info}/METADATA +1 -1
- {uipath-2.1.99.dist-info → uipath-2.1.101.dist-info}/RECORD +17 -16
- {uipath-2.1.99.dist-info → uipath-2.1.101.dist-info}/WHEEL +0 -0
- {uipath-2.1.99.dist-info → uipath-2.1.101.dist-info}/entry_points.txt +0 -0
- {uipath-2.1.99.dist-info → uipath-2.1.101.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from typing import Annotated, Any, Dict, List, Literal, Optional, Union
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class FieldSource(str, Enum):
|
|
8
|
+
"""Field source enumeration."""
|
|
9
|
+
|
|
10
|
+
INPUT = "input"
|
|
11
|
+
OUTPUT = "output"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ApplyTo(str, Enum):
|
|
15
|
+
"""Apply to enumeration."""
|
|
16
|
+
|
|
17
|
+
INPUT = "input"
|
|
18
|
+
INPUT_AND_OUTPUT = "inputAndOutput"
|
|
19
|
+
OUTPUT = "output"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class FieldReference(BaseModel):
|
|
23
|
+
"""Field reference model."""
|
|
24
|
+
|
|
25
|
+
path: str
|
|
26
|
+
source: FieldSource
|
|
27
|
+
|
|
28
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class SelectorType(str, Enum):
|
|
32
|
+
"""Selector type enumeration."""
|
|
33
|
+
|
|
34
|
+
ALL = "all"
|
|
35
|
+
SPECIFIC = "specific"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class AllFieldsSelector(BaseModel):
|
|
39
|
+
"""All fields selector."""
|
|
40
|
+
|
|
41
|
+
selector_type: Literal["all"] = Field(alias="$selectorType")
|
|
42
|
+
|
|
43
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class SpecificFieldsSelector(BaseModel):
|
|
47
|
+
"""Specific fields selector."""
|
|
48
|
+
|
|
49
|
+
selector_type: Literal["specific"] = Field(alias="$selectorType")
|
|
50
|
+
fields: List[FieldReference]
|
|
51
|
+
|
|
52
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
FieldSelector = Annotated[
|
|
56
|
+
Union[AllFieldsSelector, SpecificFieldsSelector],
|
|
57
|
+
Field(discriminator="selector_type"),
|
|
58
|
+
]
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class RuleType(str, Enum):
|
|
62
|
+
"""Rule type enumeration."""
|
|
63
|
+
|
|
64
|
+
BOOLEAN = "boolean"
|
|
65
|
+
NUMBER = "number"
|
|
66
|
+
UNIVERSAL = "always"
|
|
67
|
+
WORD = "word"
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class WordOperator(str, Enum):
|
|
71
|
+
"""Word operator enumeration."""
|
|
72
|
+
|
|
73
|
+
CONTAINS = "contains"
|
|
74
|
+
DOES_NOT_CONTAIN = "doesNotContain"
|
|
75
|
+
DOES_NOT_END_WITH = "doesNotEndWith"
|
|
76
|
+
DOES_NOT_EQUAL = "doesNotEqual"
|
|
77
|
+
DOES_NOT_START_WITH = "doesNotStartWith"
|
|
78
|
+
ENDS_WITH = "endsWith"
|
|
79
|
+
EQUALS = "equals"
|
|
80
|
+
IS_EMPTY = "isEmpty"
|
|
81
|
+
IS_NOT_EMPTY = "isNotEmpty"
|
|
82
|
+
STARTS_WITH = "startsWith"
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class WordRule(BaseModel):
|
|
86
|
+
"""Word rule model."""
|
|
87
|
+
|
|
88
|
+
rule_type: Literal["word"] = Field(alias="$ruleType")
|
|
89
|
+
field_selector: FieldSelector = Field(alias="fieldSelector")
|
|
90
|
+
operator: WordOperator
|
|
91
|
+
value: Optional[str] = None
|
|
92
|
+
|
|
93
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class UniversalRule(BaseModel):
|
|
97
|
+
"""Universal rule model."""
|
|
98
|
+
|
|
99
|
+
rule_type: Literal["always"] = Field(alias="$ruleType")
|
|
100
|
+
apply_to: ApplyTo = Field(alias="applyTo")
|
|
101
|
+
|
|
102
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class NumberOperator(str, Enum):
|
|
106
|
+
"""Number operator enumeration."""
|
|
107
|
+
|
|
108
|
+
DOES_NOT_EQUAL = "doesNotEqual"
|
|
109
|
+
EQUALS = "equals"
|
|
110
|
+
GREATER_THAN = "greaterThan"
|
|
111
|
+
GREATER_THAN_OR_EQUAL = "greaterThanOrEqual"
|
|
112
|
+
LESS_THAN = "lessThan"
|
|
113
|
+
LESS_THAN_OR_EQUAL = "lessThanOrEqual"
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class NumberRule(BaseModel):
|
|
117
|
+
"""Number rule model."""
|
|
118
|
+
|
|
119
|
+
rule_type: Literal["number"] = Field(alias="$ruleType")
|
|
120
|
+
field_selector: FieldSelector = Field(alias="fieldSelector")
|
|
121
|
+
operator: NumberOperator
|
|
122
|
+
value: float
|
|
123
|
+
|
|
124
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class BooleanOperator(str, Enum):
|
|
128
|
+
"""Boolean operator enumeration."""
|
|
129
|
+
|
|
130
|
+
EQUALS = "equals"
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class BooleanRule(BaseModel):
|
|
134
|
+
"""Boolean rule model."""
|
|
135
|
+
|
|
136
|
+
rule_type: Literal["boolean"] = Field(alias="$ruleType")
|
|
137
|
+
field_selector: FieldSelector = Field(alias="fieldSelector")
|
|
138
|
+
operator: BooleanOperator
|
|
139
|
+
value: bool
|
|
140
|
+
|
|
141
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class EnumListParameterValue(BaseModel):
|
|
145
|
+
"""Enum list parameter value."""
|
|
146
|
+
|
|
147
|
+
parameter_type: Literal["enum-list"] = Field(alias="$parameterType")
|
|
148
|
+
id: str
|
|
149
|
+
value: List[str]
|
|
150
|
+
|
|
151
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class MapEnumParameterValue(BaseModel):
|
|
155
|
+
"""Map enum parameter value."""
|
|
156
|
+
|
|
157
|
+
parameter_type: Literal["map-enum"] = Field(alias="$parameterType")
|
|
158
|
+
id: str
|
|
159
|
+
value: Dict[str, float]
|
|
160
|
+
|
|
161
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class NumberParameterValue(BaseModel):
|
|
165
|
+
"""Number parameter value."""
|
|
166
|
+
|
|
167
|
+
parameter_type: Literal["number"] = Field(alias="$parameterType")
|
|
168
|
+
id: str
|
|
169
|
+
value: float
|
|
170
|
+
|
|
171
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
ValidatorParameter = Annotated[
|
|
175
|
+
Union[EnumListParameterValue, MapEnumParameterValue, NumberParameterValue],
|
|
176
|
+
Field(discriminator="parameter_type"),
|
|
177
|
+
]
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
Rule = Annotated[
|
|
181
|
+
Union[WordRule, NumberRule, BooleanRule, UniversalRule],
|
|
182
|
+
Field(discriminator="rule_type"),
|
|
183
|
+
]
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
class ActionType(str, Enum):
|
|
187
|
+
"""Action type enumeration."""
|
|
188
|
+
|
|
189
|
+
BLOCK = "block"
|
|
190
|
+
ESCALATE = "escalate"
|
|
191
|
+
FILTER = "filter"
|
|
192
|
+
LOG = "log"
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
class BlockAction(BaseModel):
|
|
196
|
+
"""Block action model."""
|
|
197
|
+
|
|
198
|
+
action_type: Literal["block"] = Field(alias="$actionType")
|
|
199
|
+
reason: str
|
|
200
|
+
|
|
201
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
class FilterAction(BaseModel):
|
|
205
|
+
"""Filter action model."""
|
|
206
|
+
|
|
207
|
+
action_type: Literal["filter"] = Field(alias="$actionType")
|
|
208
|
+
fields: List[FieldReference]
|
|
209
|
+
|
|
210
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
class SeverityLevel(str, Enum):
|
|
214
|
+
"""Severity level enumeration."""
|
|
215
|
+
|
|
216
|
+
ERROR = "Error"
|
|
217
|
+
INFO = "Info"
|
|
218
|
+
WARNING = "Warning"
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class LogAction(BaseModel):
|
|
222
|
+
"""Log action model."""
|
|
223
|
+
|
|
224
|
+
action_type: Literal["log"] = Field(alias="$actionType")
|
|
225
|
+
message: str = Field(..., alias="message")
|
|
226
|
+
severity_level: SeverityLevel = Field(alias="severityLevel")
|
|
227
|
+
|
|
228
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
class EscalateActionApp(BaseModel):
|
|
232
|
+
"""Escalate action app model."""
|
|
233
|
+
|
|
234
|
+
id: Optional[str] = None
|
|
235
|
+
version: int
|
|
236
|
+
name: str
|
|
237
|
+
folder_id: Optional[str] = Field(None, alias="folderId")
|
|
238
|
+
folder_name: str = Field(alias="folderName")
|
|
239
|
+
app_process_key: Optional[str] = Field(None, alias="appProcessKey")
|
|
240
|
+
runtime: Optional[str] = None
|
|
241
|
+
|
|
242
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
class AgentEscalationRecipientType(str, Enum):
|
|
246
|
+
"""Enum for escalation recipient types."""
|
|
247
|
+
|
|
248
|
+
USER_ID = "UserId"
|
|
249
|
+
GROUP_ID = "GroupId"
|
|
250
|
+
USER_EMAIL = "UserEmail"
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
class AgentEscalationRecipient(BaseModel):
|
|
254
|
+
"""Recipient for escalation."""
|
|
255
|
+
|
|
256
|
+
type: Union[AgentEscalationRecipientType, str] = Field(..., alias="type")
|
|
257
|
+
value: str = Field(..., alias="value")
|
|
258
|
+
display_name: Optional[str] = Field(default=None, alias="displayName")
|
|
259
|
+
|
|
260
|
+
@field_validator("type", mode="before")
|
|
261
|
+
@classmethod
|
|
262
|
+
def normalize_type(cls, v: Any) -> str:
|
|
263
|
+
"""Normalize recipient type from int (1=UserId, 2=GroupId, 3=UserEmail) or string. Unknown integers are converted to string."""
|
|
264
|
+
if isinstance(v, int):
|
|
265
|
+
mapping = {
|
|
266
|
+
1: AgentEscalationRecipientType.USER_ID,
|
|
267
|
+
2: AgentEscalationRecipientType.GROUP_ID,
|
|
268
|
+
3: AgentEscalationRecipientType.USER_EMAIL,
|
|
269
|
+
}
|
|
270
|
+
return mapping.get(v, str(v))
|
|
271
|
+
return v
|
|
272
|
+
|
|
273
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
class EscalateAction(BaseModel):
|
|
277
|
+
"""Escalate action model."""
|
|
278
|
+
|
|
279
|
+
action_type: Literal["escalate"] = Field(alias="$actionType")
|
|
280
|
+
app: EscalateActionApp
|
|
281
|
+
recipient: AgentEscalationRecipient
|
|
282
|
+
|
|
283
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
GuardrailAction = Annotated[
|
|
287
|
+
Union[BlockAction, FilterAction, LogAction, EscalateAction],
|
|
288
|
+
Field(discriminator="action_type"),
|
|
289
|
+
]
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
class GuardrailScope(str, Enum):
|
|
293
|
+
"""Guardrail scope enumeration."""
|
|
294
|
+
|
|
295
|
+
AGENT = "Agent"
|
|
296
|
+
LLM = "Llm"
|
|
297
|
+
TOOL = "Tool"
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
class GuardrailSelector(BaseModel):
|
|
301
|
+
"""Guardrail selector model."""
|
|
302
|
+
|
|
303
|
+
scopes: List[GuardrailScope] = Field(default=[GuardrailScope.TOOL])
|
|
304
|
+
match_names: Optional[List[str]] = Field(None, alias="matchNames")
|
|
305
|
+
|
|
306
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
class BaseGuardrail(BaseModel):
|
|
310
|
+
"""Base guardrail model."""
|
|
311
|
+
|
|
312
|
+
id: str
|
|
313
|
+
name: str
|
|
314
|
+
description: Optional[str] = None
|
|
315
|
+
action: GuardrailAction
|
|
316
|
+
enabled_for_evals: bool = Field(True, alias="enabledForEvals")
|
|
317
|
+
selector: GuardrailSelector
|
|
318
|
+
|
|
319
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
class CustomGuardrail(BaseGuardrail):
|
|
323
|
+
"""Custom guardrail model."""
|
|
324
|
+
|
|
325
|
+
guardrail_type: Literal["custom"] = Field(alias="$guardrailType")
|
|
326
|
+
rules: List[Rule]
|
|
327
|
+
|
|
328
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
class BuiltInValidatorGuardrail(BaseGuardrail):
|
|
332
|
+
"""Built-in validator guardrail model."""
|
|
333
|
+
|
|
334
|
+
guardrail_type: Literal["builtInValidator"] = Field(alias="$guardrailType")
|
|
335
|
+
validator_type: str = Field(alias="validatorType")
|
|
336
|
+
validator_parameters: List[ValidatorParameter] = Field(
|
|
337
|
+
default_factory=list, alias="validatorParameters"
|
|
338
|
+
)
|
|
339
|
+
|
|
340
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
Guardrail = Annotated[
|
|
344
|
+
Union[CustomGuardrail, BuiltInValidatorGuardrail],
|
|
345
|
+
Field(discriminator="guardrail_type"),
|
|
346
|
+
]
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
class GuardrailType(str, Enum):
|
|
350
|
+
"""Guardrail type enumeration."""
|
|
351
|
+
|
|
352
|
+
BUILT_IN_VALIDATOR = "builtInValidator"
|
|
353
|
+
CUSTOM = "custom"
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
# Helper functions for type checking
|
|
357
|
+
def is_boolean_rule(rule: Rule) -> bool:
|
|
358
|
+
"""Check if rule is a BooleanRule."""
|
|
359
|
+
return hasattr(rule, "rule_type") and rule.rule_type == RuleType.BOOLEAN
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
def is_number_rule(rule: Rule) -> bool:
|
|
363
|
+
"""Check if rule is a NumberRule."""
|
|
364
|
+
return hasattr(rule, "rule_type") and rule.rule_type == RuleType.NUMBER
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
def is_universal_rule(rule: Rule) -> bool:
|
|
368
|
+
"""Check if rule is a UniversalRule."""
|
|
369
|
+
return hasattr(rule, "rule_type") and rule.rule_type == RuleType.UNIVERSAL
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
def is_word_rule(rule: Rule) -> bool:
|
|
373
|
+
"""Check if rule is a WordRule."""
|
|
374
|
+
return hasattr(rule, "rule_type") and rule.rule_type == RuleType.WORD
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
def is_custom_guardrail(guardrail: Guardrail) -> bool:
|
|
378
|
+
"""Check if guardrail is a CustomGuardrail."""
|
|
379
|
+
return (
|
|
380
|
+
hasattr(guardrail, "guardrail_type")
|
|
381
|
+
and guardrail.guardrail_type == GuardrailType.CUSTOM
|
|
382
|
+
)
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
def is_built_in_validator_guardrail(guardrail: Guardrail) -> bool:
|
|
386
|
+
"""Check if guardrail is a BuiltInValidatorGuardrail."""
|
|
387
|
+
return (
|
|
388
|
+
hasattr(guardrail, "guardrail_type")
|
|
389
|
+
and guardrail.guardrail_type == GuardrailType.BUILT_IN_VALIDATOR
|
|
390
|
+
)
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
def is_valid_action_type(value: Any) -> bool:
|
|
394
|
+
"""Check if value is a valid ActionType."""
|
|
395
|
+
return isinstance(value, str) and value.lower() in [
|
|
396
|
+
at.value.lower() for at in ActionType
|
|
397
|
+
]
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
def is_valid_severity_level(value: Any) -> bool:
|
|
401
|
+
"""Check if value is a valid SeverityLevel."""
|
|
402
|
+
return isinstance(value, str) and value in [sl.value for sl in SeverityLevel]
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
# Guardrail Models
|
|
406
|
+
class AgentGuardrailRuleParameter(BaseModel):
|
|
407
|
+
"""Parameter for guardrail rules."""
|
|
408
|
+
|
|
409
|
+
parameter_type: str = Field(..., alias="$parameterType")
|
|
410
|
+
parameter_type_alt: Optional[str] = Field(None, alias="parameterType")
|
|
411
|
+
value: Any = Field(..., description="Parameter value")
|
|
412
|
+
id: str = Field(..., description="Parameter identifier")
|
|
413
|
+
|
|
414
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
class AgentGuardrailRule(BaseModel):
|
|
418
|
+
"""Guardrail validation rule."""
|
|
419
|
+
|
|
420
|
+
rule_type: str = Field(..., alias="$ruleType")
|
|
421
|
+
rule_type_alt: Optional[str] = Field(None, alias="ruleType")
|
|
422
|
+
validator: str = Field(..., description="Validator type")
|
|
423
|
+
parameters: List[AgentGuardrailRuleParameter] = Field(
|
|
424
|
+
default_factory=list, description="Rule parameters"
|
|
425
|
+
)
|
|
426
|
+
|
|
427
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
class AgentGuardrailActionApp(BaseModel):
|
|
431
|
+
"""App configuration for guardrail actions."""
|
|
432
|
+
|
|
433
|
+
name: str = Field(..., description="App name")
|
|
434
|
+
version: str = Field(..., description="App version")
|
|
435
|
+
folder_name: str = Field(..., alias="folderName", description="Folder name")
|
|
436
|
+
|
|
437
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
class AgentGuardrailActionRecipient(BaseModel):
|
|
441
|
+
"""Recipient for guardrail actions."""
|
|
442
|
+
|
|
443
|
+
type: int = Field(..., description="Recipient type")
|
|
444
|
+
value: str = Field(..., description="Recipient identifier")
|
|
445
|
+
display_name: str = Field(..., alias="displayName", description="Display name")
|
|
446
|
+
|
|
447
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
class AgentGuardrailAction(BaseModel):
|
|
451
|
+
"""Action configuration for guardrails."""
|
|
452
|
+
|
|
453
|
+
action_type: str = Field(..., alias="$actionType")
|
|
454
|
+
action_type_alt: Optional[str] = Field(None, alias="actionType")
|
|
455
|
+
app: AgentGuardrailActionApp = Field(..., description="App configuration")
|
|
456
|
+
recipient: AgentGuardrailActionRecipient = Field(..., description="Recipient")
|
|
457
|
+
|
|
458
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
class AgentGuardrailSelector(BaseModel):
|
|
462
|
+
"""Selector for guardrail application scope."""
|
|
463
|
+
|
|
464
|
+
scopes: List[str] = Field(..., description="Scopes where guardrail applies")
|
|
465
|
+
match_names: List[str] = Field(
|
|
466
|
+
..., alias="matchNames", description="Names to match"
|
|
467
|
+
)
|
|
468
|
+
|
|
469
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.101
|
|
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,22 +2,22 @@ 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=fZfofFWw8JurY940j9qVuV6EQttCRZe_XvWCyC9oCns,4918
|
|
6
6
|
uipath/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
uipath/_cli/README.md,sha256=GLtCfbeIKZKNnGTCsfSVqRQ27V1btT1i2bSAyW_xZl4,474
|
|
8
|
-
uipath/_cli/__init__.py,sha256=
|
|
8
|
+
uipath/_cli/__init__.py,sha256=RZtYzThMGEKEwmiUwwm6TUU5KxDpfTuez2qSFD78J8w,2345
|
|
9
9
|
uipath/_cli/cli_auth.py,sha256=CzetSRqSUvMs02PtI4w5Vi_0fv_ETA307bB2vXalWzY,2628
|
|
10
10
|
uipath/_cli/cli_debug.py,sha256=-s6Nmy0DnDyITjZAf6f71hZ1YDDt0Yl57XklEkuL0FU,4068
|
|
11
11
|
uipath/_cli/cli_deploy.py,sha256=KPCmQ0c_NYD5JofSDao5r6QYxHshVCRxlWDVnQvlp5w,645
|
|
12
12
|
uipath/_cli/cli_dev.py,sha256=nEfpjw1PZ72O6jmufYWVrueVwihFxDPOeJakdvNHdOA,2146
|
|
13
13
|
uipath/_cli/cli_eval.py,sha256=6evrUtaHnQ1NTEQKZKltgH7mpYOy6YP88L2LZcnnnfs,5139
|
|
14
|
-
uipath/_cli/cli_init.py,sha256=
|
|
14
|
+
uipath/_cli/cli_init.py,sha256=hAPMV_0HGZD0cDh7KqHDwMRlUfLoJl2NCp4T3Ilw8y0,7487
|
|
15
15
|
uipath/_cli/cli_invoke.py,sha256=m-te-EjhDpk_fhFDkt-yQFzmjEHGo5lQDGEQWxSXisQ,4395
|
|
16
16
|
uipath/_cli/cli_new.py,sha256=9378NYUBc9j-qKVXV7oja-jahfJhXBg8zKVyaon7ctY,2102
|
|
17
17
|
uipath/_cli/cli_pack.py,sha256=U5rXVbUnHFgdEsXyhkjmWza8dfob1wU9lyl4yrYnUss,11076
|
|
18
18
|
uipath/_cli/cli_publish.py,sha256=DgyfcZjvfV05Ldy0Pk5y_Le_nT9JduEE_x-VpIc_Kq0,6471
|
|
19
|
-
uipath/_cli/cli_pull.py,sha256=
|
|
20
|
-
uipath/_cli/cli_push.py,sha256=
|
|
19
|
+
uipath/_cli/cli_pull.py,sha256=v0iL12Z0NGE2yZ_Ff1U1jEgOnbIGJatI63KhZRIVflg,2681
|
|
20
|
+
uipath/_cli/cli_push.py,sha256=cwKUr30VTvb2jhGY9LPpPpILj2URMuEIl8ven6tCRFo,3727
|
|
21
21
|
uipath/_cli/cli_run.py,sha256=4XEvJQEcFafDLJHbgd94cuYxeioprNFe1qwL7JeAplg,3789
|
|
22
22
|
uipath/_cli/middlewares.py,sha256=tb0c4sU1SCYi0PNs956Qmk24NDk0C0mBfVQmTcyORE0,5000
|
|
23
23
|
uipath/_cli/spinner.py,sha256=bS-U_HA5yne11ejUERu7CQoXmWdabUD2bm62EfEdV8M,1107
|
|
@@ -65,7 +65,7 @@ uipath/_cli/_evals/mocks/mocker.py,sha256=VXCxuRAPqUK40kRUXpPmXZRckd7GrOY5ZzIYDe
|
|
|
65
65
|
uipath/_cli/_evals/mocks/mocker_factory.py,sha256=V5QKSTtQxztTo4-fK1TyAaXw2Z3mHf2UC5mXqwuUGTs,811
|
|
66
66
|
uipath/_cli/_evals/mocks/mockito_mocker.py,sha256=AO2BmFwA6hz3Lte-STVr7aJDPvMCqKNKa4j2jeNZ_U4,2677
|
|
67
67
|
uipath/_cli/_evals/mocks/mocks.py,sha256=HY0IaSqqO8hioBB3rp5XwAjSpQE4K5hoH6oJQ-sH72I,2207
|
|
68
|
-
uipath/_cli/_push/sw_file_handler.py,sha256=
|
|
68
|
+
uipath/_cli/_push/sw_file_handler.py,sha256=DrGOpX7-dodrROh7YcjHlCBUuOEdVMh8o0550TL-ZYA,22520
|
|
69
69
|
uipath/_cli/_runtime/_contracts.py,sha256=WqHEMBo5jM5a-yV-KD0FeOkei4M3qq-hQwza2hCe9Rk,34318
|
|
70
70
|
uipath/_cli/_runtime/_escalation.py,sha256=x3vI98qsfRA-fL_tNkRVTFXioM5Gv2w0GFcXJJ5eQtg,7981
|
|
71
71
|
uipath/_cli/_runtime/_hitl.py,sha256=VKbM021nVg1HEDnTfucSLJ0LsDn83CKyUtVzofS2qTU,11369
|
|
@@ -87,7 +87,7 @@ uipath/_cli/_utils/_folders.py,sha256=RsYrXzF0NA1sPxgBoLkLlUY3jDNLg1V-Y8j71Q8a8H
|
|
|
87
87
|
uipath/_cli/_utils/_input_args.py,sha256=AnbQ12D2ACIQFt0QHMaWleRn1ZgRTXuTSTN0ozJiSQg,5766
|
|
88
88
|
uipath/_cli/_utils/_parse_ast.py,sha256=24YL28qK5Ss2O26IlzZ2FgEC_ZazXld_u3vkj8zVxGA,20933
|
|
89
89
|
uipath/_cli/_utils/_processes.py,sha256=q7DfEKHISDWf3pngci5za_z0Pbnf_shWiYEcTOTCiyk,1855
|
|
90
|
-
uipath/_cli/_utils/_project_files.py,sha256=
|
|
90
|
+
uipath/_cli/_utils/_project_files.py,sha256=i3F94aYekpM7PHVC3FrC1-lRBw-Tpe9XihN7pjCUkys,21812
|
|
91
91
|
uipath/_cli/_utils/_studio_project.py,sha256=dlmL5fgfCJzlBffGqAyaxLW50Gzc8SvIsMx-dDFauqs,17782
|
|
92
92
|
uipath/_cli/_utils/_tracing.py,sha256=2igb03j3EHjF_A406UhtCKkPfudVfFPjUq5tXUEG4oo,1541
|
|
93
93
|
uipath/_cli/_utils/_uv_helpers.py,sha256=6SvoLnZPoKIxW0sjMvD1-ENV_HOXDYzH34GjBqwT138,3450
|
|
@@ -122,7 +122,7 @@ uipath/_utils/__init__.py,sha256=VdcpnENJIa0R6Y26NoxY64-wUVyvb4pKfTh1wXDQeMk,526
|
|
|
122
122
|
uipath/_utils/_auth.py,sha256=5R30ALuRrIatf_0Lk-AETJvt6ora7h0R7yeDdliW1Lg,2524
|
|
123
123
|
uipath/_utils/_endpoint.py,sha256=yYHwqbQuJIevpaTkdfYJS9CrtlFeEyfb5JQK5osTCog,2489
|
|
124
124
|
uipath/_utils/_infer_bindings.py,sha256=eCxfUjd37fOFZ6vOfKl2BhWVUt7iSSJ-VQ0-nDTBcaA,1836
|
|
125
|
-
uipath/_utils/_logs.py,sha256=
|
|
125
|
+
uipath/_utils/_logs.py,sha256=QNo2YnUT1ANFHNEzYWv6PzX11438HPjo9MweQYS9UnU,408
|
|
126
126
|
uipath/_utils/_read_overwrites.py,sha256=OQgG9ycPpFnLub5ELQdX9V2Fyh6F9_zDR3xoYagJaMI,5287
|
|
127
127
|
uipath/_utils/_request_override.py,sha256=fIVHzgHVXITUlWcp8osNBwIafM1qm4_ejx0ng5UzfJ4,573
|
|
128
128
|
uipath/_utils/_request_spec.py,sha256=iCtBLqtbWUpFG5g1wtIZBzSupKsfaRLiQFoFc_4B70Q,747
|
|
@@ -130,7 +130,7 @@ uipath/_utils/_ssl_context.py,sha256=xSYitos0eJc9cPHzNtHISX9PBvL6D2vas5G_GiBdLp8
|
|
|
130
130
|
uipath/_utils/_url.py,sha256=-4eluSrIZCUlnQ3qU17WPJkgaC2KwF9W5NeqGnTNGGo,2512
|
|
131
131
|
uipath/_utils/_user_agent.py,sha256=pVJkFYacGwaQBomfwWVAvBQgdBUo62e4n3-fLIajWUU,563
|
|
132
132
|
uipath/_utils/constants.py,sha256=2xLT-1aW0aJS2USeZbK-7zRgyyi1bgV60L0rtQOUqOM,1721
|
|
133
|
-
uipath/agent/_utils.py,sha256=
|
|
133
|
+
uipath/agent/_utils.py,sha256=OwSwpTxhZSAeyofasWwckE07qfMDCHuk8bX6A_ZXDbo,5287
|
|
134
134
|
uipath/agent/conversation/__init__.py,sha256=5hK-Iz131mnd9m6ANnpZZffxXZLVFDQ9GTg5z9ik1oQ,5265
|
|
135
135
|
uipath/agent/conversation/async_stream.py,sha256=BA_8uU1DgE3VpU2KkJj0rkI3bAHLk_ZJKsajR0ipMpo,2055
|
|
136
136
|
uipath/agent/conversation/citation.py,sha256=42dGv-wiYx3Lt7MPuPCFTkjAlSADFSzjyNXuZHdxqvo,2253
|
|
@@ -144,7 +144,7 @@ uipath/agent/conversation/tool.py,sha256=ol8XI8AVd-QNn5auXNBPcCzOkh9PPFtL7hTK3kq
|
|
|
144
144
|
uipath/agent/loop/__init__.py,sha256=EZlNqrh8xod0VtTJqc-1pyUofaeS6PKjbsDfWoveVtI,424
|
|
145
145
|
uipath/agent/loop/prompts.py,sha256=qPwyd6Ple2m-Kt0m2foa6ZEmxD3kyCXOmGfXvzHi8Rc,3372
|
|
146
146
|
uipath/agent/loop/tools.py,sha256=OsT3x431KqOEzLi2jLxy2B9xXbcFq16xMfmyAqFaqZQ,1351
|
|
147
|
-
uipath/agent/models/agent.py,sha256=
|
|
147
|
+
uipath/agent/models/agent.py,sha256=o_nkrFtZFQdSNMK5NH9rCo346ABZcQLfW5h2Wv9yUhg,17791
|
|
148
148
|
uipath/agent/models/evals.py,sha256=QMIqwCuwabD_vYF0KgJpip5BV0pFLf9ZKUd9AL5eU2w,1843
|
|
149
149
|
uipath/eval/_helpers/__init__.py,sha256=GSmZMryjuO3Wo_zdxZdrHCRRsgOxsVFYkYgJ15YNC3E,86
|
|
150
150
|
uipath/eval/_helpers/helpers.py,sha256=iE2HHdMiAdAMLqxHkPKHpfecEtAuN5BTBqvKFTI8ciE,1315
|
|
@@ -172,7 +172,8 @@ uipath/models/context_grounding_index.py,sha256=OhRyxZDHDSrEmBFK0-JLqMMMT64jir4X
|
|
|
172
172
|
uipath/models/documents.py,sha256=g3xAhZlGcLuD6a_DHcUQWoLdzh5dENulouYAwrjGHEw,3963
|
|
173
173
|
uipath/models/entities.py,sha256=x6jbq4o_QhgL_pCgvHFsp9O8l333kQhn8e9ZCBs72UM,9823
|
|
174
174
|
uipath/models/errors.py,sha256=WCxxHBlLzLF17YxjqsFkkyBLwEQM_dc6fFU5qmBjD4A,597
|
|
175
|
-
uipath/models/exceptions.py,sha256=
|
|
175
|
+
uipath/models/exceptions.py,sha256=f71VsUyonK2uuH1Cs0tpP6f9dec6v6cffL1Z9EjTxm0,1870
|
|
176
|
+
uipath/models/guardrails.py,sha256=3LQf8CJj1ipnUqdUJuDenC4MS8o9GlWj_AsS2naP_tM,12976
|
|
176
177
|
uipath/models/interrupt_models.py,sha256=UzuVTMVesI204YQ4qFQFaN-gN3kksddkrujofcaC7zQ,881
|
|
177
178
|
uipath/models/job.py,sha256=h1S-ErUk4-oIdrxo4nEBEJdSv1NTTF4AF8LfXx5Exak,3063
|
|
178
179
|
uipath/models/llm_gateway.py,sha256=rUIus7BrUuuRriXqSJUE9FnjOyQ7pYpaX6hWEYvA6AA,1923
|
|
@@ -188,8 +189,8 @@ uipath/tracing/_utils.py,sha256=X-LFsyIxDeNOGuHPvkb6T5o9Y8ElYhr_rP3CEBJSu4s,1383
|
|
|
188
189
|
uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
|
|
189
190
|
uipath/utils/_endpoints_manager.py,sha256=tnF_FiCx8qI2XaJDQgYkMN_gl9V0VqNR1uX7iawuLp8,8230
|
|
190
191
|
uipath/utils/dynamic_schema.py,sha256=w0u_54MoeIAB-mf3GmwX1A_X8_HDrRy6p998PvX9evY,3839
|
|
191
|
-
uipath-2.1.
|
|
192
|
-
uipath-2.1.
|
|
193
|
-
uipath-2.1.
|
|
194
|
-
uipath-2.1.
|
|
195
|
-
uipath-2.1.
|
|
192
|
+
uipath-2.1.101.dist-info/METADATA,sha256=sAfz81Fb7m1qDTK7fBG_T10L_uR_YQETQFI_WFFG9gk,6626
|
|
193
|
+
uipath-2.1.101.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
194
|
+
uipath-2.1.101.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
|
|
195
|
+
uipath-2.1.101.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
|
|
196
|
+
uipath-2.1.101.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|