chainlit 1.1.305__py3-none-any.whl → 1.1.306__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.

Files changed (36) hide show
  1. chainlit/__init__.py +3 -2
  2. chainlit/chat_context.py +64 -0
  3. chainlit/config.py +3 -0
  4. chainlit/copilot/dist/index.js +138 -138
  5. chainlit/discord/app.py +2 -4
  6. chainlit/emitter.py +4 -2
  7. chainlit/frontend/dist/assets/{DailyMotion-4f715d15.js → DailyMotion-4ebdfef1.js} +1 -1
  8. chainlit/frontend/dist/assets/{Facebook-25f45c09.js → Facebook-40982be3.js} +1 -1
  9. chainlit/frontend/dist/assets/{FilePlayer-04482650.js → FilePlayer-5b3a4ad0.js} +1 -1
  10. chainlit/frontend/dist/assets/{Kaltura-37152a96.js → Kaltura-6c5cb748.js} +1 -1
  11. chainlit/frontend/dist/assets/{Mixcloud-914b75ee.js → Mixcloud-7a304880.js} +1 -1
  12. chainlit/frontend/dist/assets/{Mux-fb751398.js → Mux-1bd85c69.js} +1 -1
  13. chainlit/frontend/dist/assets/{Preview-85fbb8da.js → Preview-e91eb05e.js} +1 -1
  14. chainlit/frontend/dist/assets/{SoundCloud-8afad6c0.js → SoundCloud-2f2116b2.js} +1 -1
  15. chainlit/frontend/dist/assets/{Streamable-08844d93.js → Streamable-b92c07ce.js} +1 -1
  16. chainlit/frontend/dist/assets/{Twitch-1b95f5c8.js → Twitch-58a2eb9a.js} +1 -1
  17. chainlit/frontend/dist/assets/{Vidyard-5028fa2f.js → Vidyard-ad5bffa0.js} +1 -1
  18. chainlit/frontend/dist/assets/{Vimeo-ca732959.js → Vimeo-8fb43e9c.js} +1 -1
  19. chainlit/frontend/dist/assets/{Wistia-74e58d71.js → Wistia-d03e6237.js} +1 -1
  20. chainlit/frontend/dist/assets/{YouTube-bdf4ca10.js → YouTube-6b7d1dae.js} +1 -1
  21. chainlit/frontend/dist/assets/index-4f01eb67.js +727 -0
  22. chainlit/frontend/dist/assets/{react-plotly-cf9b99cc.js → react-plotly-ef3ac5f0.js} +1 -1
  23. chainlit/frontend/dist/index.html +1 -1
  24. chainlit/langchain/callbacks.py +2 -4
  25. chainlit/llama_index/callbacks.py +13 -27
  26. chainlit/message.py +4 -1
  27. chainlit/server.py +1 -1
  28. chainlit/slack/app.py +3 -5
  29. chainlit/socket.py +36 -0
  30. chainlit/types.py +0 -1
  31. chainlit/utils.py +1 -0
  32. {chainlit-1.1.305.dist-info → chainlit-1.1.306.dist-info}/METADATA +1 -1
  33. {chainlit-1.1.305.dist-info → chainlit-1.1.306.dist-info}/RECORD +35 -34
  34. chainlit/frontend/dist/assets/index-621140f9.js +0 -727
  35. {chainlit-1.1.305.dist-info → chainlit-1.1.306.dist-info}/WHEEL +0 -0
  36. {chainlit-1.1.305.dist-info → chainlit-1.1.306.dist-info}/entry_points.txt +0 -0
@@ -21,7 +21,7 @@
21
21
  <script>
22
22
  const global = globalThis;
23
23
  </script>
24
- <script type="module" crossorigin src="/assets/index-621140f9.js"></script>
24
+ <script type="module" crossorigin src="/assets/index-4f01eb67.js"></script>
25
25
  <link rel="stylesheet" href="/assets/index-aaf974a9.css">
26
26
  </head>
27
27
  <body>
@@ -452,7 +452,8 @@ class LangchainTracer(BaseTracer, GenerationHelper, FinalStreamHelper):
452
452
  if run.run_type == "agent":
453
453
  step_type = "run"
454
454
  elif run.run_type == "chain":
455
- pass
455
+ if not self.steps:
456
+ step_type = "run"
456
457
  elif run.run_type == "llm":
457
458
  step_type = "llm"
458
459
  elif run.run_type == "retriever":
