Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
474 changes: 474 additions & 0 deletions openapi.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "hai-agents"
version = "1.0.7"
version = "1.0.8"
description = "Python SDK for H Company's Computer-Use Agents: autonomous agents powered by Holo."
requires-python = ">=3.10"
readme = "README.md"
Expand Down
39 changes: 38 additions & 1 deletion src/hai_agents/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,17 @@
ErrorEvent,
ErrorEventKind,
Feedback,
FileEntry,
FileTransferData,
FileTransferDataDirection,
FileTransferEvent,
FlowEvent,
HttpValidationError,
ImageContent,
ImageContentType,
InitiateUploadResponse,
JsonValue,
ListFilesResponse,
LiveViewUrlData,
LiveViewUrlEvent,
ManagedProxySelection,
Expand All @@ -89,6 +94,7 @@
ProxyPool,
QuotaStatus,
QuotaStatusScope,
ReadFileResponse,
RequestStartData,
RequestStartDispatchedData,
RequestStartDispatchedEvent,
Expand All @@ -108,6 +114,7 @@
SessionEventZero_AgentEvent,
SessionEventZero_AgentRunStatusChangeEvent,
SessionEventZero_AgentStartedEvent,
SessionEventZero_FileTransferEvent,
SessionEventZero_LiveViewUrlEvent,
SessionEventZero_MetricsUpdateEvent,
SessionEventZero_RequestStartDispatchedEvent,
Expand Down Expand Up @@ -145,9 +152,21 @@
WebhookRecordLastDeliveryStatus,
WebhookWithSecret,
WebhookWithSecretLastDeliveryStatus,
WriteFileResponse,
)
from .errors import NotFoundError, UnprocessableEntityError
from . import agents, browser_profiles, environments, quota, schedules, sessions, skills, vaults, webhooks
from . import (
agents,
browser_profiles,
environments,
quota,
schedules,
session_files,
sessions,
skills,
vaults,
webhooks,
)
from ._default_clients import DefaultAioHttpClient, DefaultAsyncHttpxClient
from .agents import (
ListAgentsRequestSortItem,
Expand Down Expand Up @@ -263,6 +282,10 @@
"ErrorEvent": ".types",
"ErrorEventKind": ".types",
"Feedback": ".types",
"FileEntry": ".types",
"FileTransferData": ".types",
"FileTransferDataDirection": ".types",
"FileTransferEvent": ".types",
"FlowEvent": ".types",
"HaiAgentsEnvironment": ".environment",
"HttpValidationError": ".types",
Expand All @@ -272,6 +295,7 @@
"JsonValue": ".types",
"ListAgentsRequestSortItem": ".agents",
"ListEnvironmentsRequestSortItem": ".environments",
"ListFilesResponse": ".types",
"ListScheduleRunsRequestSortItem": ".schedules",
"ListSchedulesRequestSortItem": ".schedules",
"ListSessionEventsRequestSortItem": ".sessions",
Expand Down Expand Up @@ -313,6 +337,7 @@
"ProxyPool": ".types",
"QuotaStatus": ".types",
"QuotaStatusScope": ".types",
"ReadFileResponse": ".types",
"RequestStartData": ".types",
"RequestStartDispatchedData": ".types",
"RequestStartDispatchedEvent": ".types",
Expand All @@ -337,6 +362,7 @@
"SessionEventZero_AgentEvent": ".types",
"SessionEventZero_AgentRunStatusChangeEvent": ".types",
"SessionEventZero_AgentStartedEvent": ".types",
"SessionEventZero_FileTransferEvent": ".types",
"SessionEventZero_LiveViewUrlEvent": ".types",
"SessionEventZero_MetricsUpdateEvent": ".types",
"SessionEventZero_RequestStartDispatchedEvent": ".types",
Expand Down Expand Up @@ -385,6 +411,7 @@
"WebhookVerificationError": ".webhook_verification",
"WebhookWithSecret": ".types",
"WebhookWithSecretLastDeliveryStatus": ".types",
"WriteFileResponse": ".types",
"agents": ".agents",
"as_tools": ".tools",
"assert_request_under_limit": ".polling",
Expand All @@ -398,6 +425,7 @@
"quota": ".quota",
"run_session": ".polling",
"schedules": ".schedules",
"session_files": ".session_files",
"sessions": ".sessions",
"skills": ".skills",
"stream_session": ".polling",
Expand Down Expand Up @@ -491,6 +519,10 @@ def __dir__():
"ErrorEvent",
"ErrorEventKind",
"Feedback",
"FileEntry",
"FileTransferData",
"FileTransferDataDirection",
"FileTransferEvent",
"FlowEvent",
"HaiAgentsEnvironment",
"HttpValidationError",
Expand All @@ -500,6 +532,7 @@ def __dir__():
"JsonValue",
"ListAgentsRequestSortItem",
"ListEnvironmentsRequestSortItem",
"ListFilesResponse",
"ListScheduleRunsRequestSortItem",
"ListSchedulesRequestSortItem",
"ListSessionEventsRequestSortItem",
Expand Down Expand Up @@ -541,6 +574,7 @@ def __dir__():
"ProxyPool",
"QuotaStatus",
"QuotaStatusScope",
"ReadFileResponse",
"RequestStartData",
"RequestStartDispatchedData",
"RequestStartDispatchedEvent",
Expand All @@ -565,6 +599,7 @@ def __dir__():
"SessionEventZero_AgentEvent",
"SessionEventZero_AgentRunStatusChangeEvent",
"SessionEventZero_AgentStartedEvent",
"SessionEventZero_FileTransferEvent",
"SessionEventZero_LiveViewUrlEvent",
"SessionEventZero_MetricsUpdateEvent",
"SessionEventZero_RequestStartDispatchedEvent",
Expand Down Expand Up @@ -613,6 +648,7 @@ def __dir__():
"WebhookVerificationError",
"WebhookWithSecret",
"WebhookWithSecretLastDeliveryStatus",
"WriteFileResponse",
"agents",
"as_tools",
"assert_request_under_limit",
Expand All @@ -626,6 +662,7 @@ def __dir__():
"quota",
"run_session",
"schedules",
"session_files",
"sessions",
"skills",
"stream_session",
Expand Down
19 changes: 19 additions & 0 deletions src/hai_agents/base_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from .environments.client import AsyncEnvironmentsClient, EnvironmentsClient
from .quota.client import AsyncQuotaClient, QuotaClient
from .schedules.client import AsyncSchedulesClient, SchedulesClient
from .session_files.client import AsyncSessionFilesClient, SessionFilesClient
from .sessions.client import AsyncSessionsClient, SessionsClient
from .skills.client import AsyncSkillsClient, SkillsClient
from .vaults.client import AsyncVaultsClient, VaultsClient
Expand Down Expand Up @@ -111,6 +112,7 @@ def __init__(
self._schedules: typing.Optional[SchedulesClient] = None
self._browser_profiles: typing.Optional[BrowserProfilesClient] = None
self._vaults: typing.Optional[VaultsClient] = None
self._session_files: typing.Optional[SessionFilesClient] = None
self._quota: typing.Optional[QuotaClient] = None

@property
Expand Down Expand Up @@ -177,6 +179,14 @@ def vaults(self):
self._vaults = VaultsClient(client_wrapper=self._client_wrapper)
return self._vaults

@property
def session_files(self):
if self._session_files is None:
from .session_files.client import SessionFilesClient # noqa: E402

self._session_files = SessionFilesClient(client_wrapper=self._client_wrapper)
return self._session_files

@property
def quota(self):
if self._quota is None:
Expand Down Expand Up @@ -295,6 +305,7 @@ def __init__(
self._schedules: typing.Optional[AsyncSchedulesClient] = None
self._browser_profiles: typing.Optional[AsyncBrowserProfilesClient] = None
self._vaults: typing.Optional[AsyncVaultsClient] = None
self._session_files: typing.Optional[AsyncSessionFilesClient] = None
self._quota: typing.Optional[AsyncQuotaClient] = None

@property
Expand Down Expand Up @@ -361,6 +372,14 @@ def vaults(self):
self._vaults = AsyncVaultsClient(client_wrapper=self._client_wrapper)
return self._vaults

@property
def session_files(self):
if self._session_files is None:
from .session_files.client import AsyncSessionFilesClient # noqa: E402

self._session_files = AsyncSessionFilesClient(client_wrapper=self._client_wrapper)
return self._session_files

@property
def quota(self):
if self._quota is None:
Expand Down
4 changes: 2 additions & 2 deletions src/hai_agents/core/client_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ def get_headers(self) -> typing.Dict[str, str]:
import platform

headers: typing.Dict[str, str] = {
"User-Agent": "hai_agents/1.0.7",
"User-Agent": "hai_agents/1.0.8",
"X-HCompany-Client-Name": "hai_agents",
"X-HCompany-Client-Version": "1.0.7",
"X-HCompany-Client-Version": "1.0.8",
"X-HCompany-Client-Type": "sdk",
"X-HCompany-Language": "Python",
"X-HCompany-Runtime": f"python/{platform.python_version()}",
Expand Down
8 changes: 8 additions & 0 deletions src/hai_agents/environments/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ def patch_environment(
headless: typing.Optional[bool] = OMIT,
session_id: typing.Optional[str] = OMIT,
mode: typing.Optional[PatchEnvironmentMode] = OMIT,
lazy: typing.Optional[bool] = OMIT,
vault_id: typing.Optional[str] = OMIT,
browser_profile_id: typing.Optional[str] = OMIT,
use_default_browser_profile: typing.Optional[bool] = OMIT,
Expand All @@ -255,6 +256,8 @@ def patch_environment(

mode : typing.Optional[PatchEnvironmentMode]

lazy : typing.Optional[bool]

vault_id : typing.Optional[str]

browser_profile_id : typing.Optional[str]
Expand Down Expand Up @@ -291,6 +294,7 @@ def patch_environment(
headless=headless,
session_id=session_id,
mode=mode,
lazy=lazy,
vault_id=vault_id,
browser_profile_id=browser_profile_id,
use_default_browser_profile=use_default_browser_profile,
Expand Down Expand Up @@ -553,6 +557,7 @@ async def patch_environment(
headless: typing.Optional[bool] = OMIT,
session_id: typing.Optional[str] = OMIT,
mode: typing.Optional[PatchEnvironmentMode] = OMIT,
lazy: typing.Optional[bool] = OMIT,
vault_id: typing.Optional[str] = OMIT,
browser_profile_id: typing.Optional[str] = OMIT,
use_default_browser_profile: typing.Optional[bool] = OMIT,
Expand All @@ -577,6 +582,8 @@ async def patch_environment(

mode : typing.Optional[PatchEnvironmentMode]

lazy : typing.Optional[bool]

vault_id : typing.Optional[str]

browser_profile_id : typing.Optional[str]
Expand Down Expand Up @@ -621,6 +628,7 @@ async def main() -> None:
headless=headless,
session_id=session_id,
mode=mode,
lazy=lazy,
vault_id=vault_id,
browser_profile_id=browser_profile_id,
use_default_browser_profile=use_default_browser_profile,
Expand Down
8 changes: 8 additions & 0 deletions src/hai_agents/environments/raw_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ def patch_environment(
headless: typing.Optional[bool] = OMIT,
session_id: typing.Optional[str] = OMIT,
mode: typing.Optional[PatchEnvironmentMode] = OMIT,
lazy: typing.Optional[bool] = OMIT,
vault_id: typing.Optional[str] = OMIT,
browser_profile_id: typing.Optional[str] = OMIT,
use_default_browser_profile: typing.Optional[bool] = OMIT,
Expand All @@ -370,6 +371,8 @@ def patch_environment(

mode : typing.Optional[PatchEnvironmentMode]

lazy : typing.Optional[bool]

vault_id : typing.Optional[str]

browser_profile_id : typing.Optional[str]
Expand Down Expand Up @@ -399,6 +402,7 @@ def patch_environment(
"mode": convert_and_respect_annotation_metadata(
object_=mode, annotation=typing.Optional[PatchEnvironmentMode], direction="write"
),
"lazy": lazy,
"vault_id": vault_id,
"browser_profile_id": browser_profile_id,
"use_default_browser_profile": use_default_browser_profile,
Expand Down Expand Up @@ -762,6 +766,7 @@ async def patch_environment(
headless: typing.Optional[bool] = OMIT,
session_id: typing.Optional[str] = OMIT,
mode: typing.Optional[PatchEnvironmentMode] = OMIT,
lazy: typing.Optional[bool] = OMIT,
vault_id: typing.Optional[str] = OMIT,
browser_profile_id: typing.Optional[str] = OMIT,
use_default_browser_profile: typing.Optional[bool] = OMIT,
Expand All @@ -786,6 +791,8 @@ async def patch_environment(

mode : typing.Optional[PatchEnvironmentMode]

lazy : typing.Optional[bool]

vault_id : typing.Optional[str]

browser_profile_id : typing.Optional[str]
Expand Down Expand Up @@ -815,6 +822,7 @@ async def patch_environment(
"mode": convert_and_respect_annotation_metadata(
object_=mode, annotation=typing.Optional[PatchEnvironmentMode], direction="write"
),
"lazy": lazy,
"vault_id": vault_id,
"browser_profile_id": browser_profile_id,
"use_default_browser_profile": use_default_browser_profile,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class CreateEnvironmentRequest_Web(UniversalBaseModel):
headless: typing.Optional[bool] = None
session_id: typing.Optional[str] = None
mode: typing.Optional[BrowserMode] = None
lazy: typing.Optional[bool] = None
vault_id: typing.Optional[str] = None
browser_profile_id: typing.Optional[str] = None
use_default_browser_profile: typing.Optional[bool] = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class UpdateEnvironmentRequestBody_Web(UniversalBaseModel):
headless: typing.Optional[bool] = None
session_id: typing.Optional[str] = None
mode: typing.Optional[BrowserMode] = None
lazy: typing.Optional[bool] = None
vault_id: typing.Optional[str] = None
browser_profile_id: typing.Optional[str] = None
use_default_browser_profile: typing.Optional[bool] = None
Expand Down
4 changes: 4 additions & 0 deletions src/hai_agents/session_files/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This file was auto-generated by Fern from our API Definition.

# isort: skip_file

Loading