slide-narrator 2.2.3__py3-none-any.whl → 3.1.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__ = "2.2.3"
11
+ __version__ = "3.1.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,
@@ -43,6 +43,10 @@ class Message(BaseModel):
43
43
  description="Turn number grouping related messages in the same conversational step."
44
44
  )
45
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
+ )
46
50
  name: Optional[str] = None
47
51
  tool_call_id: Optional[str] = None # Required for tool messages
48
52
  tool_calls: Optional[list] = None # For assistant messages
@@ -233,6 +237,9 @@ class Message(BaseModel):
233
237
  "reactions": self.reactions
234
238
  }
235
239
 
240
+ if self.reasoning_content:
241
+ message_dict["reasoning_content"] = self.reasoning_content
242
+
236
243
  if self.name:
237
244
  message_dict["name"] = self.name
238
245
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slide-narrator
3
- Version: 2.2.3
3
+ Version: 3.1.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
@@ -1,20 +1,20 @@
1
- narrator/__init__.py,sha256=RNbflezBE5GQeJxRim6Iw_lLxPBJ1Nzm18XLunqpxrU,403
1
+ narrator/__init__.py,sha256=wMOaOPsQJTiZznRlgTaZ68eOnfOWOCUjf93ePP_2aM8,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=sFFcUwBkl6atC0xcguKI49MCbqDYqjwTllbYUFyoI9k,21173
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-2.2.3.dist-info/METADATA,sha256=_h_ZUlk7Au7r2xMlw2Pea-9eH3-BwcoEclv1zjMjikk,16555
17
- slide_narrator-2.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
- slide_narrator-2.2.3.dist-info/entry_points.txt,sha256=5Oa53AERvPVdrEvsdWbY85xfzAGayOqq_P4KEmf1khA,56
19
- slide_narrator-2.2.3.dist-info/licenses/LICENSE,sha256=g6cGasroU9sqSOjThWg14w0BMlwZhgmOQQVTiu036ks,1068
20
- slide_narrator-2.2.3.dist-info/RECORD,,
16
+ slide_narrator-3.1.0.dist-info/METADATA,sha256=lto9OwhS7Zl7glDNqrjsR1kbf_fbramq56ZRl_JWsUM,16555
17
+ slide_narrator-3.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ slide_narrator-3.1.0.dist-info/entry_points.txt,sha256=5Oa53AERvPVdrEvsdWbY85xfzAGayOqq_P4KEmf1khA,56
19
+ slide_narrator-3.1.0.dist-info/licenses/LICENSE,sha256=g6cGasroU9sqSOjThWg14w0BMlwZhgmOQQVTiu036ks,1068
20
+ slide_narrator-3.1.0.dist-info/RECORD,,