Skip to content

Commit f319781

Browse files
feat(types): replace List[str] with SequenceNotStr in params
1 parent 496034d commit f319781

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/agentex/_utils/_transform.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
lru_cache,
1717
is_mapping,
1818
is_iterable,
19+
is_sequence,
1920
)
2021
from .._files import is_base64_file_input
2122
from ._typing import (
@@ -24,6 +25,7 @@
2425
extract_type_arg,
2526
is_iterable_type,
2627
is_required_type,
28+
is_sequence_type,
2729
is_annotated_type,
2830
strip_annotated_type,
2931
)
@@ -184,6 +186,8 @@ def _transform_recursive(
184186
(is_list_type(stripped_type) and is_list(data))
185187
# Iterable[T]
186188
or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
189+
# Sequence[T]
190+
or (is_sequence_type(stripped_type) and is_sequence(data) and not isinstance(data, str))
187191
):
188192
# dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
189193
# intended as an iterable, so we don't transform it.
@@ -346,6 +350,8 @@ async def _async_transform_recursive(
346350
(is_list_type(stripped_type) and is_list(data))
347351
# Iterable[T]
348352
or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
353+
# Sequence[T]
354+
or (is_sequence_type(stripped_type) and is_sequence(data) and not isinstance(data, str))
349355
):
350356
# dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
351357
# intended as an iterable, so we don't transform it.

src/agentex/types/reasoning_content_param.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
from __future__ import annotations
44

5-
from typing import List, Optional
5+
from typing import Optional
66
from typing_extensions import Literal, Required, TypedDict
77

8+
from .._types import SequenceNotStr
89
from .message_style import MessageStyle
910
from .message_author import MessageAuthor
1011

@@ -18,10 +19,10 @@ class ReasoningContentParam(TypedDict, total=False):
1819
`tool`.
1920
"""
2021

21-
summary: Required[List[str]]
22+
summary: Required[SequenceNotStr[str]]
2223
"""A list of short reasoning summaries"""
2324

24-
content: Optional[List[str]]
25+
content: Optional[SequenceNotStr[str]]
2526
"""The reasoning content or chain-of-thought text"""
2627

2728
style: MessageStyle

0 commit comments

Comments
 (0)