@@ -462,9 +463,6 @@ class LangchainTracer(BaseTracer, GenerationHelper, FinalStreamHelper):
462
463
  elif run.run_type == "embedding":
463
464
  step_type = "embedding"
464
465
 
465
- if not self.steps and step_type != "llm":
466
- step_type = "run"
467
-
468
466
  disable_feedback = not self._is_annotable(run)
469
467
 
470
468
  step = Step(
@@ -33,33 +33,22 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
33
33
  event_starts_to_ignore=event_starts_to_ignore,
34
34
  event_ends_to_ignore=event_ends_to_ignore,
35
35
  )
36
- self.context = context_var.get()
37
36
 
38
37
  self.steps = {}
39
38
 
40
39
  def _get_parent_id(self, event_parent_id: Optional[str] = None) -> Optional[str]:
41
40
  if event_parent_id and event_parent_id in self.steps:
42
41
  return event_parent_id
43
- elif self.context.current_step:
44
- return self.context.current_step.id
45
- elif self.context.session.root_message:
46
- return self.context.session.root_message.id
42
+ elif context_var.get().current_step:
43
+ return context_var.get().current_step.id
44
+ elif context_var.get().session.root_message:
45
+ root_message = context_var.get().session.root_message
46
+ if root_message:
47
+ return root_message.id
48
+ return None
47
49
  else:
48
50
  return None
49
51
 
50
- def _restore_context(self) -> None:
51
- """Restore Chainlit context in the current thread
52
-
53
- Chainlit context is local to the main thread, and LlamaIndex
54
- runs the callbacks in its own threads, so they don't have a
55
- Chainlit context by default.
56
-
57
- This method restores the context in which the callback handler
58
- has been created (it's always created in the main thread), so
59
- that we can actually send messages.
60
- """
61
- context_var.set(self.context)
62
-
63
52
  def on_event_start(
64
53
  self,
65
54
  event_type: CBEventType,
@@ -69,8 +58,6 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
69
58
  **kwargs: Any,
70
59
  ) -> str:
71
60
  """Run when an event starts and return id of event."""
72
- self._restore_context()
73
-
74
61
  step_type: StepType = "undefined"
75
62
  if event_type == CBEventType.RETRIEVE:
76
63
  step_type = "tool"
@@ -88,10 +75,11 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
88
75
  id=event_id,
89
76
  disable_feedback=True,
90
77
  )
78
+
91
79
  self.steps[event_id] = step
92
80
  step.start = utc_now()
93
81
  step.input = payload or {}
94
- self.context.loop.create_task(step.send())
82
+ context_var.get().loop.create_task(step.send())
95
83
  return event_id
96
84
 
97
85
  def on_event_end(
@@ -107,8 +95,6 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
107
95
  if payload is None or step is None:
108
96
  return
109
97
 
110
- self._restore_context()
111
-
112
98
  step.end = utc_now()
113
99
 
114
100
  if event_type == CBEventType.QUERY:
@@ -127,7 +113,7 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
127
113
  for idx, source in enumerate(source_nodes)
128
114
  ]
129
115
  step.output = f"Retrieved the following sources: {source_refs}"
130
- self.context.loop.create_task(step.update())
116
+ context_var.get().loop.create_task(step.update())
131
117
 
132
118
  elif event_type == CBEventType.RETRIEVE:
133
119
  sources = payload.get(EventPayload.NODES)
@@ -144,7 +130,7 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
144
130
  for idx, source in enumerate(sources)
145
131
  ]
146
132
  step.output = f"Retrieved the following sources: {source_refs}"
147
- self.context.loop.create_task(step.update())
133
+ context_var.get().loop.create_task(step.update())
148
134
 
149
135
  elif event_type == CBEventType.LLM:
150
136
  formatted_messages = payload.get(
@@ -195,11 +181,11 @@ class LlamaIndexCallbackHandler(TokenCountingHandler):
195
181
  token_count=token_count,
196
182
  )
197
183
 
198
- self.context.loop.create_task(step.update())
184
+ context_var.get().loop.create_task(step.update())
199
185
 
200
186
  else:
201
187
  step.output = payload
202
- self.context.loop.create_task(step.update())
188
+ context_var.get().loop.create_task(step.update())
203
189
 
204
190
  self.steps.pop(event_id, None)
205
191
 
chainlit/message.py CHANGED
@@ -6,6 +6,7 @@ from abc import ABC
6
6
  from typing import Dict, List, Optional, Union, cast
