1
- from typing import Optional
1
+ from __future__ import annotations
2
2
3
3
from openai import AsyncOpenAI
4
4
8
8
from .session import SessionABC
9
9
10
10
11
- async def start_openai_conversations_session (openai_client : Optional [ AsyncOpenAI ] = None ) -> str :
11
+ async def start_openai_conversations_session (openai_client : AsyncOpenAI | None = None ) -> str :
12
12
_maybe_openai_client = openai_client
13
13
if openai_client is None :
14
14
_maybe_openai_client = get_default_openai_client () or AsyncOpenAI ()
@@ -26,8 +26,8 @@ class OpenAIConversationsSession(SessionABC):
26
26
def __init__ (
27
27
self ,
28
28
* ,
29
- session_id : Optional [ str ] = None ,
30
- openai_client : Optional [ AsyncOpenAI ] = None ,
29
+ session_id : str | None = None ,
30
+ openai_client : AsyncOpenAI | None = None ,
31
31
):
32
32
# this implementation allows to set this value later
33
33
self .session_id = session_id or _EMPTY_SESSION_ID
@@ -41,7 +41,7 @@ async def _ensure_session_id(self) -> None:
41
41
if self .session_id == _EMPTY_SESSION_ID :
42
42
self .session_id = await start_openai_conversations_session (self .openai_client )
43
43
44
- async def get_items (self , limit : Optional [ int ] = None ) -> list [TResponseInputItem ]:
44
+ async def get_items (self , limit : int | None = None ) -> list [TResponseInputItem ]:
45
45
await self ._ensure_session_id ()
46
46
47
47
all_items = []
@@ -73,7 +73,7 @@ async def add_items(self, items: list[TResponseInputItem]) -> None:
73
73
items = items ,
74
74
)
75
75
76
- async def pop_item (self ) -> Optional [ TResponseInputItem ] :
76
+ async def pop_item (self ) -> TResponseInputItem | None :
77
77
await self ._ensure_session_id ()
78
78
items = await self .get_items (limit = 1 )
79
79
if not items :
0 commit comments