Skip to content

Commit bd4e0be

Browse files
Merge branch 'webb/typesafe-response-model' into webb/typesafe-gen-ai-input-messages
2 parents 0c39434 + b1766b9 commit bd4e0be

4 files changed

Lines changed: 26 additions & 2 deletions

File tree

‎.github/workflows/test-integrations-ai.yml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ jobs:
6969
run: |
7070
set -x # print commands that are executed
7171
./scripts/runtox.sh "py${{ matrix.python-version }}-openai-notiktoken"
72+
- name: Test typesafe
73+
run: |
74+
set -x # print commands that are executed
75+
./scripts/runtox.sh "py${{ matrix.python-version }}-typesafe"
7276
- name: Upload coverage data
7377
if: ${{ !cancelled() }}
7478
continue-on-error: true

‎pyproject.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ typing = [
8181
"aiohttp>=3.14.3",
8282
"openai-agents>=0.22.0",
8383
"mistralai>=2.10.1",
84+
"typesafe-sdk>=0.7.2",
8485
]
8586
test = [
8687
"dataclasses ; python_full_version < '3.7'",

‎sentry_sdk/integrations/typesafe.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,6 @@ def wrap_system_one(self: "TypeSafeClient", *args: "Any", **kwargs: "Any") -> "A
184184
name=f"evaluate {model}".strip(),
185185
origin=TypeSafeIntegration.origin,
186186
)
187-
span.__enter__()
188187
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, "typesafe")
189188
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "evaluate")
190189
set_on_span = span.set_data
@@ -212,6 +211,8 @@ def wrap_system_one(self: "TypeSafeClient", *args: "Any", **kwargs: "Any") -> "A
212211
if not isinstance(response, SystemOneResponse):
213212
return response
214213

214+
set_on_span(SPANDATA.GEN_AI_RESPONSE_MODEL, response.model)
215+
215216
return response
216217

217218
return wrap_system_one
@@ -252,7 +253,6 @@ async def wrap_system_one_async(
252253
name=f"evaluate {model}".strip(),
253254
origin=TypeSafeIntegration.origin,
254255
)
255-
span.__enter__()
256256
span.set_data(SPANDATA.GEN_AI_PROVIDER_NAME, "typesafe")
257257
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "evaluate")
258258
set_on_span = span.set_data
@@ -280,6 +280,8 @@ async def wrap_system_one_async(
280280
if not isinstance(response, SystemOneResponse):
281281
return response
282282

283+
set_on_span(SPANDATA.GEN_AI_RESPONSE_MODEL, response.model)
284+
283285
return response
284286

285287
return wrap_system_one_async

‎uv.lock‎

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)