uipath 2.1.36__py3-none-any.whl → 2.1.37__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/_dev/_terminal/__init__.py +70 -31
- uipath/_cli/_dev/_terminal/_components/_chat.py +98 -0
- uipath/_cli/_dev/_terminal/_components/_details.py +28 -15
- uipath/_cli/_dev/_terminal/_components/_history.py +16 -0
- uipath/_cli/_dev/_terminal/_models/_execution.py +16 -3
- uipath/_cli/_dev/_terminal/_models/_messages.py +3 -2
- uipath/_cli/_dev/_terminal/_styles/terminal.tcss +29 -2
- uipath/_cli/_dev/_terminal/_utils/_chat.py +238 -0
- uipath/_cli/_dev/_terminal/{_traces → _utils}/_logger.py +3 -3
- uipath/_cli/_runtime/_contracts.py +14 -0
- uipath/_cli/cli_dev.py +31 -7
- uipath/_cli/cli_init.py +3 -1
- uipath/agent/conversation/__init__.py +135 -0
- uipath/agent/conversation/async_stream.py +54 -0
- uipath/agent/conversation/citation.py +70 -0
- uipath/agent/conversation/content.py +81 -0
- uipath/agent/conversation/conversation.py +49 -0
- uipath/agent/conversation/event.py +56 -0
- uipath/agent/conversation/exchange.py +61 -0
- uipath/agent/conversation/message.py +59 -0
- uipath/agent/conversation/meta.py +11 -0
- uipath/agent/conversation/tool.py +64 -0
- {uipath-2.1.36.dist-info → uipath-2.1.37.dist-info}/METADATA +2 -1
- {uipath-2.1.36.dist-info → uipath-2.1.37.dist-info}/RECORD +28 -17
- uipath/_cli/_dev/_terminal/_components/_resume.py +0 -35
- /uipath/_cli/_dev/_terminal/{_traces → _utils}/_exporter.py +0 -0
- {uipath-2.1.36.dist-info → uipath-2.1.37.dist-info}/WHEEL +0 -0
- {uipath-2.1.36.dist-info → uipath-2.1.37.dist-info}/entry_points.txt +0 -0
- {uipath-2.1.36.dist-info → uipath-2.1.37.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,81 @@
|
|
1
|
+
"""Message content part events."""
|
2
|
+
|
3
|
+
from typing import Any, Dict, List, Optional, Union
|
4
|
+
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
6
|
+
|
7
|
+
from .citation import UiPathConversationCitation, UiPathConversationCitationEvent
|
8
|
+
|
9
|
+
|
10
|
+
class UiPathConversationContentPartChunkEvent(BaseModel):
|
11
|
+
"""Contains a chunk of a message content part."""
|
12
|
+
|
13
|
+
content_part_sequence: Optional[int] = Field(None, alias="contentPartSequence")
|
14
|
+
data: Optional[str] = None
|
15
|
+
citation: Optional[UiPathConversationCitationEvent] = None
|
16
|
+
|
17
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
18
|
+
|
19
|
+
|
20
|
+
class UiPathConversationContentPartStartEvent(BaseModel):
|
21
|
+
"""Signals the start of a message content part."""
|
22
|
+
|
23
|
+
mime_type: str = Field(..., alias="mimeType")
|
24
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
25
|
+
|
26
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
27
|
+
|
28
|
+
|
29
|
+
class UiPathConversationContentPartEndEvent(BaseModel):
|
30
|
+
"""Signals the end of a message content part."""
|
31
|
+
|
32
|
+
last_chunk_content_part_sequence: Optional[int] = Field(
|
33
|
+
None, alias="lastChunkContentPartSequence"
|
34
|
+
)
|
35
|
+
interrupted: Optional[Dict[str, Any]] = None
|
36
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
37
|
+
|
38
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
39
|
+
|
40
|
+
|
41
|
+
class UiPathConversationContentPartEvent(BaseModel):
|
42
|
+
"""Encapsulates events related to message content parts."""
|
43
|
+
|
44
|
+
content_part_id: str = Field(..., alias="contentPartId")
|
45
|
+
start: Optional[UiPathConversationContentPartStartEvent] = None
|
46
|
+
end: Optional[UiPathConversationContentPartEndEvent] = None
|
47
|
+
chunk: Optional[UiPathConversationContentPartChunkEvent] = None
|
48
|
+
meta_event: Optional[Dict[str, Any]] = Field(None, alias="metaEvent")
|
49
|
+
|
50
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
51
|
+
|
52
|
+
|
53
|
+
class UiPathInlineValue(BaseModel):
|
54
|
+
"""Used when a value is small enough to be returned inline."""
|
55
|
+
|
56
|
+
inline: Any
|
57
|
+
|
58
|
+
|
59
|
+
class UiPathExternalValue(BaseModel):
|
60
|
+
"""Used when a value is too large to be returned inline."""
|
61
|
+
|
62
|
+
url: str
|
63
|
+
byte_count: Optional[int] = Field(None, alias="byteCount")
|
64
|
+
|
65
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
66
|
+
|
67
|
+
|
68
|
+
InlineOrExternal = Union[UiPathInlineValue, UiPathExternalValue]
|
69
|
+
|
70
|
+
|
71
|
+
class UiPathConversationContentPart(BaseModel):
|
72
|
+
"""Represents a single part of message content."""
|
73
|
+
|
74
|
+
content_part_id: str = Field(..., alias="contentPartId")
|
75
|
+
mime_type: str = Field(..., alias="mimeType")
|
76
|
+
data: InlineOrExternal
|
77
|
+
citations: Optional[List[UiPathConversationCitation]] = None
|
78
|
+
is_transcript: Optional[bool] = Field(None, alias="isTranscript")
|
79
|
+
is_incomplete: Optional[bool] = Field(None, alias="isIncomplete")
|
80
|
+
|
81
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"""Conversation-level events and capabilities."""
|
2
|
+
|
3
|
+
from typing import Any, Dict, List, Optional
|
4
|
+
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
6
|
+
|
7
|
+
|
8
|
+
class UiPathConversationCapabilities(BaseModel):
|
9
|
+
"""Describes the capabilities of a conversation participant."""
|
10
|
+
|
11
|
+
async_input_stream_emitter: Optional[bool] = Field(
|
12
|
+
None, alias="asyncInputStreamEmitter"
|
13
|
+
)
|
14
|
+
async_input_stream_handler: Optional[bool] = Field(
|
15
|
+
None, alias="asyncInputStreamHandler"
|
16
|
+
)
|
17
|
+
async_tool_call_emitter: Optional[bool] = Field(None, alias="asyncToolCallEmitter")
|
18
|
+
async_tool_call_handler: Optional[bool] = Field(None, alias="asyncToolCallHandler")
|
19
|
+
mime_types_emitted: Optional[List[str]] = Field(None, alias="mimeTypesEmitted")
|
20
|
+
mime_types_handled: Optional[List[str]] = Field(None, alias="mimeTypesHandled")
|
21
|
+
|
22
|
+
model_config = ConfigDict(
|
23
|
+
validate_by_name=True, validate_by_alias=True, extra="allow"
|
24
|
+
)
|
25
|
+
|
26
|
+
|
27
|
+
class UiPathConversationStartEvent(BaseModel):
|
28
|
+
"""Signals the start of a conversation event stream."""
|
29
|
+
|
30
|
+
capabilities: Optional[UiPathConversationCapabilities] = None
|
31
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
32
|
+
|
33
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
34
|
+
|
35
|
+
|
36
|
+
class UiPathConversationStartedEvent(BaseModel):
|
37
|
+
"""Signals the acceptance of the start of a conversation."""
|
38
|
+
|
39
|
+
capabilities: Optional[UiPathConversationCapabilities] = None
|
40
|
+
|
41
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
42
|
+
|
43
|
+
|
44
|
+
class UiPathConversationEndEvent(BaseModel):
|
45
|
+
"""Signals the end of a conversation event stream."""
|
46
|
+
|
47
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
48
|
+
|
49
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"""The top-level event type representing an event in a conversation.
|
2
|
+
|
3
|
+
This is the root container for all other event subtypes (conversation start,
|
4
|
+
exchanges, messages, content, citations, tool calls, and async streams).
|
5
|
+
"""
|
6
|
+
|
7
|
+
from typing import Optional
|
8
|
+
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
10
|
+
|
11
|
+
from .async_stream import UiPathConversationAsyncInputStreamEvent
|
12
|
+
from .conversation import (
|
13
|
+
UiPathConversationEndEvent,
|
14
|
+
UiPathConversationStartedEvent,
|
15
|
+
UiPathConversationStartEvent,
|
16
|
+
)
|
17
|
+
from .exchange import UiPathConversationExchangeEvent
|
18
|
+
from .meta import UiPathConversationMetaEvent
|
19
|
+
from .tool import UiPathConversationToolCallEvent
|
20
|
+
|
21
|
+
|
22
|
+
class UiPathConversationEvent(BaseModel):
|
23
|
+
"""The top-level event type representing an event in a conversation.
|
24
|
+
|
25
|
+
This is the root container for all other event subtypes (conversation start,
|
26
|
+
exchanges, messages, content, citations, tool calls, and async streams).
|
27
|
+
"""
|
28
|
+
|
29
|
+
"""A globally unique identifier for conversation to which the other sub-event and data properties apply."""
|
30
|
+
conversation_id: str = Field(..., alias="conversationId")
|
31
|
+
"""Signals the start of an event stream concerning a conversation. This event does NOT necessarily mean this is a
|
32
|
+
brand new conversation. It may be a continuation of an existing conversation.
|
33
|
+
"""
|
34
|
+
start: Optional[UiPathConversationStartEvent] = None
|
35
|
+
"""Signals the acceptance of the start of a conversation."""
|
36
|
+
started: Optional[UiPathConversationStartedEvent] = None
|
37
|
+
"""Signals the end of a conversation event stream. This does NOT mean the conversation is over. A new event stream for
|
38
|
+
the conversation could be started in the future.
|
39
|
+
"""
|
40
|
+
end: Optional[UiPathConversationEndEvent] = None
|
41
|
+
"""Encapsulates sub-events related to an exchange within a conversation."""
|
42
|
+
exchange: Optional[UiPathConversationExchangeEvent] = None
|
43
|
+
"""Encapsulates sub-events related to an asynchronous input stream."""
|
44
|
+
async_input_stream: Optional[UiPathConversationAsyncInputStreamEvent] = Field(
|
45
|
+
None, alias="asyncInputStream"
|
46
|
+
)
|
47
|
+
"""Optional async tool call sub-event. This feature is not supported by all LLMs. Most tool calls are scoped to a
|
48
|
+
message, and use the toolCall and toolResult properties defined by the ConversationMessage type.
|
49
|
+
"""
|
50
|
+
async_tool_call: Optional[UiPathConversationToolCallEvent] = Field(
|
51
|
+
None, alias="asyncToolCall"
|
52
|
+
)
|
53
|
+
"""Allows additional events to be sent in the context of the enclosing event stream."""
|
54
|
+
meta_event: Optional[UiPathConversationMetaEvent] = Field(None, alias="metaEvent")
|
55
|
+
|
56
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"""Exchange-level events.
|
2
|
+
|
3
|
+
Characteristics of an Exchange:
|
4
|
+
It groups together messages that belong to the same turn of conversation.
|
5
|
+
|
6
|
+
Example:
|
7
|
+
User says something → one message inside the exchange.
|
8
|
+
LLM responds → one or more messages in the same exchange.
|
9
|
+
|
10
|
+
Each exchange has:
|
11
|
+
A start event (signals the beginning of the turn).
|
12
|
+
An end event (signals the end of the turn).
|
13
|
+
Messages that happened in between.
|
14
|
+
|
15
|
+
An exchange can include multiple messages (e.g. LLM streaming several outputs, or user message + assistant + tool outputs).
|
16
|
+
Exchanges are ordered within a conversation via conversation_sequence.
|
17
|
+
"""
|
18
|
+
|
19
|
+
from typing import Any, Dict, List, Optional
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field
|
22
|
+
|
23
|
+
from .message import UiPathConversationMessage, UiPathConversationMessageEvent
|
24
|
+
|
25
|
+
|
26
|
+
class UiPathConversationExchangeStartEvent(BaseModel):
|
27
|
+
"""Signals the start of an exchange of messages within a conversation."""
|
28
|
+
|
29
|
+
conversation_sequence: Optional[int] = Field(None, alias="conversationSequence")
|
30
|
+
metadata: Optional[Dict[str, Any]] = None
|
31
|
+
|
32
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
33
|
+
|
34
|
+
|
35
|
+
class UiPathConversationExchangeEndEvent(BaseModel):
|
36
|
+
"""Signals the end of an exchange of messages within a conversation."""
|
37
|
+
|
38
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
39
|
+
|
40
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
41
|
+
|
42
|
+
|
43
|
+
class UiPathConversationExchangeEvent(BaseModel):
|
44
|
+
"""Encapsulates a single exchange in the conversation."""
|
45
|
+
|
46
|
+
exchange_id: str = Field(..., alias="exchangeId")
|
47
|
+
start: Optional[UiPathConversationExchangeStartEvent] = None
|
48
|
+
end: Optional[UiPathConversationExchangeEndEvent] = None
|
49
|
+
message: Optional[UiPathConversationMessageEvent] = None
|
50
|
+
meta_event: Optional[Dict[str, Any]] = Field(None, alias="metaEvent")
|
51
|
+
|
52
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
53
|
+
|
54
|
+
|
55
|
+
class UiPathConversationExchange(BaseModel):
|
56
|
+
"""Represents a group of related messages (one turn of conversation)."""
|
57
|
+
|
58
|
+
exchange_id: str = Field(..., alias="exchangeId")
|
59
|
+
messages: List[UiPathConversationMessage]
|
60
|
+
|
61
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"""Message-level events."""
|
2
|
+
|
3
|
+
from typing import Any, Dict, List, Optional
|
4
|
+
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
6
|
+
|
7
|
+
from .content import UiPathConversationContentPart, UiPathConversationContentPartEvent
|
8
|
+
from .tool import UiPathConversationToolCall, UiPathConversationToolCallEvent
|
9
|
+
|
10
|
+
|
11
|
+
class UiPathConversationMessageStartEvent(BaseModel):
|
12
|
+
"""Signals the start of a message within an exchange."""
|
13
|
+
|
14
|
+
exchange_sequence: Optional[int] = Field(None, alias="exchangeSequence")
|
15
|
+
timestamp: Optional[str] = None
|
16
|
+
role: str
|
17
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
18
|
+
|
19
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
20
|
+
|
21
|
+
|
22
|
+
class UiPathConversationMessageEndEvent(BaseModel):
|
23
|
+
"""Signals the end of a message."""
|
24
|
+
|
25
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
26
|
+
|
27
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
28
|
+
|
29
|
+
|
30
|
+
class UiPathConversationMessageEvent(BaseModel):
|
31
|
+
"""Encapsulates sub-events related to a message."""
|
32
|
+
|
33
|
+
message_id: str = Field(..., alias="messageId")
|
34
|
+
start: Optional[UiPathConversationMessageStartEvent] = None
|
35
|
+
end: Optional[UiPathConversationMessageEndEvent] = None
|
36
|
+
content_part: Optional[UiPathConversationContentPartEvent] = Field(
|
37
|
+
None, alias="contentPart"
|
38
|
+
)
|
39
|
+
tool_call: Optional[UiPathConversationToolCallEvent] = Field(None, alias="toolCall")
|
40
|
+
meta_event: Optional[Dict[str, Any]] = Field(None, alias="metaEvent")
|
41
|
+
|
42
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
43
|
+
|
44
|
+
|
45
|
+
class UiPathConversationMessage(BaseModel):
|
46
|
+
"""Represents a single message within an exchange."""
|
47
|
+
|
48
|
+
message_id: str = Field(..., alias="messageId")
|
49
|
+
role: str
|
50
|
+
content_parts: Optional[List[UiPathConversationContentPart]] = Field(
|
51
|
+
None, alias="contentParts"
|
52
|
+
)
|
53
|
+
tool_calls: Optional[List[UiPathConversationToolCall]] = Field(
|
54
|
+
None, alias="toolCalls"
|
55
|
+
)
|
56
|
+
created_at: str = Field(..., alias="createdAt")
|
57
|
+
updated_at: str = Field(..., alias="updatedAt")
|
58
|
+
|
59
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"""Meta events allow additional extensible data."""
|
2
|
+
|
3
|
+
from pydantic import BaseModel, ConfigDict
|
4
|
+
|
5
|
+
|
6
|
+
class UiPathConversationMetaEvent(BaseModel):
|
7
|
+
"""Arbitrary metadata events in the conversation schema."""
|
8
|
+
|
9
|
+
model_config = ConfigDict(
|
10
|
+
validate_by_name=True, validate_by_alias=True, extra="allow"
|
11
|
+
)
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"""Tool call events."""
|
2
|
+
|
3
|
+
from typing import Any, Dict, Optional
|
4
|
+
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
6
|
+
|
7
|
+
from .content import InlineOrExternal
|
8
|
+
|
9
|
+
|
10
|
+
class UiPathConversationToolCallResult(BaseModel):
|
11
|
+
"""Represents the result of a tool call execution."""
|
12
|
+
|
13
|
+
timestamp: Optional[str] = None
|
14
|
+
value: Optional[InlineOrExternal] = None
|
15
|
+
is_error: Optional[bool] = Field(None, alias="isError")
|
16
|
+
cancelled: Optional[bool] = None
|
17
|
+
|
18
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
19
|
+
|
20
|
+
|
21
|
+
class UiPathConversationToolCall(BaseModel):
|
22
|
+
"""Represents a call to an external tool or function within a message."""
|
23
|
+
|
24
|
+
tool_call_id: str = Field(..., alias="toolCallId")
|
25
|
+
name: str
|
26
|
+
arguments: Optional[InlineOrExternal] = None
|
27
|
+
timestamp: Optional[str] = None
|
28
|
+
result: Optional[UiPathConversationToolCallResult] = None
|
29
|
+
|
30
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
31
|
+
|
32
|
+
|
33
|
+
class UiPathConversationToolCallStartEvent(BaseModel):
|
34
|
+
"""Signals the start of a tool call."""
|
35
|
+
|
36
|
+
tool_name: str = Field(..., alias="toolName")
|
37
|
+
timestamp: Optional[str] = None
|
38
|
+
arguments: Optional[InlineOrExternal] = None
|
39
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
40
|
+
|
41
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
42
|
+
|
43
|
+
|
44
|
+
class UiPathConversationToolCallEndEvent(BaseModel):
|
45
|
+
"""Signals the end of a tool call."""
|
46
|
+
|
47
|
+
timestamp: Optional[str] = None
|
48
|
+
result: Optional[Any] = None
|
49
|
+
is_error: Optional[bool] = Field(None, alias="isError")
|
50
|
+
cancelled: Optional[bool] = None
|
51
|
+
meta_data: Optional[Dict[str, Any]] = Field(None, alias="metaData")
|
52
|
+
|
53
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
54
|
+
|
55
|
+
|
56
|
+
class UiPathConversationToolCallEvent(BaseModel):
|
57
|
+
"""Encapsulates the data related to a tool call event."""
|
58
|
+
|
59
|
+
tool_call_id: str = Field(..., alias="toolCallId")
|
60
|
+
start: Optional[UiPathConversationToolCallStartEvent] = None
|
61
|
+
end: Optional[UiPathConversationToolCallEndEvent] = None
|
62
|
+
meta_event: Optional[Dict[str, Any]] = Field(None, alias="metaEvent")
|
63
|
+
|
64
|
+
model_config = ConfigDict(validate_by_name=True, validate_by_alias=True)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: uipath
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.37
|
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
|
@@ -21,6 +21,7 @@ Requires-Dist: opentelemetry-instrumentation>=0.52b1
|
|
21
21
|
Requires-Dist: opentelemetry-sdk>=1.31.1
|
22
22
|
Requires-Dist: pathlib>=1.0.1
|
23
23
|
Requires-Dist: pydantic>=2.11.1
|
24
|
+
Requires-Dist: pyperclip>=1.9.0
|
24
25
|
Requires-Dist: python-dotenv>=1.0.1
|
25
26
|
Requires-Dist: rich>=13.0.0
|
26
27
|
Requires-Dist: tenacity>=9.0.0
|
@@ -8,9 +8,9 @@ uipath/_cli/README.md,sha256=GLtCfbeIKZKNnGTCsfSVqRQ27V1btT1i2bSAyW_xZl4,474
|
|
8
8
|
uipath/_cli/__init__.py,sha256=kf4GINkunFGMZkTk2Z4f1Q3-OsxpNnV6u_9BsBt1i0E,2229
|
9
9
|
uipath/_cli/cli_auth.py,sha256=SfE3wiQZ00f_iv4NQfRpLqV4KVnkUhq8J-a7reg247A,7773
|
10
10
|
uipath/_cli/cli_deploy.py,sha256=KPCmQ0c_NYD5JofSDao5r6QYxHshVCRxlWDVnQvlp5w,645
|
11
|
-
uipath/_cli/cli_dev.py,sha256=
|
11
|
+
uipath/_cli/cli_dev.py,sha256=JRzXrAUM_sj6FCVG-VveYADTwR8yQ330SgYs3LgbvJc,2104
|
12
12
|
uipath/_cli/cli_eval.py,sha256=Hze4PwW4smivmSZg_eGDHr3pZ6LHxX5MkTJuXB2xpxs,3598
|
13
|
-
uipath/_cli/cli_init.py,sha256=
|
13
|
+
uipath/_cli/cli_init.py,sha256=ls577uNm2zWccknIhtVFS3ah2ds0QSy2_TgMp6z7Wt4,6049
|
14
14
|
uipath/_cli/cli_invoke.py,sha256=zuy3hCn5wfOcd_qYJDmfMB-5qtYS-GENprYXkQN29No,3836
|
15
15
|
uipath/_cli/cli_new.py,sha256=9378NYUBc9j-qKVXV7oja-jahfJhXBg8zKVyaon7ctY,2102
|
16
16
|
uipath/_cli/cli_pack.py,sha256=NmwZTfwZ2fURiHyiX1BM0juAtBOjPB1Jmcpu-rD7p-4,11025
|
@@ -31,17 +31,18 @@ uipath/_cli/_auth/auth_config.json,sha256=UnAhdum8phjuZaZKE5KLp0IcPCbIltDEU1M_G8
|
|
31
31
|
uipath/_cli/_auth/index.html,sha256=uGK0CDTP8Rys_p4O_Pbd2x4tz0frKNVcumjrXnal5Nc,22814
|
32
32
|
uipath/_cli/_auth/localhost.crt,sha256=oGl9oLLOiouHubAt39B4zEfylFvKEtbtr_43SIliXJc,1226
|
33
33
|
uipath/_cli/_auth/localhost.key,sha256=X31VYXD8scZtmGA837dGX5l6G-LXHLo5ItWJhZXaz3c,1679
|
34
|
-
uipath/_cli/_dev/_terminal/__init__.py,sha256=
|
35
|
-
uipath/_cli/_dev/_terminal/_components/
|
36
|
-
uipath/_cli/_dev/_terminal/_components/
|
34
|
+
uipath/_cli/_dev/_terminal/__init__.py,sha256=DEMtK-QewBmXXB9SsQqcjGtHbdIqwDhAl3tVhlb7Yv0,11699
|
35
|
+
uipath/_cli/_dev/_terminal/_components/_chat.py,sha256=VNsHKDO6QAaHfSWPClztcospkYp2913DC0qh0kYUGyA,3163
|
36
|
+
uipath/_cli/_dev/_terminal/_components/_details.py,sha256=_S3-GgT5zERPI1wjXUwrKusanyqs5Ex9B9FUOXCEwf8,16921
|
37
|
+
uipath/_cli/_dev/_terminal/_components/_history.py,sha256=dcT9tohEwpUaLGi7VWu5d-mDIF45UxFzN2Yvdf5N-eM,2691
|
37
38
|
uipath/_cli/_dev/_terminal/_components/_json_input.py,sha256=MPkaeiA5KfkwJZKuNJ02hQksVtluZlmJv9nLRRAWYQI,592
|
38
39
|
uipath/_cli/_dev/_terminal/_components/_new.py,sha256=jxDFOQ6NCzTgesgx3srRr45ij1FqdICAB0uo6vXeh4I,4614
|
39
|
-
uipath/_cli/_dev/_terminal/
|
40
|
-
uipath/_cli/_dev/_terminal/_models/
|
41
|
-
uipath/_cli/_dev/_terminal/
|
42
|
-
uipath/_cli/_dev/_terminal/
|
43
|
-
uipath/_cli/_dev/_terminal/
|
44
|
-
uipath/_cli/_dev/_terminal/
|
40
|
+
uipath/_cli/_dev/_terminal/_models/_execution.py,sha256=jp-0lRtHqNDAuk7KKPVZ5CUqlFLfuKGZT_GTwd0LtQs,2615
|
41
|
+
uipath/_cli/_dev/_terminal/_models/_messages.py,sha256=p66MHUi_SS30CQWXtiwydybMKBQrtZLXNfNUD6TdK1w,1832
|
42
|
+
uipath/_cli/_dev/_terminal/_styles/terminal.tcss,sha256=WeJ0pg4MpNR9x6VbHWW5K8I0IFNuxhfZ1pHMYR9zZg4,3098
|
43
|
+
uipath/_cli/_dev/_terminal/_utils/_chat.py,sha256=ELv9ZmvYLrEBRIDcA-a_PCkOg1YCq7LSiJt-Pr-9C5I,8634
|
44
|
+
uipath/_cli/_dev/_terminal/_utils/_exporter.py,sha256=oI6D_eMwrh_2aqDYUh4GrJg8VLGrLYhDahR-_o0uJns,4144
|
45
|
+
uipath/_cli/_dev/_terminal/_utils/_logger.py,sha256=jeNShEED27cNIHTe_NNx-2kUiXpSLTmi0onM6tVkqRM,888
|
45
46
|
uipath/_cli/_evals/evaluation_service.py,sha256=zqYRB-tZpTTFqMctjIpEli3joIlmrz3dCVZsxekxIps,22053
|
46
47
|
uipath/_cli/_evals/progress_reporter.py,sha256=m1Dio1vG-04nFTFz5ijM_j1dhudlgOzQukmTkkg6wS4,11490
|
47
48
|
uipath/_cli/_evals/_evaluators/__init__.py,sha256=jD7KNLjbsUpsESFXX11eW2MEPXDNuPp2-t-IPB-inlM,734
|
@@ -56,7 +57,7 @@ uipath/_cli/_evals/_models/__init__.py,sha256=Ewjp3u2YeTH2MmzY9LWf7EIbAoIf_nW9fM
|
|
56
57
|
uipath/_cli/_evals/_models/_evaluation_set.py,sha256=tVHykSget-G3sOCs9bSchMYUTpFqzXVlYYbY8L9SI0c,1518
|
57
58
|
uipath/_cli/_evals/_models/_evaluators.py,sha256=l57NEVyYmzSKuoIXuGkE94Br01hAMg35fiS2MlTkaQM,2115
|
58
59
|
uipath/_cli/_push/sw_file_handler.py,sha256=NTXITAs0qzmQyFnnSbq8HW16TGxzkqtgs4tWS1H5A2U,18090
|
59
|
-
uipath/_cli/_runtime/_contracts.py,sha256=
|
60
|
+
uipath/_cli/_runtime/_contracts.py,sha256=X8lev5v4XN2sOIwKWE7VXpFgfNhQjh9UGGbgogo1llE,21246
|
60
61
|
uipath/_cli/_runtime/_escalation.py,sha256=x3vI98qsfRA-fL_tNkRVTFXioM5Gv2w0GFcXJJ5eQtg,7981
|
61
62
|
uipath/_cli/_runtime/_hitl.py,sha256=aexwe0dIXvh6SlVS1jVnO_aGZc6e3gLsmGkCyha5AHo,11300
|
62
63
|
uipath/_cli/_runtime/_logging.py,sha256=MGklGKPjYKjs7J5Jy9eplA9zCDsdtEbkZdCbTwgut_4,8311
|
@@ -103,6 +104,16 @@ uipath/_utils/_ssl_context.py,sha256=xSYitos0eJc9cPHzNtHISX9PBvL6D2vas5G_GiBdLp8
|
|
103
104
|
uipath/_utils/_url.py,sha256=-4eluSrIZCUlnQ3qU17WPJkgaC2KwF9W5NeqGnTNGGo,2512
|
104
105
|
uipath/_utils/_user_agent.py,sha256=pVJkFYacGwaQBomfwWVAvBQgdBUo62e4n3-fLIajWUU,563
|
105
106
|
uipath/_utils/constants.py,sha256=Rqclg9wVkXbpzKPCXKit5_P3tik9J1y8T80h9W2VxLE,1059
|
107
|
+
uipath/agent/conversation/__init__.py,sha256=5hK-Iz131mnd9m6ANnpZZffxXZLVFDQ9GTg5z9ik1oQ,5265
|
108
|
+
uipath/agent/conversation/async_stream.py,sha256=BA_8uU1DgE3VpU2KkJj0rkI3bAHLk_ZJKsajR0ipMpo,2055
|
109
|
+
uipath/agent/conversation/citation.py,sha256=42dGv-wiYx3Lt7MPuPCFTkjAlSADFSzjyNXuZHdxqvo,2253
|
110
|
+
uipath/agent/conversation/content.py,sha256=keWAEuvhrn9WIYt0tjo1tjN1llsjMYbgpd8eunGuOLM,2846
|
111
|
+
uipath/agent/conversation/conversation.py,sha256=9KT7KPspefaio4ptlDjVtdOBBwXFWh_kyQO6HUX79z0,1777
|
112
|
+
uipath/agent/conversation/event.py,sha256=mK_wBYm-BkaG6FB9RJfHnHTOht4mI6laYH5bybfAnhg,2684
|
113
|
+
uipath/agent/conversation/exchange.py,sha256=nuk1tEMBHc_skrraT17d8U6AtyJ3h07ExGQWWoerHgU,2245
|
114
|
+
uipath/agent/conversation/message.py,sha256=1ZkEs146s79TrOAWCQwzBAEJvjAu4lQBpJ64tKXDgGE,2142
|
115
|
+
uipath/agent/conversation/meta.py,sha256=3t0eS9UHoAPHre97QTUeVbjDhnMX4zj4-qG6ju0B8wY,315
|
116
|
+
uipath/agent/conversation/tool.py,sha256=ol8XI8AVd-QNn5auXNBPcCzOkh9PPFtL7hTK3kqInkU,2191
|
106
117
|
uipath/models/__init__.py,sha256=d_DkK1AtRUetM1t2NrH5UKgvJOBiynzaKnK5pMY7aIc,1289
|
107
118
|
uipath/models/action_schema.py,sha256=lKDhP7Eix23fFvfQrqqNmSOiPyyNF6tiRpUu0VZIn_M,714
|
108
119
|
uipath/models/actions.py,sha256=ekSH4YUQR4KPOH-heBm9yOgOfirndx0In4_S4VYWeEU,2993
|
@@ -128,8 +139,8 @@ uipath/tracing/_traced.py,sha256=qeVDrds2OUnpdUIA0RhtF0kg2dlAZhyC1RRkI-qivTM,185
|
|
128
139
|
uipath/tracing/_utils.py,sha256=wJRELaPu69iY0AhV432Dk5QYf_N_ViRU4kAUG1BI1ew,10384
|
129
140
|
uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
|
130
141
|
uipath/utils/_endpoints_manager.py,sha256=iRTl5Q0XAm_YgcnMcJOXtj-8052sr6jpWuPNz6CgT0Q,8408
|
131
|
-
uipath-2.1.
|
132
|
-
uipath-2.1.
|
133
|
-
uipath-2.1.
|
134
|
-
uipath-2.1.
|
135
|
-
uipath-2.1.
|
142
|
+
uipath-2.1.37.dist-info/METADATA,sha256=iZXfgbVnG3_SoVjdjhESdpc-6eJQJnG-tems-r21eOE,6482
|
143
|
+
uipath-2.1.37.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
144
|
+
uipath-2.1.37.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
|
145
|
+
uipath-2.1.37.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
|
146
|
+
uipath-2.1.37.dist-info/RECORD,,
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import json
|
2
|
-
|
3
|
-
from textual.app import ComposeResult
|
4
|
-
from textual.containers import Container, Horizontal, Vertical
|
5
|
-
from textual.widgets import Button, TextArea
|
6
|
-
|
7
|
-
from ._json_input import JsonInput
|
8
|
-
|
9
|
-
|
10
|
-
class ResumePanel(Container):
|
11
|
-
"""Panel for resuming a suspended run."""
|
12
|
-
|
13
|
-
def __init__(self, **kwargs):
|
14
|
-
super().__init__(**kwargs)
|
15
|
-
|
16
|
-
def compose(self) -> ComposeResult:
|
17
|
-
with Vertical():
|
18
|
-
yield JsonInput(
|
19
|
-
text=json.dumps({"value": ""}, indent=2),
|
20
|
-
language="json",
|
21
|
-
id="resume-json-input",
|
22
|
-
classes="input-field json-input",
|
23
|
-
)
|
24
|
-
with Horizontal(classes="run-actions"):
|
25
|
-
yield Button(
|
26
|
-
"▶ Resume",
|
27
|
-
id="resume-btn",
|
28
|
-
variant="primary",
|
29
|
-
classes="action-btn",
|
30
|
-
)
|
31
|
-
|
32
|
-
def get_input_values(self) -> str:
|
33
|
-
"""Return the JSON text to resume with."""
|
34
|
-
json_input = self.query_one("#resume-json-input", TextArea)
|
35
|
-
return json_input.text.strip()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|