slide-narrator 1.0.2__tar.gz → 3.0.0__tar.gz

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.

Files changed (20) hide show
  1. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/.gitignore +2 -1
  2. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/PKG-INFO +2 -1
  3. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/__init__.py +1 -1
  4. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/database/models.py +1 -0
  5. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/database/storage_backend.py +2 -0
  6. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/models/message.py +9 -1
  7. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/pyproject.toml +2 -1
  8. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/LICENSE +0 -0
  9. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/README.md +0 -0
  10. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/database/__init__.py +0 -0
  11. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/database/cli.py +0 -0
  12. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/database/migrations/__init__.py +0 -0
  13. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/database/thread_store.py +0 -0
  14. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/models/__init__.py +0 -0
  15. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/models/attachment.py +0 -0
  16. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/models/thread.py +0 -0
  17. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/storage/__init__.py +0 -0
  18. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/storage/file_store.py +0 -0
  19. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/utils/__init__.py +0 -0
  20. {slide_narrator-1.0.2 → slide_narrator-3.0.0}/narrator/utils/logging.py +0 -0
@@ -313,4 +313,5 @@ temp/*.csv
313
313
  temp/*.json
314
314
 
315
315
  # Ignore Code Workspace files
316
- *.code-workspace
316
+ *.code-workspace.cursor/
317
+ *.code-workspace
@@ -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'
@@ -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
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "slide-narrator"
7
- version = "1.0.2"
7
+ version = "3.0.0"
8
8
  description = "Thread and file storage components for conversational AI - the companion to Tyler AI framework"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -29,6 +29,7 @@ dependencies = [
29
29
  "aiosqlite>=0.21.0",
30
30
  "python-magic>=0.4.0",
31
31
  "pydantic>=2.10.4",
32
+ "typing-extensions>=4.12.0",
32
33
  "pypdf>=5.3.0",
33
34
  "click>=8.1.8",
34
35
  "greenlet>=3.2.3",
File without changes
File without changes