slide-narrator 1.0.2__py3-none-any.whl → 3.0.0__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 slide-narrator might be problematic. Click here for more details.

narrator/__init__.py CHANGED
@@ -8,7 +8,7 @@ from .models.thread import Thread
8
8
  from .models.message import Message
9
9
  from .models.attachment import Attachment
10
10
 
11
- __version__ = "1.0.2"
11
+ __version__ = "3.0.0"
12
12
  __all__ = [
13
13
  "ThreadStore",
14
14
  "FileStore",
@@ -55,6 +55,7 @@ class MessageRecord(Base):
55
55
  turn = Column(Integer, nullable=True)
56
56
  role = Column(String, nullable=False)
57
57
  content = Column(Text, nullable=True)
58
+ reasoning_content = Column(Text, nullable=True)
58
59
  name = Column(String, nullable=True)
59
60
  tool_call_id = Column(String, nullable=True)
60
61
  tool_calls = Column(JSONBCompat, nullable=True)
@@ -240,6 +240,7 @@ class SQLBackend(StorageBackend):
240
240
  sequence=msg_record.sequence,
241
241
  turn=msg_record.turn,
242
242
  content=msg_record.content,
243
+ reasoning_content=msg_record.reasoning_content,
243
244
  name=msg_record.name,
244
245
  tool_call_id=msg_record.tool_call_id,
245
246
  tool_calls=msg_record.tool_calls,
@@ -282,6 +283,7 @@ class SQLBackend(StorageBackend):
282
283
  turn=message.turn,
283
284
  role=message.role,
284
285
  content=message.content,
286
+ reasoning_content=message.reasoning_content,
285
287
  name=message.name,
286
288
  tool_call_id=message.tool_call_id,
287
289
  tool_calls=message.tool_calls,
@@ -1,4 +1,5 @@
1
- from typing import Dict, Optional, Literal, Any, Union, List, TypedDict
1
+ from typing import Dict, Optional, Literal, Any, Union, List
2
+ from typing_extensions import TypedDict
2
3
  from datetime import datetime, UTC
3
4
  from pydantic import BaseModel, Field, field_validator, model_validator
4
5
  import hashlib
@@ -42,6 +43,10 @@ class Message(BaseModel):
42
43
  description="Turn number grouping related messages in the same conversational step."
43
44
  )
44
45
  content: Optional[Union[str, List[Union[TextContent, ImageContent]]]] = None
46
+ reasoning_content: Optional[str] = Field(
47
+ default=None,
48
+ description="Model's reasoning/thinking process for models that support it (e.g., OpenAI o1, Anthropic Claude)"
49
+ )
45
50
  name: Optional[str] = None
46
51
  tool_call_id: Optional[str] = None # Required for tool messages
47
52
  tool_calls: Optional[list] = None # For assistant messages
@@ -232,6 +237,9 @@ class Message(BaseModel):
232
237
  "reactions": self.reactions
233
238
  }
234
239
 
240
+ if self.reasoning_content:
241
+ message_dict["reasoning_content"] = self.reasoning_content
242
+
235
243
  if self.name:
236
244
  message_dict["name"] = self.name
237
245
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slide-narrator
3
- Version: 1.0.2
3
+ Version: 3.0.0
4
4
  Summary: Thread and file storage components for conversational AI - the companion to Tyler AI framework
5
5
  Project-URL: Homepage, https://github.com/adamwdraper/slide
6
6
  Project-URL: Repository, https://github.com/adamwdraper/slide
@@ -26,6 +26,7 @@ Requires-Dist: pydantic>=2.10.4
26
26
  Requires-Dist: pypdf>=5.3.0
27
27
  Requires-Dist: python-magic>=0.4.0
28
28
  Requires-Dist: sqlalchemy>=2.0.36
29
+ Requires-Dist: typing-extensions>=4.12.0
29
30
  Provides-Extra: dev
30
31
  Requires-Dist: coverage>=7.6.10; extra == 'dev'
31
32
  Requires-Dist: pytest-asyncio>=0.25.2; extra == 'dev'
