From 934d178364e089a17ae135b4637176b2e96b484a Mon Sep 17 00:00:00 2001 From: abonneth <206544678+abonneth@users.noreply.github.com> Date: Thu, 15 Oct 2026 12:00:21 +0000 Subject: [PATCH] chore(sdk): sync generated SDK (v1.2.4) --- openapi.json | 44 +++++++++++++++++++++++++ pyproject.toml | 2 +- src/hai_agents/core/client_wrapper.py | 4 +-- src/hai_agents/schedules/client.py | 18 ++++++++++ src/hai_agents/schedules/raw_client.py | 18 ++++++++++ src/hai_agents/types/schedule_record.py | 10 ++++++ uv.lock | 2 +- 7 files changed, 94 insertions(+), 4 deletions(-) diff --git a/openapi.json b/openapi.json index 2980a38..5c0b444 100644 --- a/openapi.json +++ b/openapi.json @@ -5507,6 +5507,19 @@ "session_request": { "$ref": "#/components/schemas/SessionRequest", "description": "Template used to create each scheduled session; re-resolved on every fire." + }, + "repeats": { + "anyOf": [ + { + "type": "integer", + "minimum": 1.0 + }, + { + "type": "null" + } + ], + "title": "Repeats", + "description": "How many sessions to create before the schedule becomes inactive. Omit to run until paused or deleted." } }, "type": "object", @@ -7354,6 +7367,23 @@ ], "title": "Pause Note" }, + "repeats": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Repeats", + "description": "How many sessions to create before the schedule becomes inactive. Null means it runs until paused or deleted." + }, + "sessions_created": { + "type": "integer", + "title": "Sessions Created", + "description": "Automatic fires that created a session. Skipped fires, errors, and manual triggers are not counted. When this reaches repeats, the schedule is paused." + }, "next_run_times": { "items": { "type": "string", @@ -7395,6 +7425,8 @@ "session_request", "paused", "pause_note", + "repeats", + "sessions_created", "next_run_times", "last_run_at", "created_at", @@ -8411,6 +8443,18 @@ "type": "null" } ] + }, + "repeats": { + "anyOf": [ + { + "type": "integer", + "minimum": 1.0 + }, + { + "type": "null" + } + ], + "title": "Repeats" } }, "type": "object", diff --git a/pyproject.toml b/pyproject.toml index f016343..95710d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "hai-agents" -version = "1.2.3" +version = "1.2.4" description = "Python SDK for H Company's Agents API: autonomous agents powered by Holo." requires-python = ">=3.10" readme = "README.md" diff --git a/src/hai_agents/core/client_wrapper.py b/src/hai_agents/core/client_wrapper.py index 549efc3..5467d65 100644 --- a/src/hai_agents/core/client_wrapper.py +++ b/src/hai_agents/core/client_wrapper.py @@ -29,9 +29,9 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "hai_agents/1.2.3", + "User-Agent": "hai_agents/1.2.4", "X-HCompany-Client-Name": "hai_agents", - "X-HCompany-Client-Version": "1.2.3", + "X-HCompany-Client-Version": "1.2.4", "X-HCompany-Client-Type": "sdk", "X-HCompany-Language": "Python", "X-HCompany-Runtime": f"python/{platform.python_version()}", diff --git a/src/hai_agents/schedules/client.py b/src/hai_agents/schedules/client.py index c1c5582..9f9bf44 100644 --- a/src/hai_agents/schedules/client.py +++ b/src/hai_agents/schedules/client.py @@ -83,6 +83,7 @@ def create_schedule( timing: CronTiming, session_request: SessionRequest, description: typing.Optional[str] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> ScheduleRecord: """ @@ -99,6 +100,9 @@ def create_schedule( description : typing.Optional[str] + repeats : typing.Optional[int] + How many sessions to create before the schedule becomes inactive. Omit to run until paused or deleted. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -130,6 +134,7 @@ def create_schedule( timing=timing, session_request=session_request, description=description, + repeats=repeats, request_options=request_options, ) return _response.data @@ -203,6 +208,7 @@ def update_schedule( description: typing.Optional[str] = OMIT, timing: typing.Optional[CronTiming] = OMIT, session_request: typing.Optional[SessionRequest] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> ScheduleRecord: """ @@ -220,6 +226,8 @@ def update_schedule( session_request : typing.Optional[SessionRequest] + repeats : typing.Optional[int] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -245,6 +253,7 @@ def update_schedule( description=description, timing=timing, session_request=session_request, + repeats=repeats, request_options=request_options, ) return _response.data @@ -476,6 +485,7 @@ async def create_schedule( timing: CronTiming, session_request: SessionRequest, description: typing.Optional[str] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> ScheduleRecord: """ @@ -492,6 +502,9 @@ async def create_schedule( description : typing.Optional[str] + repeats : typing.Optional[int] + How many sessions to create before the schedule becomes inactive. Omit to run until paused or deleted. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -531,6 +544,7 @@ async def main() -> None: timing=timing, session_request=session_request, description=description, + repeats=repeats, request_options=request_options, ) return _response.data @@ -622,6 +636,7 @@ async def update_schedule( description: typing.Optional[str] = OMIT, timing: typing.Optional[CronTiming] = OMIT, session_request: typing.Optional[SessionRequest] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> ScheduleRecord: """ @@ -639,6 +654,8 @@ async def update_schedule( session_request : typing.Optional[SessionRequest] + repeats : typing.Optional[int] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -672,6 +689,7 @@ async def main() -> None: description=description, timing=timing, session_request=session_request, + repeats=repeats, request_options=request_options, ) return _response.data diff --git a/src/hai_agents/schedules/raw_client.py b/src/hai_agents/schedules/raw_client.py index 737206b..9e8c8da 100644 --- a/src/hai_agents/schedules/raw_client.py +++ b/src/hai_agents/schedules/raw_client.py @@ -109,6 +109,7 @@ def create_schedule( timing: CronTiming, session_request: SessionRequest, description: typing.Optional[str] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ScheduleRecord]: """ @@ -125,6 +126,9 @@ def create_schedule( description : typing.Optional[str] + repeats : typing.Optional[int] + How many sessions to create before the schedule becomes inactive. Omit to run until paused or deleted. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -145,6 +149,7 @@ def create_schedule( "session_request": convert_and_respect_annotation_metadata( object_=session_request, annotation=SessionRequest, direction="write" ), + "repeats": repeats, }, headers={ "content-type": "application/json", @@ -288,6 +293,7 @@ def update_schedule( description: typing.Optional[str] = OMIT, timing: typing.Optional[CronTiming] = OMIT, session_request: typing.Optional[SessionRequest] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ScheduleRecord]: """ @@ -305,6 +311,8 @@ def update_schedule( session_request : typing.Optional[SessionRequest] + repeats : typing.Optional[int] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -325,6 +333,7 @@ def update_schedule( "session_request": convert_and_respect_annotation_metadata( object_=session_request, annotation=typing.Optional[SessionRequest], direction="write" ), + "repeats": repeats, }, headers={ "content-type": "application/json", @@ -689,6 +698,7 @@ async def create_schedule( timing: CronTiming, session_request: SessionRequest, description: typing.Optional[str] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ScheduleRecord]: """ @@ -705,6 +715,9 @@ async def create_schedule( description : typing.Optional[str] + repeats : typing.Optional[int] + How many sessions to create before the schedule becomes inactive. Omit to run until paused or deleted. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -725,6 +738,7 @@ async def create_schedule( "session_request": convert_and_respect_annotation_metadata( object_=session_request, annotation=SessionRequest, direction="write" ), + "repeats": repeats, }, headers={ "content-type": "application/json", @@ -868,6 +882,7 @@ async def update_schedule( description: typing.Optional[str] = OMIT, timing: typing.Optional[CronTiming] = OMIT, session_request: typing.Optional[SessionRequest] = OMIT, + repeats: typing.Optional[int] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ScheduleRecord]: """ @@ -885,6 +900,8 @@ async def update_schedule( session_request : typing.Optional[SessionRequest] + repeats : typing.Optional[int] + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -905,6 +922,7 @@ async def update_schedule( "session_request": convert_and_respect_annotation_metadata( object_=session_request, annotation=typing.Optional[SessionRequest], direction="write" ), + "repeats": repeats, }, headers={ "content-type": "application/json", diff --git a/src/hai_agents/types/schedule_record.py b/src/hai_agents/types/schedule_record.py index 8cd1ba3..7ed5981 100644 --- a/src/hai_agents/types/schedule_record.py +++ b/src/hai_agents/types/schedule_record.py @@ -23,6 +23,16 @@ class ScheduleRecord(UniversalBaseModel): session_request: SessionRequest paused: bool pause_note: typing.Optional[str] = None + repeats: typing.Optional[int] = pydantic.Field(default=None) + """ + How many sessions to create before the schedule becomes inactive. Null means it runs until paused or deleted. + """ + + sessions_created: int = pydantic.Field() + """ + Automatic fires that created a session. Skipped fires, errors, and manual triggers are not counted. When this reaches repeats, the schedule is paused. + """ + next_run_times: typing.List[dt.datetime] = pydantic.Field() """ The next few fire times, empty while paused. diff --git a/uv.lock b/uv.lock index c000bbf..0f3079f 100644 --- a/uv.lock +++ b/uv.lock @@ -541,7 +541,7 @@ wheels = [ [[package]] name = "hai-agents" -version = "1.2.3" +version = "1.2.4" source = { editable = "." } dependencies = [ { name = "httpx" },