chainlit 2.0rc1__py3-none-any.whl → 2.0.2__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 +47 -57
- chainlit/action.py +8 -8
- chainlit/auth/__init__.py +1 -1
- chainlit/auth/cookie.py +7 -9
- chainlit/auth/jwt.py +5 -3
- chainlit/callbacks.py +1 -1
- chainlit/config.py +8 -59
- chainlit/copilot/dist/index.js +8319 -1019
- chainlit/data/__init__.py +71 -2
- chainlit/data/chainlit_data_layer.py +608 -0
- chainlit/data/literalai.py +1 -1
- chainlit/data/sql_alchemy.py +26 -2
- chainlit/data/storage_clients/azure_blob.py +89 -0
- chainlit/data/storage_clients/base.py +10 -0
- chainlit/data/storage_clients/gcs.py +88 -0
- chainlit/data/storage_clients/s3.py +42 -4
- chainlit/element.py +7 -4
- chainlit/emitter.py +9 -14
- chainlit/frontend/dist/assets/{DailyMotion-C-_sjrtO.js → DailyMotion-DFvM941y.js} +1 -1
- chainlit/frontend/dist/assets/Dataframe-CA6SlUSB.js +22 -0
- chainlit/frontend/dist/assets/{Facebook-bB34P03l.js → Facebook-BM4MwXR1.js} +1 -1
- chainlit/frontend/dist/assets/{FilePlayer-BWgqGrXv.js → FilePlayer-CfjB8iXr.js} +1 -1
- chainlit/frontend/dist/assets/{Kaltura-OY4P9Ofd.js → Kaltura-Bg-U6Xkz.js} +1 -1
- chainlit/frontend/dist/assets/{Mixcloud-9CtT8w5Y.js → Mixcloud-xJrfoMTv.js} +1 -1
- chainlit/frontend/dist/assets/{Mux-BH9A0qEi.js → Mux-CKnKDBmk.js} +1 -1
- chainlit/frontend/dist/assets/{Preview-Og00EJ05.js → Preview-DwHPdmIg.js} +1 -1
- chainlit/frontend/dist/assets/{SoundCloud-D7resGfn.js → SoundCloud-Crd5dwXV.js} +1 -1
- chainlit/frontend/dist/assets/{Streamable-6f_6bYz1.js → Streamable-Dq0c8lyx.js} +1 -1
- chainlit/frontend/dist/assets/{Twitch-BZJl3peM.js → Twitch-DIDvP936.js} +1 -1
- chainlit/frontend/dist/assets/{Vidyard-B7tv4b8_.js → Vidyard-B1dz9WN4.js} +1 -1
- chainlit/frontend/dist/assets/{Vimeo-F-eA4zQI.js → Vimeo-22Su6q2w.js} +1 -1
- chainlit/frontend/dist/assets/Wistia-C7adXRjN.js +1 -0
- chainlit/frontend/dist/assets/{YouTube-aFdJGjI1.js → YouTube-Dt4UMtQI.js} +1 -1
- chainlit/frontend/dist/assets/index-DbdLVHtZ.js +8665 -0
- chainlit/frontend/dist/assets/index-g8LTJwwr.css +1 -0
- chainlit/frontend/dist/assets/{react-plotly-DoUJXMgz.js → react-plotly-DvpXYYRJ.js} +1 -1
- chainlit/frontend/dist/index.html +2 -2
- chainlit/message.py +1 -3
- chainlit/server.py +297 -78
- chainlit/session.py +9 -0
- chainlit/socket.py +5 -53
- chainlit/step.py +0 -1
- chainlit/translations/en-US.json +1 -1
- chainlit/types.py +17 -3
- chainlit/user_session.py +1 -0
- {chainlit-2.0rc1.dist-info → chainlit-2.0.2.dist-info}/METADATA +4 -35
- {chainlit-2.0rc1.dist-info → chainlit-2.0.2.dist-info}/RECORD +49 -45
- chainlit/frontend/dist/assets/Wistia-Dhxhn3IB.js +0 -1
- chainlit/frontend/dist/assets/index-Ba33_hdJ.js +0 -1091
- chainlit/frontend/dist/assets/index-CwmincdQ.css +0 -1
- {chainlit-2.0rc1.dist-info → chainlit-2.0.2.dist-info}/WHEEL +0 -0
- {chainlit-2.0rc1.dist-info → chainlit-2.0.2.dist-info}/entry_points.txt +0 -0
chainlit/socket.py
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import json
|
|
3
|
-
import time
|
|
4
3
|
from typing import Any, Dict, Literal, Optional, Tuple, Union
|
|
5
4
|
from urllib.parse import unquote
|
|
6
5
|
|
|
7
6
|
from starlette.requests import cookie_parser
|
|
8
7
|
from typing_extensions import TypeAlias
|
|
9
8
|
|
|
10
|
-
from chainlit.action import Action
|
|
11
9
|
from chainlit.auth import get_current_user, require_login
|
|
12
10
|
from chainlit.chat_context import chat_context
|
|
13
11
|
from chainlit.config import config
|
|
@@ -82,15 +80,6 @@ def load_user_env(user_env):
|
|
|
82
80
|
return user_env
|
|
83
81
|
|
|
84
82
|
|
|
85
|
-
def _get_token_from_auth(auth: dict) -> Optional[str]:
|
|
86
|
-
# Not using cookie auth, return token.
|
|
87
|
-
token = auth.get("token")
|
|
88
|
-
if token:
|
|
89
|
-
return token.split(" ")[1]
|
|
90
|
-
|
|
91
|
-
return None
|
|
92
|
-
|
|
93
|
-
|
|
94
83
|
def _get_token_from_cookie(environ: WSGIEnvironment) -> Optional[str]:
|
|
95
84
|
if cookie_header := environ.get("HTTP_COOKIE", None):
|
|
96
85
|
cookies = cookie_parser(cookie_header)
|
|
@@ -101,10 +90,6 @@ def _get_token_from_cookie(environ: WSGIEnvironment) -> Optional[str]:
|
|
|
101
90
|
|
|
102
91
|
def _get_token(environ: WSGIEnvironment, auth: dict) -> Optional[str]:
|
|
103
92
|
"""Take WSGI environ, return access token."""
|
|
104
|
-
|
|
105
|
-
if not config.project.cookie_auth:
|
|
106
|
-
return _get_token_from_auth(auth)
|
|
107
|
-
|
|
108
93
|
return _get_token_from_cookie(environ)
|
|
109
94
|
|
|
110
95
|
|
|
@@ -151,6 +136,7 @@ async def connect(sid, environ, auth):
|
|
|
151
136
|
|
|
152
137
|
client_type = auth.get("clientType")
|
|
153
138
|
http_referer = environ.get("HTTP_REFERER")
|
|
139
|
+
http_cookie = environ.get("HTTP_COOKIE")
|
|
154
140
|
url_encoded_chat_profile = auth.get("chatProfile")
|
|
155
141
|
chat_profile = (
|
|
156
142
|
unquote(url_encoded_chat_profile) if url_encoded_chat_profile else None
|
|
@@ -169,6 +155,7 @@ async def connect(sid, environ, auth):
|
|
|
169
155
|
thread_id=auth.get("threadId"),
|
|
170
156
|
languages=environ.get("HTTP_ACCEPT_LANGUAGE"),
|
|
171
157
|
http_referer=http_referer,
|
|
158
|
+
http_cookie=http_cookie,
|
|
172
159
|
)
|
|
173
160
|
|
|
174
161
|
trace_event("connection_successful")
|
|
@@ -202,6 +189,8 @@ async def connection_successful(sid):
|
|
|
202
189
|
|
|
203
190
|
await context.emitter.resume_thread(thread)
|
|
204
191
|
return
|
|
192
|
+
else:
|
|
193
|
+
await context.emitter.send_resume_thread_error("Thread not found.")
|
|
205
194
|
|
|
206
195
|
if config.code.on_chat_start:
|
|
207
196
|
task = asyncio.create_task(config.code.on_chat_start())
|
|
@@ -272,8 +261,7 @@ async def process_message(session: WebsocketSession, payload: MessagePayload):
|
|
|
272
261
|
message = await context.emitter.process_message(payload)
|
|
273
262
|
|
|
274
263
|
if config.code.on_message:
|
|
275
|
-
|
|
276
|
-
time.sleep(0.001)
|
|
264
|
+
await asyncio.sleep(0.001)
|
|
277
265
|
await config.code.on_message(message)
|
|
278
266
|
except asyncio.CancelledError:
|
|
279
267
|
pass
|
|
@@ -387,42 +375,6 @@ async def audio_end(sid):
|
|
|
387
375
|
await context.emitter.task_end()
|
|
388
376
|
|
|
389
377
|
|
|
390
|
-
async def process_action(action: Action):
|
|
391
|
-
callback = config.code.action_callbacks.get(action.name)
|
|
392
|
-
if callback:
|
|
393
|
-
res = await callback(action)
|
|
394
|
-
return res
|
|
395
|
-
else:
|
|
396
|
-
logger.warning("No callback found for action %s", action.name)
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
@sio.on("action_call")
|
|
400
|
-
async def call_action(sid, action):
|
|
401
|
-
"""Handle an action call from the UI."""
|
|
402
|
-
context = init_ws_context(sid)
|
|
403
|
-
|
|
404
|
-
action = Action(**action)
|
|
405
|
-
|
|
406
|
-
try:
|
|
407
|
-
if not context.session.has_first_interaction:
|
|
408
|
-
context.session.has_first_interaction = True
|
|
409
|
-
asyncio.create_task(context.emitter.init_thread(action.name))
|
|
410
|
-
res = await process_action(action)
|
|
411
|
-
await context.emitter.send_action_response(
|
|
412
|
-
id=action.id, status=True, response=res if isinstance(res, str) else None
|
|
413
|
-
)
|
|
414
|
-
|
|
415
|
-
except asyncio.CancelledError:
|
|
416
|
-
await context.emitter.send_action_response(
|
|
417
|
-
id=action.id, status=False, response="Action interrupted by the user"
|
|
418
|
-
)
|
|
419
|
-
except Exception as e:
|
|
420
|
-
logger.exception(e)
|
|
421
|
-
await context.emitter.send_action_response(
|
|
422
|
-
id=action.id, status=False, response="An error occurred"
|
|
423
|
-
)
|
|
424
|
-
|
|
425
|
-
|
|
426
378
|
@sio.on("chat_settings_change")
|
|
427
379
|
async def change_settings(sid, settings: Dict[str, Any]):
|
|
428
380
|
"""Handle change settings submit from the UI."""
|
chainlit/step.py
CHANGED
chainlit/translations/en-US.json
CHANGED
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
178
|
"DeleteThreadButton": {
|
|
179
|
-
"confirmMessage": "This will delete the thread as well as
|
|
179
|
+
"confirmMessage": "This will delete the thread as well as its messages and elements.",
|
|
180
180
|
"cancel": "Cancel",
|
|
181
181
|
"confirm": "Confirm",
|
|
182
182
|
"deletingChat": "Deleting chat",
|
chainlit/types.py
CHANGED
|
@@ -186,12 +186,16 @@ class AskFileResponse:
|
|
|
186
186
|
|
|
187
187
|
class AskActionResponse(TypedDict):
|
|
188
188
|
name: str
|
|
189
|
-
|
|
189
|
+
payload: Dict
|
|
190
190
|
label: str
|
|
191
|
-
|
|
191
|
+
tooltip: str
|
|
192
192
|
forId: str
|
|
193
193
|
id: str
|
|
194
|
-
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class UpdateThreadRequest(BaseModel):
|
|
197
|
+
threadId: str
|
|
198
|
+
name: str
|
|
195
199
|
|
|
196
200
|
|
|
197
201
|
class DeleteThreadRequest(BaseModel):
|
|
@@ -207,6 +211,16 @@ class GetThreadsRequest(BaseModel):
|
|
|
207
211
|
filter: ThreadFilter
|
|
208
212
|
|
|
209
213
|
|
|
214
|
+
class CallActionRequest(BaseModel):
|
|
215
|
+
action: Dict
|
|
216
|
+
sessionId: str
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
class ElementRequest(BaseModel):
|
|
220
|
+
element: Dict
|
|
221
|
+
sessionId: str
|
|
222
|
+
|
|
223
|
+
|
|
210
224
|
class Theme(str, Enum):
|
|
211
225
|
light = "light"
|
|
212
226
|
dark = "dark"
|
chainlit/user_session.py
CHANGED
|
@@ -29,6 +29,7 @@ class UserSession:
|
|
|
29
29
|
user_session["chat_profile"] = context.session.chat_profile
|
|
30
30
|
user_session["http_referer"] = context.session.http_referer
|
|
31
31
|
user_session["client_type"] = context.session.client_type
|
|
32
|
+
user_session["http_cookie"] = context.session.http_cookie
|
|
32
33
|
|
|
33
34
|
if isinstance(context.session, WebsocketSession):
|
|
34
35
|
user_session["languages"] = context.session.languages
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: chainlit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: Build Conversational AI.
|
|
5
5
|
Home-page: https://chainlit.io/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -28,14 +28,13 @@ Requires-Dist: fastapi (>=0.115.3,<0.116)
|
|
|
28
28
|
Requires-Dist: filetype (>=1.2.0,<2.0.0)
|
|
29
29
|
Requires-Dist: httpx (>=0.23.0)
|
|
30
30
|
Requires-Dist: lazify (>=0.4.0,<0.5.0)
|
|
31
|
-
Requires-Dist: literalai (==0.
|
|
31
|
+
Requires-Dist: literalai (==0.1.103)
|
|
32
32
|
Requires-Dist: nest-asyncio (>=1.6.0,<2.0.0)
|
|
33
|
-
Requires-Dist: numpy (>=1.26,<2.0)
|
|
34
33
|
Requires-Dist: packaging (>=23.1,<24.0)
|
|
35
34
|
Requires-Dist: pydantic (>=1,<3)
|
|
36
35
|
Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
|
|
37
36
|
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
|
|
38
|
-
Requires-Dist: python-multipart (>=0.0.
|
|
37
|
+
Requires-Dist: python-multipart (>=0.0.18,<0.0.19)
|
|
39
38
|
Requires-Dist: python-socketio (>=5.11.0,<6.0.0)
|
|
40
39
|
Requires-Dist: starlette (>=0.41.2,<0.42.0)
|
|
41
40
|
Requires-Dist: syncer (>=2.0.3,<3.0.0)
|
|
@@ -59,22 +58,10 @@ Description-Content-Type: text/markdown
|
|
|
59
58
|
|
|
60
59
|
Chainlit is an open-source async Python framework which allows developers to build scalable Conversational AI or agentic applications.
|
|
61
60
|
|
|
62
|
-
- ✅ ChatGPT-like application
|
|
63
|
-
- ✅ Embedded Chatbot & Software Copilot
|
|
64
|
-
- ✅ Slack & Discord
|
|
65
|
-
- ✅ Custom frontend (build your own agentic experience)
|
|
66
|
-
- ✅ API Endpoint
|
|
67
|
-
|
|
68
61
|
Full documentation is available [here](https://docs.chainlit.io). You can ask Chainlit related questions to [Chainlit Help](https://help.chainlit.io/), an app built using Chainlit!
|
|
69
62
|
|
|
70
|
-
|
|
71
|
-
> Check out [Literal AI](https://literalai.com), our product to monitor and evaluate LLM applications! It works with any Python or TypeScript applications and [seamlessly](https://docs.chainlit.io/data-persistence/overview) with Chainlit by adding a `LITERAL_API_KEY` in your project.
|
|
72
|
-
>
|
|
73
|
-
> Chainlit is developed and maintained by the Literal AI team, which is currently focused on expanding the capabilities of Literal AI. While we continue to support and maintain Chainlit, we are also committed to enabling the community to contribute, particularly in areas like integrations and data layers.
|
|
63
|
+
https://github.com/user-attachments/assets/b3738aba-55c0-42fa-ac00-6efd1ee0d148
|
|
74
64
|
|
|
75
|
-
<p align="center">
|
|
76
|
-
<img src="https://github.com/Chainlit/chainlit/assets/13104895/0c2cc7a9-766c-41d3-aae2-117a2d0eb8ed" alt="Chainlit user interface" width="80%"></img>
|
|
77
|
-
</p>
|
|
78
65
|
|
|
79
66
|
## Installation
|
|
80
67
|
|
|
@@ -142,24 +129,6 @@ chainlit run demo.py -w
|
|
|
142
129
|
|
|
143
130
|
<img src="/images/quick-start.png" alt="Quick Start"></img>
|
|
144
131
|
|
|
145
|
-
## 🎉 Key Features and Integrations
|
|
146
|
-
|
|
147
|
-
Full documentation is available [here](https://docs.chainlit.io). Key features:
|
|
148
|
-
|
|
149
|
-
- [💬 Multi Modal chats](https://docs.chainlit.io/advanced-features/multi-modal)
|
|
150
|
-
- [💭 Chain of Thought visualization](https://docs.chainlit.io/concepts/step)
|
|
151
|
-
- [💾 Data persistence + human feedback](https://docs.chainlit.io/data-persistence/overview)
|
|
152
|
-
- [🐛 Debug Mode](https://docs.chainlit.io/data-persistence/enterprise#debug-mode)
|
|
153
|
-
- [👤 Authentication](https://docs.chainlit.io/authentication/overview)
|
|
154
|
-
|
|
155
|
-
Chainlit is compatible with all Python programs and libraries. That being said, it comes with integrations for:
|
|
156
|
-
|
|
157
|
-
- [LangChain](https://docs.chainlit.io/integrations/langchain)
|
|
158
|
-
- [Llama Index](https://docs.chainlit.io/integrations/llama-index)
|
|
159
|
-
- [Autogen](https://github.com/Chainlit/cookbook/tree/main/pyautogen)
|
|
160
|
-
- [OpenAI Assistant](https://github.com/Chainlit/cookbook/tree/main/openai-assistant)
|
|
161
|
-
- [Haystack](https://docs.chainlit.io/integrations/haystack)
|
|
162
|
-
|
|
163
132
|
## 📚 More Examples - Cookbook
|
|
164
133
|
|
|
165
134
|
You can find various examples of Chainlit apps [here](https://github.com/Chainlit/cookbook) that leverage tools and services such as OpenAI, Anthropiс, LangChain, LlamaIndex, ChromaDB, Pinecone and more.
|
|
@@ -1,56 +1,60 @@
|
|
|
1
|
-
chainlit/__init__.py,sha256=
|
|
1
|
+
chainlit/__init__.py,sha256=ZfEoaKPb53KVkzNvnsJLH2NWNaMyYvf0cPCZTAOsiNo,4371
|
|
2
2
|
chainlit/__main__.py,sha256=7Vg3w3T3qDuz4KDu5lQhLH6lQ3cYdume7gHH7Z1V97U,87
|
|
3
3
|
chainlit/_utils.py,sha256=vaKfEpXcL4kXktp54IRQWZRK4L_HGK8gJuAoIM29YYc,289
|
|
4
|
-
chainlit/action.py,sha256=
|
|
5
|
-
chainlit/auth/__init__.py,sha256=
|
|
6
|
-
chainlit/auth/cookie.py,sha256=
|
|
7
|
-
chainlit/auth/jwt.py,sha256=
|
|
4
|
+
chainlit/action.py,sha256=ljtpsPYRtFYigw2G6VbBworRHDL2fq8hE9A4H_fEijw,1333
|
|
5
|
+
chainlit/auth/__init__.py,sha256=RB7rw0-fa4gVh6cAKieqFVGB7F-cr84IOBvx1yoKU1g,2613
|
|
6
|
+
chainlit/auth/cookie.py,sha256=gRIxEnfX1W2MyFhN3Glg414-pDBR9MbbL970fvOpEbo,3809
|
|
7
|
+
chainlit/auth/jwt.py,sha256=2ZgwNljDk-ekpTU1kohvI55gaB9IM1bYJYHN1Xa7AKQ,965
|
|
8
8
|
chainlit/cache.py,sha256=tPWzO4UHMgNnAnKolKdW0pm08ceZykrs25kvpWJHhN8,1389
|
|
9
|
-
chainlit/callbacks.py,sha256=
|
|
9
|
+
chainlit/callbacks.py,sha256=_77KLfR2tXHOLpmDZbWsXWRquXlMvPRpeBPGY1rohKM,10151
|
|
10
10
|
chainlit/chat_context.py,sha256=rVA4t2Df8YzMg-gNVArhDTZZ3wX83nOyKmgyHo8sJjQ,1848
|
|
11
11
|
chainlit/chat_settings.py,sha256=iZ2vSUUz9UIBwrRBTelTJFzvNMDZ5vX2f16BuSDThEY,898
|
|
12
12
|
chainlit/cli/__init__.py,sha256=00uuJPlSinXAV2WuHLIVQOQlZfOEUrwb1PD8coIFG6U,6582
|
|
13
|
-
chainlit/config.py,sha256=
|
|
13
|
+
chainlit/config.py,sha256=QVFTkgjoEjf1oxq2hOVd40rPH_taEEc-7E1XApFRbMw,16131
|
|
14
14
|
chainlit/context.py,sha256=BtbGRdmRRqOC5Vbz8zijkgiN0gyKuDamkPPNrscOgo4,3317
|
|
15
15
|
chainlit/copilot/dist/assets/logo_dark-IkGJ_IwC.svg,sha256=Kjz3QMh-oh-ag4YatjU0YCPqGF7F8nHh8VUQoJIs01E,8887
|
|
16
16
|
chainlit/copilot/dist/assets/logo_light-Bb_IPh6r.svg,sha256=sHjnvEq1rfqh3bcexJNYUY7WEDdTQZq3aKZYpi4w4ck,8889
|
|
17
|
-
chainlit/copilot/dist/index.js,sha256=
|
|
18
|
-
chainlit/data/__init__.py,sha256=
|
|
17
|
+
chainlit/copilot/dist/index.js,sha256=AcdYxtADJpXxjFbDPxmE94ubOoflBEVR3XQmyxjqlU0,7737537
|
|
18
|
+
chainlit/data/__init__.py,sha256=u9s1XLiryEW9t0PuJOSbIjOHqgOQ8_BbtAwJcJmZyXI,4729
|
|
19
19
|
chainlit/data/acl.py,sha256=1g9fWxq3K2n06g1Ngb_QNBhyKNXUpKEGiUW6VnAfqtg,575
|
|
20
20
|
chainlit/data/base.py,sha256=CmqWc9BtqGk79UUqJJIni81vAJFaV_UFpaFCw7gTkR0,2527
|
|
21
|
+
chainlit/data/chainlit_data_layer.py,sha256=75AjmtiKXD6dp6Ua2UPoATeOVMqkK9waWBBSHfZ0GOI,21508
|
|
21
22
|
chainlit/data/dynamodb.py,sha256=UP3-3KZHFOCWxWQ-PL1VecLLSi0mKwFM-RiEfPtbVWE,19413
|
|
22
|
-
chainlit/data/literalai.py,sha256=
|
|
23
|
-
chainlit/data/sql_alchemy.py,sha256=
|
|
23
|
+
chainlit/data/literalai.py,sha256=qIuwBnOxvO4BAbKrRAg9h4UiYEcGkDMXKHux5Z1jO1Y,17202
|
|
24
|
+
chainlit/data/sql_alchemy.py,sha256=doDUh3lKXY1TlnHiF6-p576Opf6eIeYOaudtcdIqO8k,30521
|
|
24
25
|
chainlit/data/storage_clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
26
|
chainlit/data/storage_clients/azure.py,sha256=QQYX6J60kbYmQTggQQFaHdsVw61skh1FCL3V0X-Qy30,2531
|
|
26
|
-
chainlit/data/storage_clients/
|
|
27
|
-
chainlit/data/storage_clients/
|
|
27
|
+
chainlit/data/storage_clients/azure_blob.py,sha256=c3svW1jovdj-VtnhdJEsCqrABU2NQ9c565GuqER9ZB0,3283
|
|
28
|
+
chainlit/data/storage_clients/base.py,sha256=L_pp4dhLf--BzkfHDzuJbKJinFa9AHJHLZ9BGC-Z28c,644
|
|
29
|
+
chainlit/data/storage_clients/gcs.py,sha256=aRbbyrL7bOasOKVdycW4yykJVGt_IYM3ymoTO4Z3Ydw,2926
|
|
30
|
+
chainlit/data/storage_clients/s3.py,sha256=E9Qtw3SEZkLCd9UXPlz0dTpFz8X-UDYk95dMAen3FDg,2519
|
|
28
31
|
chainlit/data/utils.py,sha256=cVe8p9F-lITgmAD2xhON_h0nKJVrh1P0AUoLCq6JCWs,966
|
|
29
32
|
chainlit/discord/__init__.py,sha256=lTHHcYQmfa2wpJ35m3eveEpUbp6ti2YSA7AdopfsREs,219
|
|
30
33
|
chainlit/discord/app.py,sha256=Kx0Y48Isy1BbwtoVM16tXqAIYtf_j8y1z2kXS5zIkuk,11175
|
|
31
|
-
chainlit/element.py,sha256=
|
|
32
|
-
chainlit/emitter.py,sha256=
|
|
33
|
-
chainlit/frontend/dist/assets/DailyMotion-
|
|
34
|
-
chainlit/frontend/dist/assets/
|
|
35
|
-
chainlit/frontend/dist/assets/
|
|
36
|
-
chainlit/frontend/dist/assets/
|
|
37
|
-
chainlit/frontend/dist/assets/
|
|
38
|
-
chainlit/frontend/dist/assets/
|
|
39
|
-
chainlit/frontend/dist/assets/
|
|
40
|
-
chainlit/frontend/dist/assets/
|
|
41
|
-
chainlit/frontend/dist/assets/
|
|
42
|
-
chainlit/frontend/dist/assets/
|
|
43
|
-
chainlit/frontend/dist/assets/
|
|
44
|
-
chainlit/frontend/dist/assets/
|
|
45
|
-
chainlit/frontend/dist/assets/
|
|
46
|
-
chainlit/frontend/dist/assets/
|
|
47
|
-
chainlit/frontend/dist/assets/
|
|
48
|
-
chainlit/frontend/dist/assets/index-
|
|
34
|
+
chainlit/element.py,sha256=7YVgbeST8qRAYO2kM8LrNvI2q4c_3xgZJL6paCn2n08,11731
|
|
35
|
+
chainlit/emitter.py,sha256=X8OwAGkcs44Gp3OyLtClFqqMuMJMH_AOJHXafCBCYH4,14088
|
|
36
|
+
chainlit/frontend/dist/assets/DailyMotion-DFvM941y.js,sha256=ErXwiKuHXfkUPYDtp6Ti_qUw2fOdApRJj2xRRXU1Oy0,2958
|
|
37
|
+
chainlit/frontend/dist/assets/Dataframe-CA6SlUSB.js,sha256=0hFrbHjWYpLIP5T0WCz14SukzCUA4WvNywx6rYs4fZk,53932
|
|
38
|
+
chainlit/frontend/dist/assets/Facebook-BM4MwXR1.js,sha256=vczt4Ny4sM5LqliK2btwe0klIpd5OMQ1WwRAO5OL2jU,3213
|
|
39
|
+
chainlit/frontend/dist/assets/FilePlayer-CfjB8iXr.js,sha256=GME3JROpJG4igEeq5Y9XqvfCsTdJj25iXFJbJHCqqrE,9038
|
|
40
|
+
chainlit/frontend/dist/assets/Kaltura-Bg-U6Xkz.js,sha256=lZ_koYDqhKU7RS8UWOM5LG_iXrqr3D7fC9um49d-yqk,2787
|
|
41
|
+
chainlit/frontend/dist/assets/Mixcloud-xJrfoMTv.js,sha256=e_oCuu0wNcaGKNqRFAT5fLL5mFh32wQlheV19aNMb4s,2635
|
|
42
|
+
chainlit/frontend/dist/assets/Mux-CKnKDBmk.js,sha256=jl8vKMIMHrBCL-BfefyXTprSE9NFVhbe8JR6R0uV6EA,5357
|
|
43
|
+
chainlit/frontend/dist/assets/Preview-DwHPdmIg.js,sha256=-s72c4a2AWvZDO0yDxlXfYMjy3673zdUDnr5clE9Th0,3008
|
|
44
|
+
chainlit/frontend/dist/assets/SoundCloud-Crd5dwXV.js,sha256=WeUj6G5QxJ7vmUYCT_mWcFuI5aF9Qg5hIMraAIshrQM,2920
|
|
45
|
+
chainlit/frontend/dist/assets/Streamable-Dq0c8lyx.js,sha256=fh1mFJoEhdXnVcKxPSQ7hZwy2ytbhYzDakn3di2d_Ew,2932
|
|
46
|
+
chainlit/frontend/dist/assets/Twitch-DIDvP936.js,sha256=olNnqgR5bFdE2q6gFLEwfOMDzAErfhD2qQVy9A72yxA,3080
|
|
47
|
+
chainlit/frontend/dist/assets/Vidyard-B1dz9WN4.js,sha256=v-gXgTz5-yNQ72MKhrUsb_HEvjXtzaffN59VbC7mP0A,2854
|
|
48
|
+
chainlit/frontend/dist/assets/Vimeo-22Su6q2w.js,sha256=siRqkA42eOe0N_5nKqKm_LdC0MeA13Ke3OZU4ZIy-gM,3624
|
|
49
|
+
chainlit/frontend/dist/assets/Wistia-C7adXRjN.js,sha256=RAb0s9pHCgkULyBoslhGPTEol9WeYFj_sAvheFc40jk,3516
|
|
50
|
+
chainlit/frontend/dist/assets/YouTube-Dt4UMtQI.js,sha256=zIDBy9Cmjpqz6EL39LbYpoq7S7LbdT7hXP8j-Izmcec,4445
|
|
51
|
+
chainlit/frontend/dist/assets/index-DbdLVHtZ.js,sha256=nNmMY-H5JH-X3yerYy8Ed_xnIXF7_WEScUD0xieuQX8,3729956
|
|
52
|
+
chainlit/frontend/dist/assets/index-g8LTJwwr.css,sha256=uruR7HQDJEhdhARMz0uJXjUecCYmqu29EQAWErVl_p0,60378
|
|
49
53
|
chainlit/frontend/dist/assets/logo_dark-IkGJ_IwC.svg,sha256=Kjz3QMh-oh-ag4YatjU0YCPqGF7F8nHh8VUQoJIs01E,8887
|
|
50
54
|
chainlit/frontend/dist/assets/logo_light-Bb_IPh6r.svg,sha256=sHjnvEq1rfqh3bcexJNYUY7WEDdTQZq3aKZYpi4w4ck,8889
|
|
51
|
-
chainlit/frontend/dist/assets/react-plotly-
|
|
55
|
+
chainlit/frontend/dist/assets/react-plotly-DvpXYYRJ.js,sha256=nAaQw4iPRjWYM8Z8icZRLNc2xzMxOXRXvbyXzXa7XfA,3762918
|
|
52
56
|
chainlit/frontend/dist/favicon.svg,sha256=0Cy8x28obT5eWW3nxZRhsEvu6_zMqrqbg0y6hT3D0Q0,6455
|
|
53
|
-
chainlit/frontend/dist/index.html,sha256=
|
|
57
|
+
chainlit/frontend/dist/index.html,sha256=4iIBNwSY_CP-yBT3K8OGOA2LI9X-Vyn_u78pvMh7tqY,972
|
|
54
58
|
chainlit/haystack/__init__.py,sha256=uZ77YiPy-qleSTi3dQCDO9HE6S6F6GpJWmh7jO4cxXA,217
|
|
55
59
|
chainlit/haystack/callbacks.py,sha256=J5t6YL3QoxyT0sg8t08nPA7b4VOGKIkmWtkbmFZXjBI,5038
|
|
56
60
|
chainlit/hello.py,sha256=LwENQWo5s5r8nNDn4iKSV77vX60Ky5r_qGjQhyi7qlY,416
|
|
@@ -62,24 +66,24 @@ chainlit/llama_index/__init__.py,sha256=weRoIWCaRBGvA1LczCEfsqhWsltQSVlhtRnTovtd
|
|
|
62
66
|
chainlit/llama_index/callbacks.py,sha256=aCi39G4Sbh_MjuSZbBv3_PM5190YA5UqNTN7DrdtT1I,7282
|
|
63
67
|
chainlit/logger.py,sha256=wTwRSZsLfXwWy6U4351IgWAm4KCMThgxm9EZpjGUEr4,373
|
|
64
68
|
chainlit/markdown.py,sha256=V-Op4hyqyTTvXInU5QrHfxs0nb71lBMU8trOSAlast8,2142
|
|
65
|
-
chainlit/message.py,sha256=
|
|
69
|
+
chainlit/message.py,sha256=KoBretNwiS2i1BMPhRpqItlcEvyanxgaq8qh-Dwv6R0,17232
|
|
66
70
|
chainlit/mistralai/__init__.py,sha256=BeH3LRmJ5mUgMlOA8XS61nhoQwVreW6sENJdIrlfDXw,1508
|
|
67
71
|
chainlit/oauth_providers.py,sha256=AnH-bqeCnS7VgyIhgAHDI5-XkVWsFr52yo65ldePxxw,26653
|
|
68
72
|
chainlit/openai/__init__.py,sha256=qGC9yJydzlZffrC1oCPZwpuWwJkittDq74o6U2J_-Ho,1691
|
|
69
73
|
chainlit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
74
|
chainlit/secret.py,sha256=eYbDDENGfk1XcQ-hIOT2kEejZeLi6Y3Y3qWD5Y7JbCg,293
|
|
71
|
-
chainlit/server.py,sha256=
|
|
72
|
-
chainlit/session.py,sha256=
|
|
75
|
+
chainlit/server.py,sha256=kwgIFVJol-tlREajOiBgZaCnJqwSC7NYdMtDnS7YItg,39305
|
|
76
|
+
chainlit/session.py,sha256=ILL6j_J2gmiW5qwMIpmy1oO-3sQCob-p7HDgxXufwqk,9490
|
|
73
77
|
chainlit/slack/__init__.py,sha256=gkC1iYlQrWHDN8bbsWOquwwlyW9DtKAe22GizJJzY7A,226
|
|
74
78
|
chainlit/slack/app.py,sha256=OvbbGZARI1mHOEdVvxh8KTZ35Ryi4AbdP7grjr-VU1k,11742
|
|
75
|
-
chainlit/socket.py,sha256=
|
|
76
|
-
chainlit/step.py,sha256=
|
|
79
|
+
chainlit/socket.py,sha256=QvN54a-1wJXGMtZ-qRTaTdwKrn7pGzsIyV3v9PW2gKg,12214
|
|
80
|
+
chainlit/step.py,sha256=_bJZ3EuPEcLmtvpfJGpgixQcz6aTUqXEil40-BuS5xE,14312
|
|
77
81
|
chainlit/sync.py,sha256=pEaqdEoOp4W26p9-E11BiXemVTN4_OsYEcYyjLBEj7E,1236
|
|
78
82
|
chainlit/teams/__init__.py,sha256=_lUcuc5R4bYwUoC15jyKES10KTeH8ciSWqV5JyLrW6M,236
|
|
79
83
|
chainlit/teams/app.py,sha256=PAvlGkfF-KGe9PYT6rL8UXu4OYzsPjfTiNsysH1X8NY,10534
|
|
80
84
|
chainlit/telemetry.py,sha256=Rk4dnZv0OnGOgV4kD-VHdhgl4i7i3ypqhSE_R-LZceM,3060
|
|
81
85
|
chainlit/translations/bn.json,sha256=_44si0jO2AFZytfH9sBcINpOveQ4OZs77yf-_VlUtjs,13172
|
|
82
|
-
chainlit/translations/en-US.json,sha256=
|
|
86
|
+
chainlit/translations/en-US.json,sha256=1eyiwtp68DPSTdSQzSPjyMilqija1IUc0SA9TtSVJSo,7777
|
|
83
87
|
chainlit/translations/gu.json,sha256=CkhAowZ0mgMJhQUMrUADfKPfsDgj5mvHlC3WtQ0UjQE,12699
|
|
84
88
|
chainlit/translations/he-IL.json,sha256=fu6FXfoqYqydSh_NcDpS6ZN7byQ-WZkr4zU0qXznqwc,8789
|
|
85
89
|
chainlit/translations/hi.json,sha256=J15GBkMu45RJMj1p5sFVnlackwAp_jKySRsKN-wRCUg,12397
|
|
@@ -91,12 +95,12 @@ chainlit/translations/ta.json,sha256=kLXucUlMCD3jXlPhmOZ3FFZNdXfGDaqVxwqGqJqVF78
|
|
|
91
95
|
chainlit/translations/te.json,sha256=spOs9mYNITEUy_mKp4_9qmXP2yACVrruiQKb1zlRIWU,13608
|
|
92
96
|
chainlit/translations/zh-CN.json,sha256=Y3MhXUDFi4YMxX8-agpCM68efYXCGcHqyqRAen8LLfk,7508
|
|
93
97
|
chainlit/translations.py,sha256=WG_r7HzxBYns-zk9tVvoGdoofv71okTZx8k1RlcoTIg,2034
|
|
94
|
-
chainlit/types.py,sha256=
|
|
98
|
+
chainlit/types.py,sha256=Kx3G-gWd6LeGQweBo5kfC6HaXYysjJT_wU7ztC784Lg,5378
|
|
95
99
|
chainlit/user.py,sha256=yC9WvWYogoAa-6-mBR2HNHuZdE5rejGQD4vqQixIckA,772
|
|
96
|
-
chainlit/user_session.py,sha256=
|
|
100
|
+
chainlit/user_session.py,sha256=OWkIuDuy-He9_u6NHmH_mqpMiWFNPR2RoB8Cveum4Vw,1597
|
|
97
101
|
chainlit/utils.py,sha256=ht6S0RM0-51_EyKZ128yRYAT294Bf3gwgMBzIHv1xRI,3990
|
|
98
102
|
chainlit/version.py,sha256=VcRO6Iwchkv80BWb4hRGkOnBgDhj87-Yjorcv1u5Z3g,276
|
|
99
|
-
chainlit-2.
|
|
100
|
-
chainlit-2.
|
|
101
|
-
chainlit-2.
|
|
102
|
-
chainlit-2.
|
|
103
|
+
chainlit-2.0.2.dist-info/METADATA,sha256=HHVlMREsx_fuj0wH_bN7ve5zrtmh2mS2Nk12qwUt2zk,5150
|
|
104
|
+
chainlit-2.0.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
105
|
+
chainlit-2.0.2.dist-info/entry_points.txt,sha256=FrkqdjrFl8juSnvBndniyX7XuKojmUwO4ghRh-CFMQc,45
|
|
106
|
+
chainlit-2.0.2.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g,r as m,u as v,a as w}from"./index-Ba33_hdJ.js";function O(t,e){for(var a=0;a<e.length;a++){const s=e[a];if(typeof s!="string"&&!Array.isArray(s)){for(const r in s)if(r!=="default"&&!(r in t)){const o=Object.getOwnPropertyDescriptor(s,r);o&&Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>s[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var C=Object.create,i=Object.defineProperty,k=Object.getOwnPropertyDescriptor,D=Object.getOwnPropertyNames,E=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,R=(t,e,a)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,j=(t,e)=>{for(var a in e)i(t,a,{get:e[a],enumerable:!0})},h=(t,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of D(e))!S.call(t,r)&&r!==a&&i(t,r,{get:()=>e[r],enumerable:!(s=k(e,r))||s.enumerable});return t},I=(t,e,a)=>(a=t!=null?C(E(t)):{},h(!t||!t.__esModule?i(a,"default",{value:t,enumerable:!0}):a,t)),M=t=>h(i({},"__esModule",{value:!0}),t),n=(t,e,a)=>(R(t,typeof e!="symbol"?e+"":e,a),a),d={};j(d,{default:()=>l});var _=M(d),y=I(m),c=v,P=w;const W="https://fast.wistia.com/assets/external/E-v1.js",x="Wistia",A="wistia-player-";class l extends y.Component{constructor(){super(...arguments),n(this,"callPlayer",c.callPlayer),n(this,"playerID",this.props.config.playerId||`${A}${(0,c.randomString)()}`),n(this,"onPlay",(...e)=>this.props.onPlay(...e)),n(this,"onPause",(...e)=>this.props.onPause(...e)),n(this,"onSeek",(...e)=>this.props.onSeek(...e)),n(this,"onEnded",(...e)=>this.props.onEnded(...e)),n(this,"onPlaybackRateChange",(...e)=>this.props.onPlaybackRateChange(...e)),n(this,"mute",()=>{this.callPlayer("mute")}),n(this,"unmute",()=>{this.callPlayer("unmute")})}componentDidMount(){this.props.onMount&&this.props.onMount(this)}load(e){const{playing:a,muted:s,controls:r,onReady:o,config:p,onError:b}=this.props;(0,c.getSDK)(W,x).then(f=>{p.customControls&&p.customControls.forEach(u=>f.defineControl(u)),window._wq=window._wq||[],window._wq.push({id:this.playerID,options:{autoPlay:a,silentAutoPlay:"allow",muted:s,controlsVisibleOnLoad:r,fullscreenButton:r,playbar:r,playbackRateControl:r,qualityControl:r,volumeControl:r,settingsControl:r,smallPlayButton:r,...p.options},onReady:u=>{this.player=u,this.unbind(),this.player.bind("play",this.onPlay),this.player.bind("pause",this.onPause),this.player.bind("seek",this.onSeek),this.player.bind("end",this.onEnded),this.player.bind("playbackratechange",this.onPlaybackRateChange),o()}})},b)}unbind(){this.player.unbind("play",this.onPlay),this.player.unbind("pause",this.onPause),this.player.unbind("seek",this.onSeek),this.player.unbind("end",this.onEnded),this.player.unbind("playbackratechange",this.onPlaybackRateChange)}play(){this.callPlayer("play")}pause(){this.callPlayer("pause")}stop(){this.unbind(),this.callPlayer("remove")}seekTo(e,a=!0){this.callPlayer("time",e),a||this.pause()}setVolume(e){this.callPlayer("volume",e)}setPlaybackRate(e){this.callPlayer("playbackRate",e)}getDuration(){return this.callPlayer("duration")}getCurrentTime(){return this.callPlayer("time")}getSecondsLoaded(){return null}render(){const{url:e}=this.props,a=e&&e.match(P.MATCH_URL_WISTIA)[1],s=`wistia_embed wistia_async_${a}`,r={width:"100%",height:"100%"};return y.default.createElement("div",{id:this.playerID,key:a,className:s,style:r})}}n(l,"displayName","Wistia");n(l,"canPlay",P.canPlay.wistia);n(l,"loopOnEnded",!0);const L=g(_),T=O({__proto__:null,default:L},[_]);export{T as W};
|