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
134 changes: 130 additions & 4 deletions openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -5135,6 +5135,14 @@
"description": "Provision on the agent's first use instead of at startup. Skips the initial observation.",
"default": false
},
"settle_s": {
"type": "number",
"maximum": 10.0,
"minimum": 0.0,
"title": "Settle S",
"description": "Seconds to wait after each page action.",
"default": 1.0
},
"vault_id": {
"anyOf": [
{
Expand Down Expand Up @@ -5637,6 +5645,28 @@
"title": "Lazy",
"description": "Provision on the agent's first use instead of at startup. Skips the initial observation.",
"default": false
},
"settle_s": {
"type": "number",
"maximum": 10.0,
"minimum": 0.0,
"title": "Settle S",
"description": "Seconds to wait after each input action.",
"default": 0.5
},
"screenshot_max_width": {
"anyOf": [
{
"type": "integer",
"maximum": 1920.0,
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Screenshot Max Width",
"description": "Maximum screenshot width in pixels. Null uses the host default; images are never upscaled."
}
},
"type": "object",
Expand Down Expand Up @@ -6927,6 +6957,19 @@
],
"title": "Lazy"
},
"settle_s": {
"anyOf": [
{
"type": "number",
"maximum": 10.0,
"minimum": 0.0
},
{
"type": "null"
}
],
"title": "Settle S"
},
"vault_id": {
"anyOf": [
{
Expand Down Expand Up @@ -6983,6 +7026,19 @@
}
]
},
"screenshot_max_width": {
"anyOf": [
{
"type": "integer",
"maximum": 1920.0,
"exclusiveMinimum": 0.0
},
{
"type": "null"
}
],
"title": "Screenshot Max Width"
},
"image": {
"anyOf": [
{
Expand Down Expand Up @@ -7048,6 +7104,47 @@
}
],
"title": "Url Pattern"
},
"compatibility": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Compatibility"
},
"files": {
"anyOf": [
{
"additionalProperties": {
"type": "string",
"contentMediaType": "application/octet-stream"
},
"type": "object",
"maxProperties": 511
},
{
"type": "null"
}
],
"title": "Files"
},
"executable_files": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Executable Files"
}
},
"type": "object",
Expand Down Expand Up @@ -7839,7 +7936,7 @@
}
],
"title": "Delete After Min",
"description": "Minutes after the session finishes before it is automatically deleted. Defaults to 30 days. Null keeps the session forever.",
"description": "Minutes after the session finishes before it is automatically deleted. When omitted, Portal's retention preference applies. An explicit value adds an earlier expiry; null adds no expiry beyond Portal's policy.",
"default": 43200
},
"delete_screenshot_after_min": {
Expand All @@ -7853,7 +7950,7 @@
}
],
"title": "Delete Screenshot After Min",
"description": "Minutes after the session finishes before its screenshots are deleted. Defaults to 30 days. Null keeps screenshots for the session's lifetime.",
"description": "Minutes after the session finishes before its screenshots are deleted. When omitted or null, screenshots follow the session's retention policy. An explicit value can delete screenshots earlier.",
"default": 43200
},
"queue": {
Expand Down Expand Up @@ -8140,6 +8237,35 @@
],
"title": "Url Pattern",
"description": "Optional regex hinting at URLs where this skill applies."
},
"compatibility": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Compatibility"
},
"files": {
"additionalProperties": {
"type": "string",
"contentEncoding": "base64",
"contentMediaType": "application/octet-stream"
},
"type": "object",
"maxProperties": 511,
"title": "Files"
},
"executable_files": {
"items": {
"type": "string"
},
"type": "array",
"title": "Executable Files",
"default": []
}
},
"type": "object",
Expand All @@ -8149,7 +8275,7 @@
"body"
],
"title": "Skill",
"description": "A named, reusable instruction an agent can draw on during a session."
"description": "Named instructions with optional scripts, references, and assets."
},
"TokenQuotaStatus": {
"properties": {
Expand Down Expand Up @@ -9105,7 +9231,7 @@
"lazy": {
"type": "boolean",
"title": "Lazy",
"description": "Provision on the agent's first use instead of at startup. Cloud workstations only.",
"description": "Start on the agent's first use instead of at startup. Skips the initial observation. A cloud workstation is provisioned on first use; a user_device one is not probed until then.",
"default": false
}
},
Expand Down
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.2.4"
version = "1.2.5"
description = "Python SDK for H Company's Agents API: autonomous agents powered by Holo."
requires-python = ">=3.10"
readme = "README.md"
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.2.4",
"User-Agent": "hai_agents/1.2.5",
"X-HCompany-Client-Name": "hai_agents",
"X-HCompany-Client-Version": "1.2.4",
"X-HCompany-Client-Version": "1.2.5",
"X-HCompany-Client-Type": "sdk",
"X-HCompany-Language": "Python",
"X-HCompany-Runtime": f"python/{platform.python_version()}",
Expand Down
16 changes: 16 additions & 0 deletions src/hai_agents/environments/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,11 +232,13 @@ def patch_environment(
session_id: typing.Optional[str] = OMIT,
mode: typing.Optional[PatchEnvironmentMode] = OMIT,
lazy: typing.Optional[bool] = OMIT,
settle_s: typing.Optional[float] = OMIT,
Comment thread
cursor[bot] marked this conversation as resolved.
vault_id: typing.Optional[str] = OMIT,
browser_profile_id: typing.Optional[str] = OMIT,
use_default_browser_profile: typing.Optional[bool] = OMIT,
persist_browser_profile: typing.Optional[bool] = OMIT,
network: typing.Optional[BrowserNetwork] = OMIT,
screenshot_max_width: typing.Optional[int] = OMIT,
image: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> Environment:
Expand All @@ -259,6 +261,8 @@ def patch_environment(

lazy : typing.Optional[bool]

settle_s : typing.Optional[float]

vault_id : typing.Optional[str]

browser_profile_id : typing.Optional[str]
Expand All @@ -269,6 +273,8 @@ def patch_environment(

network : typing.Optional[BrowserNetwork]

screenshot_max_width : typing.Optional[int]

image : typing.Optional[str]

request_options : typing.Optional[RequestOptions]
Expand Down Expand Up @@ -298,11 +304,13 @@ def patch_environment(
session_id=session_id,
mode=mode,
lazy=lazy,
settle_s=settle_s,
vault_id=vault_id,
browser_profile_id=browser_profile_id,
use_default_browser_profile=use_default_browser_profile,
persist_browser_profile=persist_browser_profile,
network=network,
screenshot_max_width=screenshot_max_width,
image=image,
request_options=request_options,
)
Expand Down Expand Up @@ -562,11 +570,13 @@ async def patch_environment(
session_id: typing.Optional[str] = OMIT,
mode: typing.Optional[PatchEnvironmentMode] = OMIT,
lazy: typing.Optional[bool] = OMIT,
settle_s: typing.Optional[float] = OMIT,
vault_id: typing.Optional[str] = OMIT,
browser_profile_id: typing.Optional[str] = OMIT,
use_default_browser_profile: typing.Optional[bool] = OMIT,
persist_browser_profile: typing.Optional[bool] = OMIT,
network: typing.Optional[BrowserNetwork] = OMIT,
screenshot_max_width: typing.Optional[int] = OMIT,
image: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> Environment:
Expand All @@ -589,6 +599,8 @@ async def patch_environment(

lazy : typing.Optional[bool]

settle_s : typing.Optional[float]

vault_id : typing.Optional[str]

browser_profile_id : typing.Optional[str]
Expand All @@ -599,6 +611,8 @@ async def patch_environment(

network : typing.Optional[BrowserNetwork]

screenshot_max_width : typing.Optional[int]

image : typing.Optional[str]

request_options : typing.Optional[RequestOptions]
Expand Down Expand Up @@ -636,11 +650,13 @@ async def main() -> None:
session_id=session_id,
mode=mode,
lazy=lazy,
settle_s=settle_s,
vault_id=vault_id,
browser_profile_id=browser_profile_id,
use_default_browser_profile=use_default_browser_profile,
persist_browser_profile=persist_browser_profile,
network=network,
screenshot_max_width=screenshot_max_width,
image=image,
request_options=request_options,
)
Expand Down
Loading
Loading