|
1 | 1 | import typing |
2 | | - |
3 | 2 | from .base_client import AsyncBaseMultiOn, BaseMultiOn |
4 | 3 | from .sessions.wrapped_client import ( |
5 | 4 | WrappedAsyncSessionsClient, |
@@ -52,27 +51,48 @@ def __init__( |
52 | 51 | agentops_api_key: typing.Optional[str] = os.getenv("AGENTOPS_API_KEY"), |
53 | 52 | **kwargs |
54 | 53 | ): |
| 54 | + |
55 | 55 | super().__init__(*args, **kwargs) |
56 | | - self.sessions = WrappedSessionsClient(client_wrapper=self._client_wrapper) |
57 | | - if agentops_api_key is not None: |
| 56 | + self._agentops_api_key = agentops_api_key |
| 57 | + |
| 58 | + self.sessions = WrappedSessionsClient( |
| 59 | + client_wrapper=self._client_wrapper, use_agentops=self._agentops_api_key is not None) |
| 60 | + |
| 61 | + if self._agentops_api_key is not None: |
58 | 62 | agentops.init( |
59 | 63 | api_key=agentops_api_key, |
60 | 64 | parent_key=os.getenv("AGENTOPS_PARENT_KEY"), |
61 | 65 | auto_start_session=False, |
62 | 66 | ) |
63 | 67 |
|
64 | | - @agentops.record_function(event_name="browse") # type: ignore |
65 | | - @wraps_function(BaseMultiOn.browse) |
66 | | - def browse(self, *args, **kwargs) -> BrowseOutput: |
67 | | - agentops.start_session(tags=["multion-sdk"]) |
| 68 | + @wraps_function(BaseMultiOn.browse) # type: ignore |
| 69 | + def _browse(self, *args, **kwargs) -> BrowseOutput: |
68 | 70 | return super().browse(*args, **kwargs) |
69 | 71 |
|
70 | | - @agentops.record_function(event_name="retrieve") # type: ignore |
71 | | - @wraps_function(BaseMultiOn.retrieve) |
72 | | - def retrieve(self, *args, **kwargs) -> RetrieveOutput: |
73 | | - agentops.start_session(tags=["multion-sdk"]) |
| 72 | + @wraps_function(BaseMultiOn.retrieve) # type: ignore |
| 73 | + def _retrieve(self, *args, **kwargs) -> RetrieveOutput: |
74 | 74 | return super().retrieve(*args, **kwargs) |
75 | 75 |
|
| 76 | + def browse(self, *args, **kwargs) -> BrowseOutput: |
| 77 | + if self._agentops_api_key is not None: |
| 78 | + agentops.start_session(tags=["multion-sdk"]) |
| 79 | + |
| 80 | + @agentops.record_function(event_name="browse") |
| 81 | + def wrapped_browse(*args, **kwargs): |
| 82 | + return self._browse(*args, **kwargs) |
| 83 | + return wrapped_browse(*args, **kwargs) |
| 84 | + return self._browse(*args, **kwargs) |
| 85 | + |
| 86 | + def retrieve(self, *args, **kwargs) -> RetrieveOutput: |
| 87 | + if self._agentops_api_key is not None: |
| 88 | + agentops.start_session(tags=["multion-sdk"]) |
| 89 | + |
| 90 | + @agentops.record_function(event_name="retrieve") |
| 91 | + def wrapped_retrieve(*args, **kwargs): |
| 92 | + return self._retrieve(*args, **kwargs) |
| 93 | + return wrapped_retrieve(*args, **kwargs) |
| 94 | + return self._retrieve(*args, **kwargs) |
| 95 | + |
76 | 96 |
|
77 | 97 | class AsyncMultiOn(AsyncBaseMultiOn): |
78 | 98 | """ |
@@ -111,22 +131,40 @@ def __init__( |
111 | 131 | **kwargs |
112 | 132 | ): |
113 | 133 | super().__init__(*args, **kwargs) |
114 | | - self.sessions = WrappedAsyncSessionsClient(client_wrapper=self._client_wrapper) |
| 134 | + self._agentops_api_key = agentops_api_key |
| 135 | + self.sessions = WrappedAsyncSessionsClient(client_wrapper=self._client_wrapper, |
| 136 | + use_agentops=self._agentops_api_key is not None) |
115 | 137 | if agentops_api_key is not None: |
116 | 138 | agentops.init( |
117 | 139 | api_key=agentops_api_key, |
118 | 140 | parent_key=os.getenv("AGENTOPS_PARENT_KEY"), |
119 | 141 | auto_start_session=False, |
120 | 142 | ) |
121 | 143 |
|
122 | | - @agentops.record_function(event_name="browse") # type: ignore |
123 | | - @wraps_function(AsyncBaseMultiOn.browse) |
124 | | - async def browse(self, *args, **kwargs) -> BrowseOutput: |
125 | | - agentops.start_session(tags=["multion-sdk"]) |
| 144 | + @wraps_function(AsyncBaseMultiOn.browse) # type: ignore |
| 145 | + async def _browse(self, *args, **kwargs) -> BrowseOutput: |
126 | 146 | return await super().browse(*args, **kwargs) |
127 | 147 |
|
128 | | - @agentops.record_function(event_name="retrieve") # type: ignore |
129 | | - @wraps_function(BaseMultiOn.retrieve) |
130 | | - async def retrieve(self, *args, **kwargs) -> RetrieveOutput: |
131 | | - agentops.start_session(tags=["multion-sdk"]) |
| 148 | + @wraps_function(BaseMultiOn.retrieve) # type: ignore |
| 149 | + async def _retrieve(self, *args, **kwargs) -> RetrieveOutput: |
132 | 150 | return await super().retrieve(*args, **kwargs) |
| 151 | + |
| 152 | + async def browse(self, *args, **kwargs) -> BrowseOutput: |
| 153 | + if self._agentops_api_key is not None: |
| 154 | + agentops.start_session(tags=["multion-sdk"]) |
| 155 | + |
| 156 | + @agentops.record_function(event_name="browse") |
| 157 | + async def wrapped_browse(*args, **kwargs): |
| 158 | + return await self._browse(*args, **kwargs) |
| 159 | + return await wrapped_browse(*args, **kwargs) |
| 160 | + return await self._browse(*args, **kwargs) |
| 161 | + |
| 162 | + async def retrieve(self, *args, **kwargs) -> RetrieveOutput: |
| 163 | + if self._agentops_api_key is not None: |
| 164 | + agentops.start_session(tags=["multion-sdk"]) |
| 165 | + |
| 166 | + @agentops.record_function(event_name="retrieve") |
| 167 | + async def wrapped_retrieve(*args, **kwargs): |
| 168 | + return await self._retrieve(*args, **kwargs) # type: ignore |
| 169 | + return await wrapped_retrieve(*args, **kwargs) |
| 170 | + return await self._retrieve(*args, **kwargs) # type: ignore |
0 commit comments