7
7
 
8
8
  from chainlit.action import Action
9
+ from chainlit.chat_context import chat_context
9
10
  from chainlit.config import config
10
11
  from chainlit.context import context, local_steps
11
12
  from chainlit.data import get_data_layer
@@ -108,6 +109,7 @@ class MessageBase(ABC):
108
109
  self.streaming = False
109
110
 
110
111
  step_dict = self.to_dict()
112
+ chat_context.add(self)
111
113
 
112
114
  data_layer = get_data_layer()
113
115
  if data_layer:
@@ -127,7 +129,7 @@ class MessageBase(ABC):
127
129
  Remove a message already sent to the UI.
128
130
  """
129
131
  trace_event("remove_message")
130
-
132
+ chat_context.remove(self)
131
133
  step_dict = self.to_dict()
132
134
  data_layer = get_data_layer()
133
135
  if data_layer:
@@ -169,6 +171,7 @@ class MessageBase(ABC):
169
171
  self.streaming = False
170
172
 
171
173
  step_dict = await self._create()
174
+ chat_context.add(self)
172
175
  await context.emitter.send_step(step_dict)
173
176
 
174
177
  return self
chainlit/server.py CHANGED
@@ -332,7 +332,7 @@ def get_user_facing_url(url: URL):
332
332
  if config_url.path.endswith("/"):
333
333
  config_url = config_url.replace(path=config_url.path[:-1])
334
334
 
335
- return config_url.__str__() + url.path
335
+ return config_url.__str__()
336
336
 
337
337
 
338
338
  @router.get("/auth/config")
chainlit/slack/app.py CHANGED
@@ -332,7 +332,7 @@ async def handle_app_mentions(event, say):
332
332
  async def handle_message(message, say):
333
333
  user = await get_user(message["user"])
334
334
  thread_name = f"{user.identifier} Slack DM"
335
- await process_slack_message(message, say, thread_name)
335
+ await process_slack_message(message, say, thread_name, True)
336
336
 
337
337
 
338
338
  @slack_app.block_action("thumbdown")
@@ -341,8 +341,7 @@ async def thumb_down(ack, context, body):
341
341
  step_id = body["actions"][0]["value"]
342
342
 
343
343
  if data_layer := get_data_layer():
344
- thread_id = context_var.get().session.thread_id
345
- feedback = Feedback(forId=step_id, threadId=thread_id, value=0)
344
+ feedback = Feedback(forId=step_id, value=0)
346
345
  await data_layer.upsert_feedback(feedback)
347
346
 
348
347
  text = body["message"]["text"]
@@ -368,8 +367,7 @@ async def thumb_up(ack, context, body):
368
367
  step_id = body["actions"][0]["value"]
369
368
 
370
369
  if data_layer := get_data_layer():
371
- thread_id = context_var.get().session.thread_id
372
- feedback = Feedback(forId=step_id, threadId=thread_id, value=1)
370
+ feedback = Feedback(forId=step_id, value=1)
373
371
  await data_layer.upsert_feedback(feedback)
374
372
 
375
373
  text = body["message"]["text"]
chainlit/socket.py CHANGED
@@ -9,6 +9,7 @@ from chainlit.action import Action
9
9
  from chainlit.auth import get_current_user, require_login
10
10
  from chainlit.config import config
11
11
  from chainlit.context import init_ws_context
12
+ from chainlit.chat_context import chat_context
12
13
  from chainlit.data import get_data_layer
13
14
  from chainlit.element import Element
14
15
  from chainlit.logger import logger
@@ -183,6 +184,11 @@ async def connection_successful(sid):
183
184
  {"interaction": "resume", "thread_id": thread.get("id")},
184
185
  )
185
186
  await config.code.on_chat_resume(thread)
187
+
188
+ for step in thread.get("steps", []):
189
+ if "message" in step["type"]:
190
+ chat_context.add(Message.from_dict(step))
191
+
186
192
  await context.emitter.resume_thread(thread)
187
193
  return
188
194
 
@@ -269,6 +275,36 @@ async def process_message(session: WebsocketSession, payload: MessagePayload):
269
275
  await context.emitter.task_end()
270
276
 
271
277
 
278
+ @sio.on("edit_message")
279
+ async def edit_message(sid, payload: MessagePayload):
280
+ """Handle a message sent by the User."""
281
+ session = WebsocketSession.require(sid)
282
+ context = init_ws_context(session)
283
+
284
+ messages = chat_context.get()
285
+
286
+ orig_message = None
287
+
288
+ for message in messages:
289
+ if orig_message:
290
+ await message.remove()
291
+
292
+ if message.id == payload["message"]["id"]:
293
+ message.content = payload["message"]["output"]
294
+ await message.update()
295
+ orig_message = message
296
+
297
+ await context.emitter.task_start()
298
+
299
+ if config.code.on_message:
300
+ try:
301
+ await config.code.on_message(orig_message)
302
+ except asyncio.CancelledError:
303
+ pass
304
+ finally:
305
+ await context.emitter.task_end()
306
+
307
+
272
308
  @sio.on("client_message")
273
309
  async def message(sid, payload: MessagePayload):
274
310
  """Handle a message sent by the User."""
chainlit/types.py CHANGED
@@ -19,7 +19,6 @@ if TYPE_CHECKING:
19
19
  from chainlit.step import StepDict
20
20
 
21
21
  from dataclasses_json import DataClassJsonMixin
22
- from literalai import ChatGeneration, CompletionGeneration
23
22
  from pydantic import BaseModel
24
23
  from pydantic.dataclasses import dataclass
25
24
 
chainlit/utils.py CHANGED
@@ -121,6 +121,7 @@ def mount_chainlit(app: FastAPI, target: str, path="/chainlit"):
121
121
  from chainlit.server import combined_asgi_app as chainlit_app
122
122
 
123
123
  config.run.root_path = path
124
+ config.run.debug = os.environ.get("CHAINLIT_DEBUG", False)
124
125
 
125
126
  check_file(target)
126
127
  # Load the module provided by the user
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: chainlit
3
- Version: 1.1.305
3
+ Version: 1.1.306
4
4
  Summary: Build Conversational AI.
5
5
  Home-page: https://github.com/Chainlit/chainlit
6
6
  License: Apache-2.0 license
@@ -1,67 +1,68 @@
1
- chainlit/__init__.py,sha256=wA6GUIlzgv5nT7i4EckzrFj8mUxFXjTGOeupJYLkvR0,11191
1
+ chainlit/__init__.py,sha256=0g51S-SJi7A-Q14DvwdM1CLEASTaeqmD_aJ4_coAZV8,11257
2
2
  chainlit/__main__.py,sha256=7Vg3w3T3qDuz4KDu5lQhLH6lQ3cYdume7gHH7Z1V97U,87
3
3
  chainlit/action.py,sha256=k-GsblVHI4DnDWFyF-RZgq3KfdfAFICFh2OBeU4w8N8,1410
4
4
  chainlit/auth.py,sha256=lLHePwmwKzX0LiWqpTAtKTdSecrDLqCMSY9Yw4c-TD8,2681
5
5
  chainlit/cache.py,sha256=Bv3dT4eHhE6Fq3c6Do0ZTpiyoXgXYewdxTgpYghEd9g,1361
6
+ chainlit/chat_context.py,sha256=X1NInuCkhrfFhFUNIbipVaqf-90xXuyCAB9fvJlEUD4,1868
6
7
  chainlit/chat_settings.py,sha256=2ByenmwS8O6jQjDVJjhhbLrBPGA5aY2F7R3VvQQxXPk,877
7
8
  chainlit/cli/__init__.py,sha256=iLyxU_9db-2n_MaSr6V0VNoQDxhwRIT10-OGlENlq7o,6163
8
- chainlit/config.py,sha256=o2eF5q6O2xSYXAryW8xljuj98HH8u_AFWpTq6bHbrqM,16712
9
+ chainlit/config.py,sha256=hwnYEEc87mJQHHzVtFTntu1TfR8ILntZYgpaJ1ocSOU,16762
9
10
  chainlit/context.py,sha256=wVtOHIAS9NufvnIW8e4VPHgD7W7pyrstEQGt29FtILc,3075
10
11
  chainlit/copilot/dist/assets/logo_dark-2a3cf740.svg,sha256=Kjz3QMh-oh-ag4YatjU0YCPqGF7F8nHh8VUQoJIs01E,8887
11
12
  chainlit/copilot/dist/assets/logo_light-b078e7bc.svg,sha256=sHjnvEq1rfqh3bcexJNYUY7WEDdTQZq3aKZYpi4w4ck,8889
12
- chainlit/copilot/dist/index.js,sha256=r8IU32Al2kzqQ7F_h93zHmxPnewv1EIyxrlw2xvF8zk,6752617
13
+ chainlit/copilot/dist/index.js,sha256=b-wGjUBTI1BNf3iI-UhYE3mKjpusTdpfMZVeSmC8LD8,6754187
13
14
  chainlit/data/__init__.py,sha256=cUT49s5AhIm5WDlESQEpahSl7k6nzlMAYSJgO_00kO0,17092
14
15
  chainlit/data/acl.py,sha256=5EwZuKVcZediw77L661MohGce3JzGIaYmw6NutmMTw0,578
15
16
  chainlit/data/dynamodb.py,sha256=u5L9xqp0FG6J2VuGqUjMiJmIddL5jXs4MUcoZb4mXsM,19420
16
17
  chainlit/data/sql_alchemy.py,sha256=OFjNnNcswZOgYZfnc7sH2_lJQQDQF6olw2xW8-JMqsg,26805
17
18
  chainlit/data/storage_clients.py,sha256=D9KY1XKDjZh2uuh01ECxeoEtjw-JlrCR-WCuOuePVQI,3007
18
19
  chainlit/discord/__init__.py,sha256=kZ_AAMaCToqO-1FdeQ8_IHS2pqNT0QJ-yyd8bCMaHHs,198
19
- chainlit/discord/app.py,sha256=KvBS-bL89tKzzz2-lqCQVaI2hb4qYTyhl_TzCdhMfHQ,10540
20
+ chainlit/discord/app.py,sha256=LfWUKGBPO2GbHX9iHw70fnSRVzj7TabtyZZYfuZRzFY,10372
20
21
  chainlit/element.py,sha256=sjOgHjDaTuQ-t663dmBT-iBOgSVTn3mTlbSGjE42LjE,10990
21
- chainlit/emitter.py,sha256=BbZ0GwEY9DQu7cN2khgMqT7GzRK3dShPIJMRRwnGuag,13082
22
- chainlit/frontend/dist/assets/DailyMotion-4f715d15.js,sha256=McEtsekW8f1Ke_G18rBs8tvqXLkJ3_9AkAjYh3qcYBQ,2961
23
- chainlit/frontend/dist/assets/Facebook-25f45c09.js,sha256=hV-6hO_D6G3GXJ3QX4hKhLES2mRsnHf5y9rUSXyAV0s,3216
24
- chainlit/frontend/dist/assets/FilePlayer-04482650.js,sha256=7Uprghyy51uCm8FjN-UfTpifCcUIAr9yj9HsUI5yHXA,9041
25
- chainlit/frontend/dist/assets/Kaltura-37152a96.js,sha256=zlEa0HpAmEaeI0rNteuWlIbz610TkZvjkW2BKpV22q4,2790
26
- chainlit/frontend/dist/assets/Mixcloud-914b75ee.js,sha256=-2lAcGr4y3nESE2Ro9z5mTdHbry_f7y6YFAzCmP1uGc,2638
27
- chainlit/frontend/dist/assets/Mux-fb751398.js,sha256=PAYZxhtRbNL4zAUI1nBEkGh1ZLIe1JUySHe3QwFIqnc,5360
28
- chainlit/frontend/dist/assets/Preview-85fbb8da.js,sha256=8WaSiHAGJsoML92z7u-j9czoDvPKJujRlnIzdGFBkk4,3011
29
- chainlit/frontend/dist/assets/SoundCloud-8afad6c0.js,sha256=zUogOK_7bZ8fe_d_L0ZflOd-0B6BfBaxG5EU7Wcr1Hs,2923
30
- chainlit/frontend/dist/assets/Streamable-08844d93.js,sha256=TZM_SC8QnBAih-pDGvmdvpcBfUHyOwskp9Oabl96z9U,2935
31
- chainlit/frontend/dist/assets/Twitch-1b95f5c8.js,sha256=ncki32IKXhUiZX6lBNY7-7sto-UUFzCKLQXjwc4bXq0,3083
32
- chainlit/frontend/dist/assets/Vidyard-5028fa2f.js,sha256=PvyZXDWSubF7D4h08e8AuJKb2HSRIXWftKNGY621W2w,2857
33
- chainlit/frontend/dist/assets/Vimeo-ca732959.js,sha256=Ks-NlHMEgopR084qS73AryWztGDtH-qTg6CevaDCuJQ,3627
34
- chainlit/frontend/dist/assets/Wistia-74e58d71.js,sha256=5mxhybyfMYQGPHE-EHkBvNNTwcypbtNa8T6xxRuXaOI,3514
35
- chainlit/frontend/dist/assets/YouTube-bdf4ca10.js,sha256=K_MrtiBWq1hWacdaPZjasYsj2yy0nwpCGneB0K-BGzo,4448
36
- chainlit/frontend/dist/assets/index-621140f9.js,sha256=ix5ZW8_M6aep2CNdbEB5H3OyO4kfMJZTYa0u_WPQ8KA,2754013
22
+ chainlit/emitter.py,sha256=G3KDFYKSnVpUstE1Qt1hj0HGOv5N93ESC_igOIUuvqM,13154
23
+ chainlit/frontend/dist/assets/DailyMotion-4ebdfef1.js,sha256=8-fx9ZzUHfIPCMEIbI-PtXGWovVJV9ZGjfyBAvIiFYQ,2961
24
+ chainlit/frontend/dist/assets/Facebook-40982be3.js,sha256=pSXKJ27oE9-CHUhpXcfBS7Nhm_ll9QMx0YiOz6YwLBk,3216
25
+ chainlit/frontend/dist/assets/FilePlayer-5b3a4ad0.js,sha256=XPIBl04kr76VlzZbKiMbMO8lOXwezueKteGz8ORDdJ0,9041
26
+ chainlit/frontend/dist/assets/Kaltura-6c5cb748.js,sha256=CHIUfhE5ZDyWtVC-dCtZPytfqe0T2c6muA0_0EPt0-c,2790
27
+ chainlit/frontend/dist/assets/Mixcloud-7a304880.js,sha256=JvaLhC3oDVXPoOXlJu9V3JPHk1n4QQkD-dQ-p6FiBBA,2638
28
+ chainlit/frontend/dist/assets/Mux-1bd85c69.js,sha256=1ohwwkl9Ch-BsArjyFyGVMybMlh5BDhucIrAmnK5uys,5360
29
+ chainlit/frontend/dist/assets/Preview-e91eb05e.js,sha256=naY0cSZ9tZayl1Sksw5w5-fKmhTeMHI-ByR6_HBudTw,3011
30
+ chainlit/frontend/dist/assets/SoundCloud-2f2116b2.js,sha256=lvJ7i-0DLPGbkY1fppvmiH8vR54Q0p8ifRZnD0YxTTs,2923
31
+ chainlit/frontend/dist/assets/Streamable-b92c07ce.js,sha256=4WM0C8ZO0NiXotxPC5cJBEYIQ2xvRe3p_BnmFU25YFI,2935
32
+ chainlit/frontend/dist/assets/Twitch-58a2eb9a.js,sha256=iQYA2m4POa6B6ALV5twJaClxNQnv7iZyFVS_U93ZZF0,3083
33
+ chainlit/frontend/dist/assets/Vidyard-ad5bffa0.js,sha256=ITFaeEyw2Cd4umzRF8kMQ6yJnQsOo6moj4xsklxv_Xs,2857
34
+ chainlit/frontend/dist/assets/Vimeo-8fb43e9c.js,sha256=mWT_wej6Oqc7AdsopoTzhZVFtIQGWCG2W5UyFsQ0ejc,3627
35
+ chainlit/frontend/dist/assets/Wistia-d03e6237.js,sha256=uZJznAUi3u9LmERz96bTfR1UKK5Nw2Xg4VNHAHzaYJQ,3514
36
+ chainlit/frontend/dist/assets/YouTube-6b7d1dae.js,sha256=orlVUhDeUDJZlPblVCchFxBVDFRTDmZKRxqtynm54YQ,4448
37
+ chainlit/frontend/dist/assets/index-4f01eb67.js,sha256=Nqogjq2XR4uR9ZfceRg1nTKToFJ4uz7rivGo01z1SgE,2755568
37
38
  chainlit/frontend/dist/assets/index-aaf974a9.css,sha256=qvl0qUmR5u0JcmJAfkzaZpN-0ZKdQjzqCSE9cnrQpZQ,2559
38
39
  chainlit/frontend/dist/assets/logo_dark-2a3cf740.svg,sha256=Kjz3QMh-oh-ag4YatjU0YCPqGF7F8nHh8VUQoJIs01E,8887
39
40
  chainlit/frontend/dist/assets/logo_light-b078e7bc.svg,sha256=sHjnvEq1rfqh3bcexJNYUY7WEDdTQZq3aKZYpi4w4ck,8889
40
- chainlit/frontend/dist/assets/react-plotly-cf9b99cc.js,sha256=C1i1Opg6y6WRo6hyThoy1eERMSGp4C_VbOuYjW9bfEk,3739251
41
+ chainlit/frontend/dist/assets/react-plotly-ef3ac5f0.js,sha256=4ekLhNPpnTKPLXPoVGJvcHzV1wWe944zO3bBq0zBeWE,3739251
41
42
  chainlit/frontend/dist/favicon.svg,sha256=0Cy8x28obT5eWW3nxZRhsEvu6_zMqrqbg0y6hT3D0Q0,6455
42
- chainlit/frontend/dist/index.html,sha256=C0MKr7nhin5vl70zXEzGmzaDzPxOZTmI_xXP_EdrktU,965
43
+ chainlit/frontend/dist/index.html,sha256=LjybUUU8f3-YxXD07L8vqZUpTEEExPSNG3-m0yN66mA,965
43
44
  chainlit/haystack/__init__.py,sha256=uZ77YiPy-qleSTi3dQCDO9HE6S6F6GpJWmh7jO4cxXA,217
44
45
  chainlit/haystack/callbacks.py,sha256=tItLc6OmskPeDEJH2Qjtg7KgAgIy1TuYQYHTZm9cr3U,5209
45
46
  chainlit/hello.py,sha256=LwENQWo5s5r8nNDn4iKSV77vX60Ky5r_qGjQhyi7qlY,416
46
47
  chainlit/input_widget.py,sha256=KmOn1nPTBvnld3iIBHR0Vih0KsCxVnTbo2t_xBNANzo,4949
47
48
  chainlit/langchain/__init__.py,sha256=zErMw0_3ufSGeF9ye7X0ZX3wDat4mTOx97T40ePDO2g,217
48
- chainlit/langchain/callbacks.py,sha256=y8YBbMuQz419aqoEOaW6kMugHJ2_UprBoObE4GP8xBM,20540
49
+ chainlit/langchain/callbacks.py,sha256=Ue49RyZpwUtVYRd8yM4kOWbgNiGmApueC7_2ofnnJkk,20507
49
50
  chainlit/langflow/__init__.py,sha256=wxhxdsl1yxdsRyNTgZticxFF_8VFtJJ4OdIy3tnEIyM,817
50
51
  chainlit/llama_index/__init__.py,sha256=weRoIWCaRBGvA1LczCEfsqhWsltQSVlhtRnTovtdo8w,227
51
- chainlit/llama_index/callbacks.py,sha256=THFmwotSF_ibqFuaQgxGvEjgKmmzoGJKNlVI75SI2ig,7267
52
+ chainlit/llama_index/callbacks.py,sha256=BOQ30poDnqLUaRhOckosxVa-1XRE3t3Xg0g5C8K2ufY,6793
52
53
  chainlit/logger.py,sha256=wTwRSZsLfXwWy6U4351IgWAm4KCMThgxm9EZpjGUEr4,373
53
54
  chainlit/markdown.py,sha256=VUpqW7MqgjiPIQYHU4funwqC4GmHZBu_TGZTjTI4B0k,2025
54
- chainlit/message.py,sha256=aEw2VNZ0-4mAC3PSG-0j5ZjO1qZ9MaUFDnfiAXLM_q8,17997
55
+ chainlit/message.py,sha256=D-XXeTaCu76qx0i8X6NAFD6hDqYdfyyfqdt-JLiFwB8,18139
55
56
  chainlit/mistralai/__init__.py,sha256=79jNSSF0BdIwA0jmkREeN1diZ1RLoPA2BbaJWO7KyAE,1655
56
57
  chainlit/oauth_providers.py,sha256=Mv31biQ84EBJfQGBxqhFfnbpl-jfQ_Zn6IxKY3XZg6Q,22972
57
58
  chainlit/openai/__init__.py,sha256=DJP_ptclLUM5Zylr4RO1Vk0lCufo3yDqXyH5J9izYS8,1814
58
59
  chainlit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
60
  chainlit/secret.py,sha256=cQvIFGTQ7r2heC8EOGdgifSZZYqslh-qQxhUhKhD8vU,295
60
- chainlit/server.py,sha256=kZ_L3v1C-jM85HJZyZZYPkiPtfYpP9iQRn5sdMOlMGo,28322
61
+ chainlit/server.py,sha256=blDTRC4BiAK8RYKE8BB1rKP3Zy_sYryBM4RMbq3W0dk,28311
61
62
  chainlit/session.py,sha256=SOX2zFct3apiSNcIzCDWgDRsUFgUG_6hewqWU8gfIZE,9694
62
63
  chainlit/slack/__init__.py,sha256=Q41ztJHeVmpoXVgVqAcwGOufQp_bjf7dDT7eEXDdhPI,207
63
- chainlit/slack/app.py,sha256=FgrlaupsCo-_1m8FiFcS5s-wFg_28bCjfKnawvlVbEM,11646
64
- chainlit/socket.py,sha256=nXe8zzbVex7FzDqIT6n7ve5HrjZu4ZmdnLo2gPkMcLE,11798
64
+ chainlit/slack/app.py,sha256=V-81qscTFbRjdG_gRkNUzXLg4FXzh6c8x-eE0NiL6DM,11500
65
+ chainlit/socket.py,sha256=EQ9geqSqMjgYHO3Jsqb7uO8vjS7_Hs-dOzcs7OVKK-A,12879
65
66
  chainlit/step.py,sha256=rLlK_dhZNKidK5Q7FtP_sNmlm-zUyjF4gHLPxl3PHA8,14213
66
67
  chainlit/sync.py,sha256=G1n-7-3WgXsN8y1bJkEyws_YwmHZIyDZoZUwhprigag,1235
67
68
  chainlit/teams/__init__.py,sha256=ZSEbsRJHT_mKfGn6yuzM5NX-xItleSDS0af7vt8Z1OA,217
@@ -69,12 +70,12 @@ chainlit/teams/app.py,sha256=i4uu5BizcPH_h824ZFBNbpqM0weCfpPt3zb8YpQ-5po,10378
69
70
  chainlit/telemetry.py,sha256=Rk4dnZv0OnGOgV4kD-VHdhgl4i7i3ypqhSE_R-LZceM,3060
70
71
  chainlit/translations/en-US.json,sha256=J46wpkc01XLnytWNLSziillMvfmwXsc-mIUeYDIy59M,7741
71
72
  chainlit/translations.py,sha256=WG_r7HzxBYns-zk9tVvoGdoofv71okTZx8k1RlcoTIg,2034
72
- chainlit/types.py,sha256=JsEO0VyY6r2T3o_q-lkNw6Li-XDkuoPmWaAtc90THFs,5232
73
+ chainlit/types.py,sha256=494SAbZ2m46KVcpWmxdBtaPVIG1gvEt-1l3rxYlrMbU,5173
73
74
  chainlit/user.py,sha256=8PgRJvv59b7BKTNguObo68gyFoOGNJfVkT3WW-fvhAM,671
74
75
  chainlit/user_session.py,sha256=G1amgs1_h2tVn4mtAXZmunm9nlBHQ_rCYvJQh3nsVwQ,1645
75
- chainlit/utils.py,sha256=w3UIzvaQ72y5VrycFoWaqS_NocS40No7mzPWqkelzCE,3939
76
+ chainlit/utils.py,sha256=X-WVa0QOwpu8uuzOdGFByvzFieZu7aPpH9LG5UjJ4RI,4002
76
77
  chainlit/version.py,sha256=iosXhlXclBwBqlADFKEilxAC2wWKbtuBKi87AmPi7s8,196
77
- chainlit-1.1.305.dist-info/METADATA,sha256=Q1wbUcQ_qWt52az_jGLX3DDGl-iw90WsHKMZZ8Wsnuw,6291
78
- chainlit-1.1.305.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
79
- chainlit-1.1.305.dist-info/entry_points.txt,sha256=FrkqdjrFl8juSnvBndniyX7XuKojmUwO4ghRh-CFMQc,45
80
- chainlit-1.1.305.dist-info/RECORD,,
78
+ chainlit-1.1.306.dist-info/METADATA,sha256=5362Rno4Rh3tWTO71D3FVG20EGQ8ou30g9NnvSbKXus,6291
79
+ chainlit-1.1.306.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
80
+ chainlit-1.1.306.dist-info/entry_points.txt,sha256=FrkqdjrFl8juSnvBndniyX7XuKojmUwO4ghRh-CFMQc,45
81
+ chainlit-1.1.306.dist-info/RECORD,,