diff --git a/toolkits/slack/arcade_slack/models.py b/toolkits/slack/arcade_slack/models.py index 779a9518..69558dba 100644 --- a/toolkits/slack/arcade_slack/models.py +++ b/toolkits/slack/arcade_slack/models.py @@ -1,7 +1,5 @@ from enum import Enum -from typing import Optional - -from typing_extensions import Literal, NotRequired, TypedDict +from typing import Literal, Optional, TypedDict from arcade_slack.custom_types import ( SlackOffsetSecondsFromUTC, @@ -174,7 +172,7 @@ class Message(SlackMessage, total=False): datetime_timestamp: str # Human-readable datetime string (e.g. "2025-01-22 12:00:00") -class ConversationMetadata(TypedDict, total=True): +class ConversationMetadata(TypedDict, total=False): """Type definition for the conversation metadata dictionary.""" id: Optional[str] @@ -184,9 +182,9 @@ class ConversationMetadata(TypedDict, total=True): is_archived: Optional[bool] is_member: Optional[bool] purpose: Optional[str] - num_members: NotRequired[Optional[int]] - user: NotRequired[Optional[SlackUser]] - is_user_deleted: NotRequired[Optional[bool]] + num_members: Optional[int] + user: Optional[SlackUser] + is_user_deleted: Optional[bool] class BasicUserInfo(TypedDict, total=False): diff --git a/toolkits/slack/pyproject.toml b/toolkits/slack/pyproject.toml index d317acef..ee624f25 100644 --- a/toolkits/slack/pyproject.toml +++ b/toolkits/slack/pyproject.toml @@ -7,10 +7,10 @@ authors = ["Arcade "] [tool.poetry.dependencies] python = "^3.10" aiodns = "^1.0" # required by slack - not picked by poetry due to slack requirements txt quirk :/ +typing = { version = "*", markers = "python_version < '3.7'" } # prevent aiodns from installing typing package aiohttp = ">=3.7.3,<4" # same as aiodns, above comment arcade-ai = ">=0.1,<2.0" slack-sdk = "^3.31.0" -typing-extensions = "^4.0.0" # some typing annotations aren't available in older versions of python [tool.poetry.dev-dependencies] pytest = "^8.3.0"