Skip to content

Commit 7bde6b7

Browse files
fix(api): build errors
- update openapi spec - comment out models that don't exist - add back methods for backwards compatibility for now
1 parent d40e6e0 commit 7bde6b7

File tree

20 files changed

+2044
-137
lines changed

20 files changed

+2044
-137
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 34
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp%2Fagentex-sdk-021b55c88964b7a5bfc9d692d32a52c6b0150445656d2407c4cb8e9dd1e5f100.yml
3-
openapi_spec_hash: ed92c0d5d6bed9cb5617f8a776ac42c9
4-
config_hash: 7661726e3cccf9f6349179841153601d
3+
openapi_spec_hash: 3f634d45f6241dea4fbdac496b70f5a3
4+
config_hash: 7c45df33d1cc4df7ea9dac3b0968b0f0

README.md

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,16 @@ pip install git+ssh://[email protected]/scaleapi/agentex-python.git
2828
The full API of this library can be found in [api.md](api.md).
2929

3030
```python
31+
import os
3132
from agentex import Agentex
3233

3334
client = Agentex(
35+
api_key=os.environ.get("AGENTEX_SDK_API_KEY"), # This is the default and can be omitted
3436
# defaults to "production".
3537
environment="development",
3638
)
3739

38-
agent = client.agents.retrieve(
39-
"agent_id",
40-
)
41-
print(agent.id)
40+
tasks = client.tasks.list()
4241
```
4342

4443
While you can provide an `api_key` keyword argument,
@@ -51,20 +50,19 @@ so that your API Key is not stored in source control.
5150
Simply import `AsyncAgentex` instead of `Agentex` and use `await` with each API call:
5251

5352
```python
53+
import os
5454
import asyncio
5555
from agentex import AsyncAgentex
5656

5757
client = AsyncAgentex(
58+
api_key=os.environ.get("AGENTEX_SDK_API_KEY"), # This is the default and can be omitted
5859
# defaults to "production".
5960
environment="development",
6061
)
6162

6263

6364
async def main() -> None:
64-
agent = await client.agents.retrieve(
65-
"agent_id",
66-
)
67-
print(agent.id)
65+
tasks = await client.tasks.list()
6866

6967

7068
asyncio.run(main())
@@ -93,12 +91,10 @@ from agentex import AsyncAgentex
9391

9492
async def main() -> None:
9593
async with AsyncAgentex(
94+
api_key="My API Key",
9695
http_client=DefaultAioHttpClient(),
9796
) as client:
98-
agent = await client.agents.retrieve(
99-
"agent_id",
100-
)
101-
print(agent.id)
97+
tasks = await client.tasks.list()
10298

10399

104100
asyncio.run(main())
@@ -129,9 +125,7 @@ from agentex import Agentex
129125
client = Agentex()
130126

131127
try:
132-
client.agents.retrieve(
133-
"agent_id",
134-
)
128+
client.tasks.list()
135129
except agentex.APIConnectionError as e:
136130
print("The server could not be reached")
137131
print(e.__cause__) # an underlying Exception, likely raised within httpx.
@@ -174,9 +168,7 @@ client = Agentex(
174168
)
175169

176170
# Or, configure per-request:
177-
client.with_options(max_retries=5).agents.retrieve(
178-
"agent_id",
179-
)
171+
client.with_options(max_retries=5).tasks.list()
180172
```
181173

182174
### Timeouts
@@ -199,9 +191,7 @@ client = Agentex(
199191
)
200192

201193
# Override per-request:
202-
client.with_options(timeout=5.0).agents.retrieve(
203-
"agent_id",
204-
)
194+
client.with_options(timeout=5.0).tasks.list()
205195
```
206196

207197
On timeout, an `APITimeoutError` is thrown.
@@ -242,13 +232,11 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
242232
from agentex import Agentex
243233

244234
client = Agentex()
245-
response = client.agents.with_raw_response.retrieve(
246-
"agent_id",
247-
)
235+
response = client.tasks.with_raw_response.list()
248236
print(response.headers.get('X-My-Header'))
249237

250-
agent = response.parse() # get the object that `agents.retrieve()` would have returned
251-
print(agent.id)
238+
task = response.parse() # get the object that `tasks.list()` would have returned
239+
print(task)
252240
```
253241

