Skip to content

Commit 413b755

Browse files
stainless-app[bot]max-parke-scaleclaudesmoreinisdeclan-scale
authored
release: 0.11.9 (#389)
Co-authored-by: Max Parke <max.parke@scale.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Stas Moreinis <stas.moreinis@scale.com> Co-authored-by: Declan Brady <declan.brady@scale.com> Co-authored-by: Michael Chou <michael.chou@scale.com> Co-authored-by: Daniel Miller <daniel.miller@scale.com> Co-authored-by: Matteo Librizzi <matteo.librizzi@scale.com> Co-authored-by: Stas Moreinis <smoreinis@gmail.com> Co-authored-by: James Cardenas <james.cardenas@scale.com>
1 parent 2df25c7 commit 413b755

11 files changed

Lines changed: 267 additions & 10 deletions

File tree

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.11.8"
2+
".": "0.11.9"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 63
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-4d4bf80af19e6a2ef6b890d5d978316b86e9939d8d5116e94b90117525c61325.yml
3-
openapi_spec_hash: 133afeacb42000ed4f9e076abf4b50fd
4-
config_hash: ba5183ca635940fd202d05a2a9fcb630
1+
configured_endpoints: 64
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-9185c7bad4328824f8790e963c5a9f20b70f5c15fc148c348947efc1bd9a946c.yml
3+
openapi_spec_hash: 9115c9f283257e0636aba67fadfeda0a
4+
config_hash: 713b2e04b6e0aa109ab9d5a3375a5021

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@
66

77
* **tracing:** emit OTel metrics for async span queue depth, batch drain, and SGP export success/failure (HTTP status labels). Disable SDK-side recording with ``AGENTEX_TRACING_METRICS=0``.
88

9+
## 0.11.9 (2026-06-02)
10+
11+
Full Changelog: [v0.11.8...v0.11.9](https://github.com/scaleapi/scale-agentex-python/compare/v0.11.8...v0.11.9)
12+
13+
### Features
14+
15+
* **api:** add register build api endpoint ([30c5da4](https://github.com/scaleapi/scale-agentex-python/commit/30c5da47d84ce2bfbfbb798c2f62b9552881db7d))
16+
917
## 0.11.8 (2026-06-01)
1018

1119
Full Changelog: [v0.11.7...v0.11.8](https://github.com/scaleapi/scale-agentex-python/compare/v0.11.7...v0.11.8)

api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Methods:
3434
- <code title="get /agents">client.agents.<a href="./src/agentex/resources/agents/agents.py">list</a>(\*\*<a href="src/agentex/types/agent_list_params.py">params</a>) -> <a href="./src/agentex/types/agent_list_response.py">AgentListResponse</a></code>
3535
- <code title="delete /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents/agents.py">delete</a>(agent_id) -> <a href="./src/agentex/types/shared/delete_response.py">DeleteResponse</a></code>
3636
- <code title="delete /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents/agents.py">delete_by_name</a>(agent_name) -> <a href="./src/agentex/types/shared/delete_response.py">DeleteResponse</a></code>
37+
- <code title="post /agents/register-build">client.agents.<a href="./src/agentex/resources/agents/agents.py">register_build</a>(\*\*<a href="src/agentex/types/agent_register_build_params.py">params</a>) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
3738
- <code title="get /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents/agents.py">retrieve_by_name</a>(agent_name) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
3839
- <code title="post /agents/{agent_id}/rpc">client.agents.<a href="./src/agentex/resources/agents/agents.py">rpc</a>(agent_id, \*\*<a href="src/agentex/types/agent_rpc_params.py">params</a>) -> <a href="./src/agentex/types/agent_rpc_response.py">AgentRpcResponse</a></code>
3940
- <code title="post /agents/name/{agent_name}/rpc">client.agents.<a href="./src/agentex/resources/agents/agents.py">rpc_by_name</a>(agent_name, \*\*<a href="src/agentex/types/agent_rpc_by_name_params.py">params</a>) -> <a href="./src/agentex/types/agent_rpc_response.py">AgentRpcResponse</a></code>

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "agentex-sdk"
3-
version = "0.11.8"
3+
version = "0.11.9"
44
description = "The official Python library for the agentex API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

src/agentex/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "agentex"
4-
__version__ = "0.11.8" # x-release-please-version
4+
__version__ = "0.11.9" # x-release-please-version

src/agentex/resources/agents/agents.py

Lines changed: 126 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
from __future__ import annotations
44

55
import json
6-
from typing import Any, Union, Optional, Generator, AsyncGenerator
6+
from typing import Any, Dict, Union, Optional, Generator, AsyncGenerator
77
from typing_extensions import Literal
88

99
import httpx
1010
from pydantic import ValidationError
1111

12-
from ...types import agent_rpc_params, agent_list_params, agent_rpc_by_name_params
12+
from ...types import agent_rpc_params, agent_list_params, agent_rpc_by_name_params, agent_register_build_params
1313
from ..._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, omit, not_given
1414
from ..._utils import path_template, maybe_transform, async_maybe_transform
1515
from ..._compat import cached_property
@@ -237,6 +237,62 @@ def delete_by_name(
237237
cast_to=DeleteResponse,
238238
)
239239

240+
def register_build(
241+
self,
242+
*,
243+
description: str,
244+
name: str,
245+
agent_input_type: Optional[Literal["text", "json"]] | Omit = omit,
246+
principal_context: object | Omit = omit,
247+
registration_metadata: Optional[Dict[str, object]] | Omit = omit,
248+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
249+
# The extra values given here take precedence over values defined on the client or passed to this method.
250+
extra_headers: Headers | None = None,
251+
extra_query: Query | None = None,
252+
extra_body: Body | None = None,
253+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
254+
) -> Agent:
255+
"""
256+
Register an agent at build time, before it is deployed, so it can be
257+
permissioned and shared prior to deploy. Idempotent by name.
258+
259+
Args:
260+
description: The description of the agent.
261+
262+
name: The unique name of the agent.
263+
264+
agent_input_type: The type of input the agent expects.
265+
266+
principal_context: Principal used for authorization
267+
268+
registration_metadata: The metadata for the agent's build registration.
269+
270+
extra_headers: Send extra headers
271+
272+
extra_query: Add additional query parameters to the request
273+
274+
extra_body: Add additional JSON properties to the request
275+
276+
timeout: Override the client-level default timeout for this request, in seconds
277+
"""
278+
return self._post(
279+
"/agents/register-build",
280+
body=maybe_transform(
281+
{
282+
"description": description,
283+
"name": name,
284+
"agent_input_type": agent_input_type,
285+
"principal_context": principal_context,
286+
"registration_metadata": registration_metadata,
287+
},
288+
agent_register_build_params.AgentRegisterBuildParams,
289+
),
290+
options=make_request_options(
291+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
292+
),
293+
cast_to=Agent,
294+
)
295+
240296
def retrieve_by_name(
241297
self,
242298
agent_name: str,
@@ -846,6 +902,62 @@ async def delete_by_name(
846902
cast_to=DeleteResponse,
847903
)
848904

905+
async def register_build(
906+
self,
907+
*,
908+
description: str,
909+
name: str,
910+
agent_input_type: Optional[Literal["text", "json"]] | Omit = omit,
911+
principal_context: object | Omit = omit,
912+
registration_metadata: Optional[Dict[str, object]] | Omit = omit,
913+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
914+
# The extra values given here take precedence over values defined on the client or passed to this method.
915+
extra_headers: Headers | None = None,
916+
extra_query: Query | None = None,
917+
extra_body: Body | None = None,
918+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
919+
) -> Agent:
920+
"""
921+
Register an agent at build time, before it is deployed, so it can be
922+
permissioned and shared prior to deploy. Idempotent by name.
923+
924+
Args:
925+
description: The description of the agent.
926+
927+
name: The unique name of the agent.
928+
929+
agent_input_type: The type of input the agent expects.
930+
931+
principal_context: Principal used for authorization
932+
933+
registration_metadata: The metadata for the agent's build registration.
934+
935+
extra_headers: Send extra headers
936+
937+
extra_query: Add additional query parameters to the request
938+
939+
extra_body: Add additional JSON properties to the request
940+
941+
timeout: Override the client-level default timeout for this request, in seconds
942+
"""
943+
return await self._post(
944+
"/agents/register-build",
945+
body=await async_maybe_transform(
946+
{
947+
"description": description,
948+
"name": name,
949+
"agent_input_type": agent_input_type,
950+
"principal_context": principal_context,
951+
"registration_metadata": registration_metadata,
952+
},
953+
agent_register_build_params.AgentRegisterBuildParams,
954+
),
955+
options=make_request_options(
956+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
957+
),
958+
cast_to=Agent,
959+
)
960+
849961
async def retrieve_by_name(
850962
self,
851963
agent_name: str,
@@ -1287,6 +1399,9 @@ def __init__(self, agents: AgentsResource) -> None:
12871399
self.delete_by_name = to_raw_response_wrapper(
12881400
agents.delete_by_name,
12891401
)
1402+
self.register_build = to_raw_response_wrapper(
1403+
agents.register_build,
1404+
)
12901405
self.retrieve_by_name = to_raw_response_wrapper(
12911406
agents.retrieve_by_name,
12921407
)
@@ -1322,6 +1437,9 @@ def __init__(self, agents: AsyncAgentsResource) -> None:
13221437
self.delete_by_name = async_to_raw_response_wrapper(
13231438
agents.delete_by_name,
13241439
)
1440+
self.register_build = async_to_raw_response_wrapper(
1441+
agents.register_build,
1442+
)
13251443
self.retrieve_by_name = async_to_raw_response_wrapper(
13261444
agents.retrieve_by_name,
13271445
)
@@ -1357,6 +1475,9 @@ def __init__(self, agents: AgentsResource) -> None:
13571475
self.delete_by_name = to_streamed_response_wrapper(
13581476
agents.delete_by_name,
13591477
)
1478+
self.register_build = to_streamed_response_wrapper(
1479+
agents.register_build,
1480+
)
13601481
self.retrieve_by_name = to_streamed_response_wrapper(
13611482
agents.retrieve_by_name,
13621483
)
@@ -1392,6 +1513,9 @@ def __init__(self, agents: AsyncAgentsResource) -> None:
13921513
self.delete_by_name = async_to_streamed_response_wrapper(
13931514
agents.delete_by_name,
13941515
)
1516+
self.register_build = async_to_streamed_response_wrapper(
1517+
agents.register_build,
1518+
)
13951519
self.retrieve_by_name = async_to_streamed_response_wrapper(
13961520
agents.retrieve_by_name,
13971521
)

src/agentex/types/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
from .task_message_content_param import TaskMessageContentParam as TaskMessageContentParam
7373
from .task_update_by_name_params import TaskUpdateByNameParams as TaskUpdateByNameParams
7474
from .tool_request_content_param import ToolRequestContentParam as ToolRequestContentParam
75+
from .agent_register_build_params import AgentRegisterBuildParams as AgentRegisterBuildParams
7576
from .checkpoint_get_tuple_params import CheckpointGetTupleParams as CheckpointGetTupleParams
7677
from .tool_response_content_param import ToolResponseContentParam as ToolResponseContentParam
7778
from .checkpoint_put_writes_params import CheckpointPutWritesParams as CheckpointPutWritesParams

src/agentex/types/agent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class Agent(BaseModel):
4141
registration_metadata: Optional[Dict[str, object]] = None
4242
"""The metadata for the agent's registration."""
4343

44-
status: Optional[Literal["Ready", "Failed", "Unknown", "Deleted", "Unhealthy"]] = None
44+
status: Optional[Literal["Ready", "Failed", "Unknown", "Deleted", "Unhealthy", "BuildOnly"]] = None
4545
"""The status of the action, indicating if it's building, ready, failed, etc."""
4646

4747
status_reason: Optional[str] = None
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing import Dict, Optional
6+
from typing_extensions import Literal, Required, TypedDict
7+
8+
__all__ = ["AgentRegisterBuildParams"]
9+
10+
11+
class AgentRegisterBuildParams(TypedDict, total=False):
12+
description: Required[str]
13+
"""The description of the agent."""
14+
15+
name: Required[str]
16+
"""The unique name of the agent."""
17+
18+
agent_input_type: Optional[Literal["text", "json"]]
19+
"""The type of input the agent expects."""
20+
21+
principal_context: object
22+
"""Principal used for authorization"""
23+
24+
registration_metadata: Optional[Dict[str, object]]
25+
"""The metadata for the agent's build registration."""

0 commit comments

Comments
 (0)