chainlit 1.0.506__py3-none-any.whl → 1.1.0rc0__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 chainlit might be problematic. Click here for more details.
- chainlit/__init__.py +34 -1
- chainlit/config.py +39 -19
- chainlit/copilot/dist/index.js +337 -333
- chainlit/data/__init__.py +4 -2
- chainlit/data/sql_alchemy.py +19 -12
- chainlit/element.py +4 -1
- chainlit/frontend/dist/assets/{index-d4233b49.js → index-032fca02.js} +187 -183
- chainlit/frontend/dist/assets/{react-plotly-2b7fa4f9.js → react-plotly-8c993614.js} +1 -1
- chainlit/frontend/dist/index.html +1 -1
- chainlit/llama_index/callbacks.py +7 -6
- chainlit/message.py +3 -3
- chainlit/server.py +4 -0
- chainlit/session.py +12 -2
- chainlit/socket.py +70 -18
- chainlit/types.py +19 -0
- chainlit/user_session.py +1 -0
- chainlit/utils.py +2 -1
- {chainlit-1.0.506.dist-info → chainlit-1.1.0rc0.dist-info}/METADATA +1 -1
- {chainlit-1.0.506.dist-info → chainlit-1.1.0rc0.dist-info}/RECORD +21 -21
- {chainlit-1.0.506.dist-info → chainlit-1.1.0rc0.dist-info}/WHEEL +0 -0
- {chainlit-1.0.506.dist-info → chainlit-1.1.0rc0.dist-info}/entry_points.txt +0 -0
chainlit/data/__init__.py
CHANGED
|
@@ -156,6 +156,7 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
156
156
|
"chainlitKey": None,
|
|
157
157
|
"display": metadata.get("display", "side"),
|
|
158
158
|
"language": metadata.get("language"),
|
|
159
|
+
"autoPlay": metadata.get("autoPlay", None),
|
|
159
160
|
"page": metadata.get("page"),
|
|
160
161
|
"size": metadata.get("size"),
|
|
161
162
|
"type": metadata.get("type", "file"),
|
|
@@ -219,7 +220,7 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
219
220
|
"disableFeedback": metadata.get("disableFeedback", False),
|
|
220
221
|
"indent": metadata.get("indent"),
|
|
221
222
|
"language": metadata.get("language"),
|
|
222
|
-
"isError":
|
|
223
|
+
"isError": bool(step.error),
|
|
223
224
|
"waitForAnswer": metadata.get("waitForAnswer", False),
|
|
224
225
|
}
|
|
225
226
|
|
|
@@ -348,7 +349,6 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
348
349
|
step_dict.get("metadata", {}),
|
|
349
350
|
**{
|
|
350
351
|
"disableFeedback": step_dict.get("disableFeedback"),
|
|
351
|
-
"isError": step_dict.get("isError"),
|
|
352
352
|
"waitForAnswer": step_dict.get("waitForAnswer"),
|
|
353
353
|
"language": step_dict.get("language"),
|
|
354
354
|
"showInput": step_dict.get("showInput"),
|
|
@@ -372,6 +372,8 @@ class ChainlitDataLayer(BaseDataLayer):
|
|
|
372
372
|
step["input"] = {"content": step_dict.get("input")}
|
|
373
373
|
if step_dict.get("output"):
|
|
374
374
|
step["output"] = {"content": step_dict.get("output")}
|
|
375
|
+
if step_dict.get("isError"):
|
|
376
|
+
step["error"] = step_dict.get("output")
|
|
375
377
|
|
|
376
378
|
await self.client.api.send_steps([step])
|
|
377
379
|
|
chainlit/data/sql_alchemy.py
CHANGED
|
@@ -170,12 +170,14 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
170
170
|
raise ValueError("User not found in session context")
|
|
171
171
|
data = {
|
|
172
172
|
"id": thread_id,
|
|
173
|
-
"createdAt":
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
"name":
|
|
177
|
-
|
|
178
|
-
|
|
173
|
+
"createdAt": (
|
|
174
|
+
await self.get_current_timestamp() if metadata is None else None
|
|
175
|
+
),
|
|
176
|
+
"name": (
|
|
177
|
+
name
|
|
178
|
+
if name is not None
|
|
179
|
+
else (metadata.get("name") if metadata and "name" in metadata else None)
|
|
180
|
+
),
|
|
179
181
|
"userId": user_id,
|
|
180
182
|
"userIdentifier": user_identifier,
|
|
181
183
|
"tags": tags,
|
|
@@ -552,13 +554,17 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
552
554
|
streaming=step_feedback.get("step_streaming", False),
|
|
553
555
|
waitForAnswer=step_feedback.get("step_waitforanswer"),
|
|
554
556
|
isError=step_feedback.get("step_iserror"),
|
|
555
|
-
metadata=
|
|
556
|
-
|
|
557
|
-
|
|
557
|
+
metadata=(
|
|
558
|
+
step_feedback["step_metadata"]
|
|
559
|
+
if step_feedback.get("step_metadata") is not None
|
|
560
|
+
else {}
|
|
561
|
+
),
|
|
558
562
|
tags=step_feedback.get("step_tags"),
|
|
559
|
-
input=
|
|
560
|
-
|
|
561
|
-
|
|
563
|
+
input=(
|
|
564
|
+
step_feedback.get("step_input", "")
|
|
565
|
+
if step_feedback["step_showinput"]
|
|
566
|
+
else ""
|
|
567
|
+
),
|
|
562
568
|
output=step_feedback.get("step_output", ""),
|
|
563
569
|
createdAt=step_feedback.get("step_createdat"),
|
|
564
570
|
start=step_feedback.get("step_start"),
|
|
@@ -587,6 +593,7 @@ class SQLAlchemyDataLayer(BaseDataLayer):
|
|
|
587
593
|
display=element["element_display"],
|
|
588
594
|
size=element.get("element_size"),
|
|
589
595
|
language=element.get("element_language"),
|
|
596
|
+
autoPlay=element.get("element_autoPlay"),
|
|
590
597
|
page=element.get("element_page"),
|
|
591
598
|
forId=element.get("element_forid"),
|
|
592
599
|
mime=element.get("element_mime"),
|
chainlit/element.py
CHANGED
|
@@ -38,6 +38,7 @@ class ElementDict(TypedDict):
|
|
|
38
38
|
size: Optional[ElementSize]
|
|
39
39
|
language: Optional[str]
|
|
40
40
|
page: Optional[int]
|
|
41
|
+
autoPlay: Optional[bool]
|
|
41
42
|
forId: Optional[str]
|
|
42
43
|
mime: Optional[str]
|
|
43
44
|
|
|
@@ -61,7 +62,7 @@ class Element:
|
|
|
61
62
|
# The byte content of the element.
|
|
62
63
|
content: Optional[Union[bytes, str]] = None
|
|
63
64
|
# Controls how the image element should be displayed in the UI. Choices are “side” (default), “inline”, or “page”.
|
|
64
|
-
display: ElementDisplay = Field(default="
|
|
65
|
+
display: ElementDisplay = Field(default="inline")
|
|
65
66
|
# Controls element size
|
|
66
67
|
size: Optional[ElementSize] = None
|
|
67
68
|
# The ID of the message this element is associated with.
|
|
@@ -93,6 +94,7 @@ class Element:
|
|
|
93
94
|
"objectKey": getattr(self, "object_key", None),
|
|
94
95
|
"size": getattr(self, "size", None),
|
|
95
96
|
"page": getattr(self, "page", None),
|
|
97
|
+
"autoPlay": getattr(self, "auto_play", None),
|
|
96
98
|
"language": getattr(self, "language", None),
|
|
97
99
|
"forId": getattr(self, "for_id", None),
|
|
98
100
|
"mime": getattr(self, "mime", None),
|
|
@@ -306,6 +308,7 @@ class TaskList(Element):
|
|
|
306
308
|
@dataclass
|
|
307
309
|
class Audio(Element):
|
|
308
310
|
type: ClassVar[ElementType] = "audio"
|
|
311
|
+
auto_play: bool = False
|
|
309
312
|
|
|
310
313
|
|
|
311
314
|
@dataclass
|