chainlit 1.0.0rc3__py3-none-any.whl → 1.0.100__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 +14 -1
- chainlit/auth.py +4 -3
- chainlit/config.py +2 -6
- chainlit/data/__init__.py +97 -24
- chainlit/emitter.py +9 -5
- chainlit/frontend/dist/assets/index-c4f40824.js +723 -0
- chainlit/frontend/dist/assets/{react-plotly-c9578a93.js → react-plotly-259d6961.js} +1 -1
- chainlit/frontend/dist/index.html +1 -1
- chainlit/haystack/callbacks.py +32 -6
- chainlit/langchain/callbacks.py +8 -6
- chainlit/llama_index/callbacks.py +13 -5
- chainlit/message.py +1 -1
- chainlit/oauth_providers.py +67 -0
- chainlit/playground/config.py +2 -0
- chainlit/playground/provider.py +1 -1
- chainlit/playground/providers/__init__.py +1 -0
- chainlit/playground/providers/anthropic.py +1 -1
- chainlit/playground/providers/langchain.py +8 -7
- chainlit/playground/providers/vertexai.py +51 -6
- chainlit/server.py +35 -15
- chainlit/session.py +5 -1
- chainlit/socket.py +56 -18
- chainlit/step.py +4 -4
- chainlit/telemetry.py +2 -6
- chainlit/types.py +1 -1
- {chainlit-1.0.0rc3.dist-info → chainlit-1.0.100.dist-info}/METADATA +3 -3
- {chainlit-1.0.0rc3.dist-info → chainlit-1.0.100.dist-info}/RECORD +29 -29
- chainlit/frontend/dist/assets/index-15bb372a.js +0 -697
- {chainlit-1.0.0rc3.dist-info → chainlit-1.0.100.dist-info}/WHEEL +0 -0
- {chainlit-1.0.0rc3.dist-info → chainlit-1.0.100.dist-info}/entry_points.txt +0 -0
chainlit/socket.py
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import json
|
|
3
|
+
import uuid
|
|
4
|
+
from datetime import datetime
|
|
3
5
|
from typing import Any, Dict
|
|
4
6
|
|
|
5
7
|
from chainlit.action import Action
|
|
@@ -73,22 +75,41 @@ def load_user_env(user_env):
|
|
|
73
75
|
return user_env
|
|
74
76
|
|
|
75
77
|
|
|
78
|
+
def build_anon_user_identifier(environ):
|
|
79
|
+
scope = environ.get("asgi.scope", {})
|
|
80
|
+
client_ip, _ = scope.get("client")
|
|
81
|
+
ip = environ.get("HTTP_X_FORWARDED_FOR", client_ip)
|
|
82
|
+
|
|
83
|
+
try:
|
|
84
|
+
headers = scope.get("headers", {})
|
|
85
|
+
user_agent = next(
|
|
86
|
+
(v.decode("utf-8") for k, v in headers if k.decode("utf-8") == "user-agent")
|
|
87
|
+
)
|
|
88
|
+
return str(uuid.uuid5(uuid.NAMESPACE_DNS, user_agent + ip))
|
|
89
|
+
|
|
90
|
+
except StopIteration:
|
|
91
|
+
return str(uuid.uuid5(uuid.NAMESPACE_DNS, ip))
|
|
92
|
+
|
|
93
|
+
|
|
76
94
|
@socket.on("connect")
|
|
77
95
|
async def connect(sid, environ, auth):
|
|
78
96
|
if not config.code.on_chat_start and not config.code.on_message:
|
|
79
|
-
|
|
97
|
+
logger.warning(
|
|
80
98
|
"You need to configure at least an on_chat_start or an on_message callback"
|
|
81
99
|
)
|
|
82
|
-
|
|
100
|
+
return False
|
|
83
101
|
user = None
|
|
102
|
+
anon_user_identifier = build_anon_user_identifier(environ)
|
|
84
103
|
token = None
|
|
104
|
+
login_required = require_login()
|
|
85
105
|
try:
|
|
86
106
|
# Check if the authentication is required
|
|
87
|
-
if
|
|
107
|
+
if login_required:
|
|
88
108
|
authorization_header = environ.get("HTTP_AUTHORIZATION")
|
|
89
109
|
token = authorization_header.split(" ")[1] if authorization_header else None
|
|
90
110
|
user = await get_current_user(token=token)
|
|
91
111
|
except Exception as e:
|
|
112
|
+
logger.info("Authentication failed")
|
|
92
113
|
return False
|
|
93
114
|
|
|
94
115
|
# Function to send a message to this particular session
|
|
@@ -113,7 +134,7 @@ async def connect(sid, environ, auth):
|
|
|
113
134
|
|
|
114
135
|
user_env_string = environ.get("HTTP_USER_ENV")
|
|
115
136
|
user_env = load_user_env(user_env_string)
|
|
116
|
-
WebsocketSession(
|
|
137
|
+
ws_session = WebsocketSession(
|
|
117
138
|
id=session_id,
|
|
118
139
|
socket_id=sid,
|
|
119
140
|
emit=emit_fn,
|
|
@@ -124,6 +145,17 @@ async def connect(sid, environ, auth):
|
|
|
124
145
|
chat_profile=environ.get("HTTP_X_CHAINLIT_CHAT_PROFILE"),
|
|
125
146
|
thread_id=environ.get("HTTP_X_CHAINLIT_THREAD_ID"),
|
|
126
147
|
)
|
|
148
|
+
|
|
149
|
+
if data_layer := get_data_layer():
|
|
150
|
+
asyncio.create_task(
|
|
151
|
+
data_layer.create_user_session(
|
|
152
|
+
id=session_id,
|
|
153
|
+
started_at=datetime.utcnow().isoformat(),
|
|
154
|
+
anon_user_id=anon_user_identifier if not user else None,
|
|
155
|
+
user_id=user.identifier if user else None,
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
|
|
127
159
|
trace_event("connection_successful")
|
|
128
160
|
return True
|
|
129
161
|
|
|
@@ -153,22 +185,22 @@ async def connection_successful(sid):
|
|
|
153
185
|
|
|
154
186
|
@socket.on("clear_session")
|
|
155
187
|
async def clean_session(sid):
|
|
156
|
-
|
|
157
|
-
if config.code.on_chat_end:
|
|
158
|
-
init_ws_context(session)
|
|
159
|
-
await config.code.on_chat_end()
|
|
160
|
-
# Clean up the user session
|
|
161
|
-
if session.id in user_sessions:
|
|
162
|
-
user_sessions.pop(session.id)
|
|
163
|
-
|
|
164
|
-
# Clean up the session
|
|
165
|
-
session.delete()
|
|
188
|
+
await disconnect(sid, force_clear=True)
|
|
166
189
|
|
|
167
190
|
|
|
168
191
|
@socket.on("disconnect")
|
|
169
|
-
async def disconnect(sid):
|
|
192
|
+
async def disconnect(sid, force_clear=False):
|
|
170
193
|
session = WebsocketSession.get(sid)
|
|
171
194
|
if session:
|
|
195
|
+
if data_layer := get_data_layer():
|
|
196
|
+
asyncio.create_task(
|
|
197
|
+
data_layer.update_user_session(
|
|
198
|
+
id=session.id,
|
|
199
|
+
is_interactive=session.has_first_interaction,
|
|
200
|
+
ended_at=datetime.utcnow().isoformat(),
|
|
201
|
+
)
|
|
202
|
+
)
|
|
203
|
+
|
|
172
204
|
init_ws_context(session)
|
|
173
205
|
|
|
174
206
|
if config.code.on_chat_end and session:
|
|
@@ -177,8 +209,7 @@ async def disconnect(sid):
|
|
|
177
209
|
if session and session.thread_id and session.has_first_interaction:
|
|
178
210
|
await persist_user_session(session.thread_id, session.to_persistable())
|
|
179
211
|
|
|
180
|
-
|
|
181
|
-
await asyncio.sleep(config.project.session_timeout)
|
|
212
|
+
def clear():
|
|
182
213
|
if session := WebsocketSession.get(sid):
|
|
183
214
|
# Clean up the user session
|
|
184
215
|
if session.id in user_sessions:
|
|
@@ -186,7 +217,14 @@ async def disconnect(sid):
|
|
|
186
217
|
# Clean up the session
|
|
187
218
|
session.delete()
|
|
188
219
|
|
|
189
|
-
|
|
220
|
+
async def clear_on_timeout(sid):
|
|
221
|
+
await asyncio.sleep(config.project.session_timeout)
|
|
222
|
+
clear()
|
|
223
|
+
|
|
224
|
+
if force_clear:
|
|
225
|
+
clear()
|
|
226
|
+
else:
|
|
227
|
+
asyncio.ensure_future(clear_on_timeout(sid))
|
|
190
228
|
|
|
191
229
|
|
|
192
230
|
@socket.on("stop")
|
chainlit/step.py
CHANGED
|
@@ -14,8 +14,8 @@ from chainlit.element import Element
|
|
|
14
14
|
from chainlit.logger import logger
|
|
15
15
|
from chainlit.telemetry import trace_event
|
|
16
16
|
from chainlit.types import FeedbackDict
|
|
17
|
-
from
|
|
18
|
-
from
|
|
17
|
+
from literalai import BaseGeneration
|
|
18
|
+
from literalai.step import StepType, TrueStepType
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class StepDict(TypedDict, total=False):
|
|
@@ -257,7 +257,7 @@ class Step:
|
|
|
257
257
|
|
|
258
258
|
if data_layer:
|
|
259
259
|
try:
|
|
260
|
-
asyncio.create_task(data_layer.update_step(step_dict))
|
|
260
|
+
asyncio.create_task(data_layer.update_step(step_dict.copy()))
|
|
261
261
|
except Exception as e:
|
|
262
262
|
if self.fail_on_persist_error:
|
|
263
263
|
raise e
|
|
@@ -313,7 +313,7 @@ class Step:
|
|
|
313
313
|
|
|
314
314
|
if data_layer:
|
|
315
315
|
try:
|
|
316
|
-
asyncio.create_task(data_layer.create_step(step_dict))
|
|
316
|
+
asyncio.create_task(data_layer.create_step(step_dict.copy()))
|
|
317
317
|
self.persisted = True
|
|
318
318
|
except Exception as e:
|
|
319
319
|
if self.fail_on_persist_error:
|
chainlit/telemetry.py
CHANGED
|
@@ -31,9 +31,6 @@ class ChainlitTelemetry:
|
|
|
31
31
|
if resource:
|
|
32
32
|
return resource
|
|
33
33
|
|
|
34
|
-
# If we are in production, use the URL as hostname
|
|
35
|
-
if config.chainlit_prod_url:
|
|
36
|
-
host_name = config.chainlit_prod_url
|
|
37
34
|
# Hash the local hostname to avoid leaking it.
|
|
38
35
|
else:
|
|
39
36
|
host_name = gethostname()
|
|
@@ -42,7 +39,7 @@ class ChainlitTelemetry:
|
|
|
42
39
|
attrs = {"host.name": host_name}
|
|
43
40
|
|
|
44
41
|
if resource_attributes:
|
|
45
|
-
attrs.update(resource_attributes)
|
|
42
|
+
attrs.update(resource_attributes) # type: ignore
|
|
46
43
|
if service_name:
|
|
47
44
|
attrs["service.name"] = service_name
|
|
48
45
|
if service_version:
|
|
@@ -50,7 +47,7 @@ class ChainlitTelemetry:
|
|
|
50
47
|
if deployment_environment:
|
|
51
48
|
attrs["deployment.environment"] = deployment_environment
|
|
52
49
|
|
|
53
|
-
return Resource.create(attrs)
|
|
50
|
+
return Resource.create(attrs) # type: ignore
|
|
54
51
|
|
|
55
52
|
def configure_tracer(self):
|
|
56
53
|
import uptrace
|
|
@@ -67,7 +64,6 @@ class ChainlitTelemetry:
|
|
|
67
64
|
uptrace.configure_opentelemetry(
|
|
68
65
|
dsn="https://YPa4AbDF853uCW6UWN2oYg@api.uptrace.dev/1778",
|
|
69
66
|
service_name="chainlit",
|
|
70
|
-
service_version="1.1.0",
|
|
71
67
|
deployment_environment="production",
|
|
72
68
|
logging_level=logging.CRITICAL,
|
|
73
69
|
)
|
chainlit/types.py
CHANGED
|
@@ -6,8 +6,8 @@ if TYPE_CHECKING:
|
|
|
6
6
|
from chainlit.user import UserDict
|
|
7
7
|
from chainlit.step import StepDict
|
|
8
8
|
|
|
9
|
-
from chainlit_client import ChatGeneration, CompletionGeneration
|
|
10
9
|
from dataclasses_json import DataClassJsonMixin
|
|
10
|
+
from literalai import ChatGeneration, CompletionGeneration
|
|
11
11
|
from pydantic import BaseModel
|
|
12
12
|
from pydantic.dataclasses import dataclass
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: chainlit
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.100
|
|
4
4
|
Summary: A faster way to build chatbot UIs.
|
|
5
5
|
Home-page: https://github.com/Chainlit/chainlit
|
|
6
6
|
License: Apache-2.0 license
|
|
@@ -15,7 +15,6 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
16
|
Requires-Dist: aiofiles (>=23.1.0,<24.0.0)
|
|
17
17
|
Requires-Dist: asyncer (>=0.0.2,<0.0.3)
|
|
18
|
-
Requires-Dist: chainlit_client (==0.1.0rc7)
|
|
19
18
|
Requires-Dist: click (>=8.1.3,<9.0.0)
|
|
20
19
|
Requires-Dist: dataclasses_json (>=0.5.7,<0.6.0)
|
|
21
20
|
Requires-Dist: fastapi (>=0.100,<0.101)
|
|
@@ -23,6 +22,7 @@ Requires-Dist: fastapi-socketio (>=0.0.10,<0.0.11)
|
|
|
23
22
|
Requires-Dist: filetype (>=1.2.0,<2.0.0)
|
|
24
23
|
Requires-Dist: httpx (>=0.23.0,<0.25.0)
|
|
25
24
|
Requires-Dist: lazify (>=0.4.0,<0.5.0)
|
|
25
|
+
Requires-Dist: literalai (==0.0.102)
|
|
26
26
|
Requires-Dist: nest-asyncio (>=1.5.6,<2.0.0)
|
|
27
27
|
Requires-Dist: packaging (>=23.1,<24.0)
|
|
28
28
|
Requires-Dist: pydantic (>=1,<3)
|
|
@@ -32,7 +32,7 @@ Requires-Dist: python-graphql-client (>=0.4.3,<0.5.0)
|
|
|
32
32
|
Requires-Dist: python-multipart (>=0.0.6,<0.0.7)
|
|
33
33
|
Requires-Dist: syncer (>=2.0.3,<3.0.0)
|
|
34
34
|
Requires-Dist: tomli (>=2.0.1,<3.0.0)
|
|
35
|
-
Requires-Dist: uptrace (>=1.
|
|
35
|
+
Requires-Dist: uptrace (>=1.22.0,<2.0.0)
|
|
36
36
|
Requires-Dist: uvicorn (>=0.23.2,<0.24.0)
|
|
37
37
|
Requires-Dist: watchfiles (>=0.20.0,<0.21.0)
|
|
38
38
|
Project-URL: Repository, https://github.com/Chainlit/chainlit
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
chainlit/__init__.py,sha256=
|
|
1
|
+
chainlit/__init__.py,sha256=SPlsN7CA9RbelAfrBovwwW7h4cKTSB0xLhDfdZWjH-s,9313
|
|
2
2
|
chainlit/__main__.py,sha256=7Vg3w3T3qDuz4KDu5lQhLH6lQ3cYdume7gHH7Z1V97U,87
|
|
3
3
|
chainlit/action.py,sha256=k-GsblVHI4DnDWFyF-RZgq3KfdfAFICFh2OBeU4w8N8,1410
|
|
4
|
-
chainlit/auth.py,sha256=
|
|
4
|
+
chainlit/auth.py,sha256=dIu37bsPVBSIf0hTGevWuHVfjNPpFWXnPNrUcICPFrg,2688
|
|
5
5
|
chainlit/cache.py,sha256=Bv3dT4eHhE6Fq3c6Do0ZTpiyoXgXYewdxTgpYghEd9g,1361
|
|
6
6
|
chainlit/chat_settings.py,sha256=2ByenmwS8O6jQjDVJjhhbLrBPGA5aY2F7R3VvQQxXPk,877
|
|
7
7
|
chainlit/cli/__init__.py,sha256=aMynTbqbJEvxkoIzDjsdKL6wJ0HFgLfVrbxFkwqp1FU,4733
|
|
8
8
|
chainlit/cli/utils.py,sha256=mE2d9oOk-B2b9ZvDV1zENoDWxjfMriGP7bVwEFduZP4,717
|
|
9
|
-
chainlit/config.py,sha256=
|
|
9
|
+
chainlit/config.py,sha256=RtXHJROx7r-moxu_2bsjXjsGnqKNePlUWDVemoi8wXk,10477
|
|
10
10
|
chainlit/context.py,sha256=Su3eabnD2sgLNx5IwlxEpG4pev64GLi-GlvbE5Mw7sM,2264
|
|
11
|
-
chainlit/data/__init__.py,sha256=
|
|
11
|
+
chainlit/data/__init__.py,sha256=uOrpWPwxfAGogGRKVkBGzvvaxi4-5yZnyF2y6HzxdUk,15512
|
|
12
12
|
chainlit/data/acl.py,sha256=hx7Othkx12EitonyZD4iFIRVHwxBmBY2TKdwjPuZMSo,461
|
|
13
13
|
chainlit/element.py,sha256=cjQDuCSv4OSI2Z0q9JNJf4jn08dAcym6jX8iiHaZrKA,10123
|
|
14
|
-
chainlit/emitter.py,sha256=
|
|
15
|
-
chainlit/frontend/dist/assets/index-
|
|
14
|
+
chainlit/emitter.py,sha256=H-MbWGf2KWrCRpqEfBxsjI_G0wQErb8aIo1yutb2ouQ,11272
|
|
15
|
+
chainlit/frontend/dist/assets/index-c4f40824.js,sha256=WwrBcZL_7OKyO6BqYlpwtcegkEEPF8tm2WMAOJJ1gOI,3177303
|
|
16
16
|
chainlit/frontend/dist/assets/index-d088547c.css,sha256=0IhUfCm_IY1kjvlTR2edW1qKXAFDya3LZ6mnZnP6ovk,6605
|
|
17
17
|
chainlit/frontend/dist/assets/logo_dark-bc7401f6.svg,sha256=vHQB9g-n5OqOmuH3Fduuc7ZMg0EmMsGyO9cEnYwLbHg,8889
|
|
18
18
|
chainlit/frontend/dist/assets/logo_light-f19fc2ea.svg,sha256=8Z_C6t-0V9QL9ldmLjaLfp2REcGDuaTeNynj6-6muNI,8891
|
|
19
|
-
chainlit/frontend/dist/assets/react-plotly-
|
|
19
|
+
chainlit/frontend/dist/assets/react-plotly-259d6961.js,sha256=djnx-4HnrUzyis8Z9IKHZ3nlEQgBLKQ83a9SiqfaTws,3739251
|
|
20
20
|
chainlit/frontend/dist/favicon.svg,sha256=0Cy8x28obT5eWW3nxZRhsEvu6_zMqrqbg0y6hT3D0Q0,6455
|
|
21
|
-
chainlit/frontend/dist/index.html,sha256=
|
|
21
|
+
chainlit/frontend/dist/index.html,sha256=smQKmixVXuV17iimIpLLTDVddvpOTUv9B2mMf0XViuc,959
|
|
22
22
|
chainlit/haystack/__init__.py,sha256=uZ77YiPy-qleSTi3dQCDO9HE6S6F6GpJWmh7jO4cxXA,217
|
|
23
|
-
chainlit/haystack/callbacks.py,sha256=
|
|
23
|
+
chainlit/haystack/callbacks.py,sha256=OAGPW25i5IpYGF-wd9fIsFhERnmB61vxcKZ2PKmGp9w,5168
|
|
24
24
|
chainlit/hello.py,sha256=LwENQWo5s5r8nNDn4iKSV77vX60Ky5r_qGjQhyi7qlY,416
|
|
25
25
|
chainlit/input_widget.py,sha256=1Z1qn3YwaZ7upqqxZXtbfDxBlVobDjbZ3HtlNOj-U3E,4880
|
|
26
26
|
chainlit/langchain/__init__.py,sha256=zErMw0_3ufSGeF9ye7X0ZX3wDat4mTOx97T40ePDO2g,217
|
|
27
|
-
chainlit/langchain/callbacks.py,sha256=
|
|
27
|
+
chainlit/langchain/callbacks.py,sha256=UZrRlUDl089_cljNfBcYKoKN69pqOgoxiHPJrlhDkoE,24141
|
|
28
28
|
chainlit/langflow/__init__.py,sha256=wxhxdsl1yxdsRyNTgZticxFF_8VFtJJ4OdIy3tnEIyM,817
|
|
29
29
|
chainlit/llama_index/__init__.py,sha256=c7wIUZmKTtZPU9zpdGpKTHctQaBWTuRGqTN0kkIkBcg,218
|
|
30
|
-
chainlit/llama_index/callbacks.py,sha256=
|
|
30
|
+
chainlit/llama_index/callbacks.py,sha256=OZXkQjDz2gEd1fCwN3UJLKwT_j7St7uoy5VaZzHgen4,5868
|
|
31
31
|
chainlit/logger.py,sha256=wTwRSZsLfXwWy6U4351IgWAm4KCMThgxm9EZpjGUEr4,373
|
|
32
32
|
chainlit/markdown.py,sha256=L2IPPWxIlrhJZcKPfO1akomHdN3sgC2EvC2ilxR8MQs,1624
|
|
33
|
-
chainlit/message.py,sha256=
|
|
34
|
-
chainlit/oauth_providers.py,sha256=
|
|
33
|
+
chainlit/message.py,sha256=nKBvf5RHPHE9YyoQPBWl7IMfg69irvwEJ6TqE6bkV7k,17500
|
|
34
|
+
chainlit/oauth_providers.py,sha256=WiKUFpNp0RRN5Vq6LHCR9V-9td_1YEn2yD8iGu8atvY,17459
|
|
35
35
|
chainlit/playground/__init__.py,sha256=igNRcBgqLKPTjOQtTNhhGNJFmZn-Dl1fHRQzQSjDGTQ,80
|
|
36
|
-
chainlit/playground/config.py,sha256=
|
|
37
|
-
chainlit/playground/provider.py,sha256=
|
|
38
|
-
chainlit/playground/providers/__init__.py,sha256=
|
|
39
|
-
chainlit/playground/providers/anthropic.py,sha256=
|
|
36
|
+
chainlit/playground/config.py,sha256=_T0ELFRfBVUIOlaNvp3Af3X7wfMEQjxZPh26X_6mXYY,1033
|
|
37
|
+
chainlit/playground/provider.py,sha256=Fs_gnwbz_xCKa2fNE5G7Q2xnAAGJXyTmjpTCRkYHcFU,5167
|
|
38
|
+
chainlit/playground/providers/__init__.py,sha256=DxVp9BbQUdAPstpDTg2koNUTMS3tJa84iPTt_gQoHGM,236
|
|
39
|
+
chainlit/playground/providers/anthropic.py,sha256=VZVTCMUmiQPNFyqt57vwXwU7EbANf1hMfkWsdnkvZoQ,3441
|
|
40
40
|
chainlit/playground/providers/huggingface.py,sha256=AmBmIzvfqBjswEI40jifb0OrMQkTk5rXCkGX7nMJ-bk,2130
|
|
41
|
-
chainlit/playground/providers/langchain.py,sha256=
|
|
41
|
+
chainlit/playground/providers/langchain.py,sha256=vc6p9WmcY9kxGvK5irefbIfhUtNmBQgUuSx55T-Wiis,2978
|
|
42
42
|
chainlit/playground/providers/openai.py,sha256=ch2Eyoz696YJ6H2P1dT6n9RAw-PsiBLVK2_MhgEEcFo,12421
|
|
43
|
-
chainlit/playground/providers/vertexai.py,sha256=
|
|
43
|
+
chainlit/playground/providers/vertexai.py,sha256=zKy501f-MHnLrvuRzN50FqgB3xoHzfQFTVbw83Nsj20,5084
|
|
44
44
|
chainlit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
45
|
chainlit/secret.py,sha256=0MXq8YxTeL93K8IyAew5UgZmIIw9_yJ_Kg4iML6cdVM,296
|
|
46
|
-
chainlit/server.py,sha256=
|
|
47
|
-
chainlit/session.py,sha256=
|
|
48
|
-
chainlit/socket.py,sha256=
|
|
49
|
-
chainlit/step.py,sha256=
|
|
46
|
+
chainlit/server.py,sha256=ykFDvPs-oG-kHThf_jkNRfZizDUjrhbprjI8x4cvhg0,21059
|
|
47
|
+
chainlit/session.py,sha256=AmPZWf7tfF4K9TkslmjztZzT51u5QoNw6YTwwdhMU7M,8517
|
|
48
|
+
chainlit/socket.py,sha256=RPoxOMV1twB1_O4u2brKLDJO-FiGA0Jmdesy47qWiCE,10337
|
|
49
|
+
chainlit/step.py,sha256=pfTkRAffl86svFSrz_W41HM0WM8766gFFLgc-9SEzJM,12186
|
|
50
50
|
chainlit/sync.py,sha256=G1n-7-3WgXsN8y1bJkEyws_YwmHZIyDZoZUwhprigag,1235
|
|
51
|
-
chainlit/telemetry.py,sha256=
|
|
52
|
-
chainlit/types.py,sha256=
|
|
51
|
+
chainlit/telemetry.py,sha256=Rk4dnZv0OnGOgV4kD-VHdhgl4i7i3ypqhSE_R-LZceM,3060
|
|
52
|
+
chainlit/types.py,sha256=mEVTk_z_wJABJf92_uWkqGF4WmOqLf9HIiuTVSREImo,3355
|
|
53
53
|
chainlit/user.py,sha256=Cw4uGz0ffivWFszv8W__EHwkvTHQ3Lj9hqpRCPxFujo,619
|
|
54
54
|
chainlit/user_session.py,sha256=nyPx8vSICP8BhpPcW5h9vbHVf9ixj39SrkvJBUI_6zs,1368
|
|
55
55
|
chainlit/utils.py,sha256=3HzhfZ4XJhBIe9sJ_3Lxv3lMH4mFXsi6nLBGqm8Gtdw,2571
|
|
56
56
|
chainlit/version.py,sha256=iosXhlXclBwBqlADFKEilxAC2wWKbtuBKi87AmPi7s8,196
|
|
57
|
-
chainlit-1.0.
|
|
58
|
-
chainlit-1.0.
|
|
59
|
-
chainlit-1.0.
|
|
60
|
-
chainlit-1.0.
|
|
57
|
+
chainlit-1.0.100.dist-info/METADATA,sha256=YreNSwLh2etgpLlX6f56ZBwrHGUAoJM9gRH4ByE0MD8,5552
|
|
58
|
+
chainlit-1.0.100.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
59
|
+
chainlit-1.0.100.dist-info/entry_points.txt,sha256=FrkqdjrFl8juSnvBndniyX7XuKojmUwO4ghRh-CFMQc,45
|
|
60
|
+
chainlit-1.0.100.dist-info/RECORD,,
|