@@ -1,20 +1,20 @@
1
- narrator/__init__.py,sha256=xNe6Xc5aX4gZbtgxEq8k93iUfr62z2dIFsrVScEDIAk,403
1
+ narrator/__init__.py,sha256=l8GhP7CgANwU5vGSOGylwMAGmfwwvdvqfh36ewpRcTo,403
2
2
  narrator/database/__init__.py,sha256=UngOnFqImCeJiMZlMasm72mC4-UnJDDvfu1MNQLkRA8,189
3
3
  narrator/database/cli.py,sha256=QvET17X5kLZ7GiOTw0b80-u4FuI-tOTu4SjAqCBkiSs,8355
4
- narrator/database/models.py,sha256=wsG_5GrPo41hAcojjZTZmSx6bijea-Skan-DwzHs8os,2607
5
- narrator/database/storage_backend.py,sha256=y0bPNNHpIYInLTXwncY7LMU7B6zWQE3zcPanmQXa1XM,27481
4
+ narrator/database/models.py,sha256=OyiufON_ZLNM7PUxXrUoFu1uu62SolHABwpedVnSsfk,2659
5
+ narrator/database/storage_backend.py,sha256=NZ0SKvEL6qKgdJrxuBw5qs6k-9mdWXWE0Ad36epIn2U,27598
6
6
  narrator/database/thread_store.py,sha256=vMIPDdwuSpTyPogEUmxGcILxM_r1wxoQBUOn8XJpdqM,11301
7
7
  narrator/database/migrations/__init__.py,sha256=IqoSL8eCcbcOtn96u2_TTrNG0KN1Jn1yreDZEO4RsnM,173
8
8
  narrator/models/__init__.py,sha256=J8Rsv2lmfGR5QmUjoAPEFTSQt5TGtyrBynnp17HdZnU,179
9
9
  narrator/models/attachment.py,sha256=6fZnGla_Ahgc4Kro2bHBTWoF_Kr-mUBHzONizVH73oc,16129
10
- narrator/models/message.py,sha256=-e0WzT5cJMrh7dDQgofHkHz0-z2KF4fHhe8nk9iG_OQ,21144
10
+ narrator/models/message.py,sha256=Wm6M-zwqRFjuf__jCJ0pL5rrgqOfMMjmja1PRX-Y8UU,21482
11
11
  narrator/models/thread.py,sha256=4HKnCW8MkF52vYA6FQga1awxMA7OPjxOZL4QBcXpYOo,19218
12
12
  narrator/storage/__init__.py,sha256=K4cxGITSQoQiw32QOWZsCBm11fwDTbsyzHGeAqcL6yY,101
13
13
  narrator/storage/file_store.py,sha256=m2btUQcbqpHbWm-htPe1_zwcGRmFXatmS_m9rB9ac2U,19858
14
14
  narrator/utils/__init__.py,sha256=P4BhLvBJbBvb8qha2tTZPlYbjCRXth_K97f4vNc77UI,109
15
15
  narrator/utils/logging.py,sha256=Hm6D4VX03e28UCkNS1pCOXnYQKHQ2nz_PvZX8h-wLgg,1807
16
- slide_narrator-1.0.2.dist-info/METADATA,sha256=MBGv40hmJ_tUlCEWgjKogzQWEpef4u9G0gs5RjSIHjA,16514
17
- slide_narrator-1.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
- slide_narrator-1.0.2.dist-info/entry_points.txt,sha256=5Oa53AERvPVdrEvsdWbY85xfzAGayOqq_P4KEmf1khA,56
19
- slide_narrator-1.0.2.dist-info/licenses/LICENSE,sha256=g6cGasroU9sqSOjThWg14w0BMlwZhgmOQQVTiu036ks,1068
20
- slide_narrator-1.0.2.dist-info/RECORD,,
16
+ slide_narrator-3.0.0.dist-info/METADATA,sha256=fHe-H18aA0qSY84YSlu_kxLHFmqjetJiukawAkzY5GE,16555
17
+ slide_narrator-3.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ slide_narrator-3.0.0.dist-info/entry_points.txt,sha256=5Oa53AERvPVdrEvsdWbY85xfzAGayOqq_P4KEmf1khA,56
19
+ slide_narrator-3.0.0.dist-info/licenses/LICENSE,sha256=g6cGasroU9sqSOjThWg14w0BMlwZhgmOQQVTiu036ks,1068
20
+ slide_narrator-3.0.0.dist-info/RECORD,,