254242
These methods return an [`APIResponse`](https://github.com/scaleapi/agentex-python/tree/main/src/agentex/_response.py) object.
@@ -262,9 +250,7 @@ The above interface eagerly reads the full response body when you make the reque
262250
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
263251

264252
```python
265-
with client.agents.with_streaming_response.retrieve(
266-
"agent_id",
267-
) as response:
253+
with client.tasks.with_streaming_response.list() as response:
268254
print(response.headers.get("X-My-Header"))
269255

270256
for line in response.iter_lines():

api.md

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,22 @@ from agentex.types import AcpType, Agent, AgentRpcRequest, AgentListResponse
88

99
Methods:
1010

11-
- <code title="get /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents.py">retrieve</a>(agent_id) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
12-
- <code title="get /agents">client.agents.<a href="./src/agentex/resources/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>
13-
- <code title="delete /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents.py">delete</a>(agent_id) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
14-
- <code title="delete /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents.py">delete_by_name</a>(agent_name) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
15-
- <code title="get /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents.py">retrieve_by_name</a>(agent_name) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
16-
- <code title="post /agents/{agent_id}/rpc">client.agents.<a href="./src/agentex/resources/agents.py">rpc</a>(agent_id, \*\*<a href="src/agentex/types/agent_rpc_params.py">params</a>) -> object</code>
17-
- <code title="post /agents/name/{agent_name}/rpc">client.agents.<a href="./src/agentex/resources/agents.py">rpc_by_name</a>(agent_name, \*\*<a href="src/agentex/types/agent_rpc_by_name_params.py">params</a>) -> object</code>
11+
- <code title="get /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents/agents.py">retrieve</a>(agent_id) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
12+
- <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>
13+
- <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/agent.py">Agent</a></code>
14+
- <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/agent.py">Agent</a></code>
15+
- <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>
16+
- <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>) -> object</code>
17+
- <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>) -> object</code>
18+
19+
## Name
20+
21+
Methods:
22+
23+
- <code title="get /agents/name/{agent_name}">client.agents.name.<a href="./src/agentex/resources/agents/name.py">retrieve</a>(agent_name) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
24+
- <code title="delete /agents/name/{agent_name}">client.agents.name.<a href="./src/agentex/resources/agents/name.py">delete</a>(agent_name) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
25+
- <code title="post /agents/name/{agent_name}/rpc">client.agents.name.<a href="./src/agentex/resources/agents/name.py">handle_rpc</a>(agent_name, \*\*<a href="src/agentex/types/agents/name_handle_rpc_params.py">params</a>) -> object</code>
26+
- <code title="post /agents/name/{agent_name}/rpc">client.agents.name.<a href="./src/agentex/resources/agents/name.py">rpc</a>(agent_name, \*\*<a href="src/agentex/types/agents/name_rpc_params.py">params</a>) -> object</code>
1827

1928
# Tasks
2029

@@ -26,13 +35,21 @@ from agentex.types import Task, TaskListResponse
2635

2736
Methods:
2837

29-
- <code title="get /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks.py">retrieve</a>(task_id) -> <a href="./src/agentex/types/task.py">Task</a></code>
30-
- <code title="get /tasks">client.tasks.<a href="./src/agentex/resources/tasks.py">list</a>() -> <a href="./src/agentex/types/task_list_response.py">TaskListResponse</a></code>
31-
- <code title="delete /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks.py">delete</a>(task_id) -> <a href="./src/agentex/types/task.py">Task</a></code>
32-
- <code title="delete /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks.py">delete_by_name</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
33-
- <code title="get /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks.py">retrieve_by_name</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
34-
- <code title="get /tasks/{task_id}/stream">client.tasks.<a href="./src/agentex/resources/tasks.py">stream_events</a>(task_id) -> object</code>
35-
- <code title="get /tasks/name/{task_name}/stream">client.tasks.<a href="./src/agentex/resources/tasks.py">stream_events_by_name</a>(task_name) -> object</code>
38+
- <code title="get /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">retrieve</a>(task_id) -> <a href="./src/agentex/types/task.py">Task</a></code>
39+
- <code title="get /tasks">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">list</a>() -> <a href="./src/agentex/types/task_list_response.py">TaskListResponse</a></code>
40+
- <code title="delete /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">delete</a>(task_id) -> <a href="./src/agentex/types/task.py">Task</a></code>
41+
- <code title="delete /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">delete_by_name</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
42+
- <code title="get /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">retrieve_by_name</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
43+
- <code title="get /tasks/{task_id}/stream">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">stream_events</a>(task_id) -> object</code>
44+
- <code title="get /tasks/name/{task_name}/stream">client.tasks.<a href="./src/agentex/resources/tasks/tasks.py">stream_events_by_name</a>(task_name) -> object</code>
45+
46+
## Name
47+
48+
Methods:
49+
50+
- <code title="get /tasks/name/{task_name}">client.tasks.name.<a href="./src/agentex/resources/tasks/name.py">retrieve</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
51+
- <code title="delete /tasks/name/{task_name}">client.tasks.name.<a href="./src/agentex/resources/tasks/name.py">delete</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
52+
- <code title="get /tasks/name/{task_name}/stream">client.tasks.name.<a href="./src/agentex/resources/tasks/name.py">stream_events</a>(task_name) -> object</code>
3653

3754
# Messages
3855

src/agentex/_client.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@
2121
)
2222
from ._utils import is_given, get_async_library
2323
from ._version import __version__
24-
from .resources import spans, tasks, agents, events, states, tracker
24+
from .resources import spans, events, states, tracker
2525
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
2626
from ._exceptions import APIStatusError
2727
from ._base_client import (
2828
DEFAULT_MAX_RETRIES,
2929
SyncAPIClient,
3030
AsyncAPIClient,
3131
)
32+
from .resources.tasks import tasks
33+
from .resources.agents import agents
3234
from .resources.messages import messages
3335

3436
__all__ = [
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from .name import (
4+
NameResource,
5+
AsyncNameResource,
6+
NameResourceWithRawResponse,
7+
AsyncNameResourceWithRawResponse,
8+
NameResourceWithStreamingResponse,
9+
AsyncNameResourceWithStreamingResponse,
10+
)
11+
from .agents import (
12+
AgentsResource,
13+
AsyncAgentsResource,
14+
AgentsResourceWithRawResponse,
15+
AsyncAgentsResourceWithRawResponse,
16+
AgentsResourceWithStreamingResponse,
17+
AsyncAgentsResourceWithStreamingResponse,
18+
)
19+
20+
__all__ = [
21+
"NameResource",
22+
"AsyncNameResource",
23+
"NameResourceWithRawResponse",
24+
"AsyncNameResourceWithRawResponse",
25+
"NameResourceWithStreamingResponse",
26+
"AsyncNameResourceWithStreamingResponse",
27+
"AgentsResource",
28+
"AsyncAgentsResource",
29+
"AgentsResourceWithRawResponse",
30+
"AsyncAgentsResourceWithRawResponse",
31+
"AgentsResourceWithStreamingResponse",
32+
"AsyncAgentsResourceWithStreamingResponse",
33+
]

src/agentex/resources/agents.py renamed to src/agentex/resources/agents/agents.py

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,37 @@
77

88
import httpx
99

10-
from ..types import agent_rpc_params, agent_list_params, agent_rpc_by_name_params
11-
from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
12-
from .._utils import maybe_transform, async_maybe_transform
13-
from .._compat import cached_property
14-
from .._resource import SyncAPIResource, AsyncAPIResource
15-
from .._response import (
10+
from .name import (
11+
NameResource,
12+
AsyncNameResource,
13+
NameResourceWithRawResponse,
14+
AsyncNameResourceWithRawResponse,
15+
NameResourceWithStreamingResponse,
16+
AsyncNameResourceWithStreamingResponse,
17+
)
18+
from ...types import agent_rpc_params, agent_list_params, agent_rpc_by_name_params
19+
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
20+
from ..._utils import maybe_transform, async_maybe_transform
21+
from ..._compat import cached_property
22+
from ..._resource import SyncAPIResource, AsyncAPIResource
23+
from ..._response import (
1624
to_raw_response_wrapper,
1725
to_streamed_response_wrapper,
1826
async_to_raw_response_wrapper,
1927
async_to_streamed_response_wrapper,
2028
)
21-
from ..types.agent import Agent
22-
from .._base_client import make_request_options
23-
from ..types.agent_list_response import AgentListResponse
29+
from ...types.agent import Agent
30+
from ..._base_client import make_request_options
31+
from ...types.agent_list_response import AgentListResponse
2432

2533
__all__ = ["AgentsResource", "AsyncAgentsResource"]
2634

2735

2836
class AgentsResource(SyncAPIResource):
37+
@cached_property
38+
def name(self) -> NameResource:
39+
return NameResource(self._client)
40+
2941
@cached_property
3042
def with_raw_response(self) -> AgentsResourceWithRawResponse:
3143
"""
@@ -308,6 +320,10 @@ def rpc_by_name(
308320

309321

310322
class AsyncAgentsResource(AsyncAPIResource):
323+
@cached_property
324+
def name(self) -> AsyncNameResource:
325+
return AsyncNameResource(self._client)
326+
311327
@cached_property
312328
def with_raw_response(self) -> AsyncAgentsResourceWithRawResponse:
313329
"""
@@ -615,6 +631,10 @@ def __init__(self, agents: AgentsResource) -> None:
615631
agents.rpc_by_name,
616632
)
617633

634+
@cached_property
635+
def name(self) -> NameResourceWithRawResponse:
636+
return NameResourceWithRawResponse(self._agents.name)
637+
618638

619639
class AsyncAgentsResourceWithRawResponse:
620640
def __init__(self, agents: AsyncAgentsResource) -> None:
@@ -642,6 +662,10 @@ def __init__(self, agents: AsyncAgentsResource) -> None:
642662
agents.rpc_by_name,
643663
)
644664

665+
@cached_property
666+
def name(self) -> AsyncNameResourceWithRawResponse:
667+
return AsyncNameResourceWithRawResponse(self._agents.name)
668+
645669

646670
class AgentsResourceWithStreamingResponse:
647671
def __init__(self, agents: AgentsResource) -> None:
@@ -669,6 +693,10 @@ def __init__(self, agents: AgentsResource) -> None:
669693
agents.rpc_by_name,
670694
)
671695

696+
@cached_property
697+
def name(self) -> NameResourceWithStreamingResponse:
698+
return NameResourceWithStreamingResponse(self._agents.name)
699+
672700

673701
class AsyncAgentsResourceWithStreamingResponse:
674702
def __init__(self, agents: AsyncAgentsResource) -> None:
@@ -695,3 +723,7 @@ def __init__(self, agents: AsyncAgentsResource) -> None:
695723
self.rpc_by_name = async_to_streamed_response_wrapper(
696724
agents.rpc_by_name,
697725
)
726+
727+
@cached_property
728+
def name(self) -> AsyncNameResourceWithStreamingResponse:
729+
return AsyncNameResourceWithStreamingResponse(self._agents.name)

0 commit comments

Comments
 (0)