Skip to content

Commit 4000e23

Browse files
SDK regeneration (#55)
Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com>
1 parent adf81d0 commit 4000e23

19 files changed

+315
-104
lines changed

poetry.lock

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

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "credal"
33

44
[tool.poetry]
55
name = "credal"
6-
version = "0.1.7"
6+
version = "0.1.8"
77
description = ""
88
readme = "README.md"
99
authors = []
@@ -36,7 +36,6 @@ Repository = 'https://github.com/credal-ai/credal-python-sdk'
3636
[tool.poetry.dependencies]
3737
python = "^3.8"
3838
httpx = ">=0.21.2"
39-
httpx-sse = "0.4.0"
4039
pydantic = ">= 1.9.2"
4140
pydantic-core = ">=2.18.2"
4241
typing_extensions = ">= 4.0.0"

requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
httpx>=0.21.2
2-
httpx-sse==0.4.0
32
pydantic>= 1.9.2
43
pydantic-core>=2.18.2
54
typing_extensions>= 4.0.0

src/credal/__init__.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
MessageFeedback,
5050
MessageReply,
5151
NumberFieldSchema,
52-
PolicyTrigger,
5352
ReferencedSource,
5453
ResponseChunk,
5554
SendAgentMessageResponse,
@@ -137,7 +136,6 @@
137136
"MongoSourceFieldsConfig": ".document_collections",
138137
"NumberFieldSchema": ".copilots",
139138
"Operator": ".common",
140-
"PolicyTrigger": ".copilots",
141139
"ReferencedSource": ".copilots",
142140
"ResourceIdentifier": ".common",
143141
"ResourceIdentifier_ExternalResourceId": ".common",
@@ -243,7 +241,6 @@ def __dir__():
243241
"MongoSourceFieldsConfig",
244242
"NumberFieldSchema",
245243
"Operator",
246-
"PolicyTrigger",
247244
"ReferencedSource",
248245
"ResourceIdentifier",
249246
"ResourceIdentifier_ExternalResourceId",

src/credal/copilots/__init__.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
MessageFeedback,
3636
MessageReply,
3737
NumberFieldSchema,
38-
PolicyTrigger,
3938
ReferencedSource,
4039
ResponseChunk,
4140
SendAgentMessageResponse,
@@ -81,7 +80,6 @@
8180
"MessageFeedback": ".types",
8281
"MessageReply": ".types",
8382
"NumberFieldSchema": ".types",
84-
"PolicyTrigger": ".types",
8583
"ReferencedSource": ".types",
8684
"ResponseChunk": ".types",
8785
"SendAgentMessageResponse": ".types",
@@ -150,7 +148,6 @@ def __dir__():
150148
"MessageFeedback",
151149
"MessageReply",
152150
"NumberFieldSchema",
153-
"PolicyTrigger",
154151
"ReferencedSource",
155152
"ResponseChunk",
156153
"SendAgentMessageResponse",

src/credal/copilots/raw_client.py

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# This file was auto-generated by Fern from our API Definition.
22

33
import contextlib
4-
import json
54
import typing
65
import uuid
76
from json.decoder import JSONDecodeError
7+
from logging import error, warning
88

9-
import httpx_sse
109
from ..common.types.collaborator import Collaborator
1110
from ..core.api_error import ApiError
1211
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
1312
from ..core.http_response import AsyncHttpResponse, HttpResponse
13+
from ..core.http_sse._api import EventSource
1414
from ..core.pydantic_utilities import parse_obj_as
1515
from ..core.request_options import RequestOptions
1616
from ..core.serialization import convert_and_respect_annotation_metadata
@@ -312,7 +312,7 @@ def _stream() -> HttpResponse[typing.Iterator[StreamingChunk]]:
312312
if 200 <= _response.status_code < 300:
313313

314314
def _iter():
315-
_event_source = httpx_sse.EventSource(_response)
315+
_event_source = EventSource(_response)
316316
for _sse in _event_source.iter_sse():
317317
if _sse.data == None:
318318
return
@@ -321,11 +321,19 @@ def _iter():
321321
StreamingChunk,
322322
parse_obj_as(
323323
type_=StreamingChunk, # type: ignore
324-
object_=json.loads(_sse.data),
324+
object_=_sse.json(),
325325
),
326326
)
327-
except Exception:
328-
pass
327+
except JSONDecodeError as e:
328+
warning(f"Skipping SSE event with invalid JSON: {e}, sse: {_sse!r}")
329+
except (TypeError, ValueError, KeyError, AttributeError) as e:
330+
warning(
331+
f"Skipping SSE event due to model construction error: {type(e).__name__}: {e}, sse: {_sse!r}"
332+
)
333+
except Exception as e:
334+
error(
335+
f"Unexpected error processing SSE event: {type(e).__name__}: {e}, sse: {_sse!r}"
336+
)
329337
return
330338

331339
return HttpResponse(response=_response, data=_iter())
@@ -795,7 +803,7 @@ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[StreamingChunk]]:
795803
if 200 <= _response.status_code < 300:
796804

797805
async def _iter():
798-
_event_source = httpx_sse.EventSource(_response)
806+
_event_source = EventSource(_response)
799807
async for _sse in _event_source.aiter_sse():
800808
if _sse.data == None:
801809
return
@@ -804,11 +812,19 @@ async def _iter():
804812
StreamingChunk,
805813
parse_obj_as(
806814
type_=StreamingChunk, # type: ignore
807-
object_=json.loads(_sse.data),
815+
object_=_sse.json(),
808816
),
809817
)
810-
except Exception:
811-
pass
818+
except JSONDecodeError as e:
819+
warning(f"Skipping SSE event with invalid JSON: {e}, sse: {_sse!r}")
820+
except (TypeError, ValueError, KeyError, AttributeError) as e:
821+
warning(
822+
f"Skipping SSE event due to model construction error: {type(e).__name__}: {e}, sse: {_sse!r}"
823+
)
824+
except Exception as e:
825+
error(
826+
f"Unexpected error processing SSE event: {type(e).__name__}: {e}, sse: {_sse!r}"
827+
)
812828
return
813829

814830
return AsyncHttpResponse(response=_response, data=_iter())

0 commit comments

Comments
 (0)