Skip to content

Commit f1c251f

Browse files
authored
Merge pull request #5 from scaleapi/release-please--branches--main--changes--next
release: 0.1.0-alpha.3
2 parents 82d8810 + 1ab925f commit f1c251f

File tree

141 files changed

+734
-3959
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+734
-3959
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,3 @@ dist
1414
.envrc
1515
codegen.log
1616
Brewfile.lock.json
17-
18-
.codeartifact-pip-conf

.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.1.0-alpha.2"
2+
".": "0.1.0-alpha.3"
33
}

.stats.yml

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

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 0.1.0-alpha.3 (2025-07-22)
4+
5+
Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/scaleapi/agentex-python/compare/v0.1.0-alpha.2...v0.1.0-alpha.3)
6+
7+
### Features
8+
9+
* **api:** api update ([afedf45](https://github.com/scaleapi/agentex-python/commit/afedf4541ba6219cd04ef7af39a1d451abde75a4))
10+
311
## 0.1.0-alpha.2 (2025-07-22)
412

513
Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/scaleapi/agentex-python/compare/v0.1.0-alpha.1...v0.1.0-alpha.2)

api.md

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,7 @@
33
Types:
44

55
```python
6-
from agentex.types import (
7-
AcpType,
8-
Agent,
9-
AgentRpcParams,
10-
AgentRpcRequest,
11-
AgentRpcResponse,
12-
AgentRpcResult,
13-
DataDelta,
14-
TaskMessageContent,
15-
TaskMessageDelta,
16-
TaskMessageUpdate,
17-
TextDelta,
18-
ToolRequestDelta,
19-
ToolResponseDelta,
20-
AgentListResponse,
21-
)
6+
from agentex.types import AcpType, Agent, AgentRpcRequest, AgentListResponse
227
```
238

249
Methods:
@@ -28,8 +13,8 @@ Methods:
2813
- <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>
2914
- <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>
3015
- <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>
31-
- <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>) -> <a href="./src/agentex/types/agent_rpc_response.py">AgentRpcResponse</a></code>
32-
- <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>) -> <a href="./src/agentex/types/agent_rpc_response.py">AgentRpcResponse</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>
3318

3419
# Tasks
3520

@@ -58,6 +43,7 @@ from agentex.types import (
5843
DataContent,
5944
MessageAuthor,
6045
MessageStyle,
46+
StreamingStatus,
6147
TaskMessage,
6248
TextContent,
6349
ToolRequestContent,

examples/tutorials/00_sync/000_hello_acp/.dockerignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,3 @@ venv.bak/
4141

4242
# Misc
4343
.DS_Store
44-
45-
# CodeArtifact configuration
46-
.codeartifact-pip-conf

examples/tutorials/00_sync/000_hello_acp/Dockerfile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@ COPY 000_hello_acp/requirements.txt /app/requirements.txt
2828
WORKDIR /app/
2929

3030
# Install the required Python packages
31-
RUN --mount=type=secret,id=codeartifact-pip-conf,target=/etc/pip.conf \
32-
export UV_INDEX_URL=$(grep -E "^index-url" /etc/pip.conf | cut -d'=' -f2- | xargs) && \
33-
export UV_EXTRA_INDEX_URL=$(grep -E "^extra-index-url" /etc/pip.conf | cut -d'=' -f2- | xargs || echo "") && \
34-
uv pip install --system -r requirements.txt
31+
RUN uv pip install --system -r requirements.txt
3532

3633
# Copy the project code
3734
COPY 000_hello_acp/project /app/project
Lines changed: 4 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,128 +1,7 @@
1-
# hello-sync - AgentEx Starter Template
1+
# [Sync] Hello ACP
22

3-
This is a generic starter template for building agents with the AgentEx framework. It provides a basic implementation of the Agent 2 Client Protocol (ACP) to help you get started quickly.
3+
This is a simple AgentEx agent that just says hello and acknowledges the user's message to show which ACP methods need to be implemented for the sync ACP type.
44

5-
## What You'll Learn
6-
7-
- **Tasks**: A task is a grouping mechanism for related messages. Think of it as a conversation thread or a session.
8-
- **Messages**: Messages are communication objects within a task. They can contain text, data, or instructions.
9-
- **ACP Events**: The agent responds to four main events:
10-
- `task_received`: When a new task is created
11-
- `task_message_received`: When a message is sent within a task
12-
- `task_approved`: When a task is approved
13-
- `task_canceled`: When a task is canceled
14-
15-
## Running the Agent
16-
17-
1. Run the agent locally:
18-
```bash
19-
agentex agents run --manifest manifest.yaml
20-
```
21-
22-
The agent will start on port 8000 and print messages whenever it receives any of the ACP events.
23-
24-
## What's Inside
25-
26-
This template:
27-
- Sets up a basic ACP server
28-
- Handles each of the required ACP events with simple print statements
29-
- Provides a foundation for building more complex agents
30-
31-
## Next Steps
32-
33-
For more advanced agent development, check out the AgentEx tutorials:
34-
35-
- **Tutorials 00-08**: Learn about building synchronous agents with ACP
36-
- **Tutorials 09-10**: Learn how to use Temporal to power asynchronous agents
37-
- Tutorial 09: Basic Temporal workflow setup
38-
- Tutorial 10: Advanced Temporal patterns and best practices
39-
40-
These tutorials will help you understand:
41-
- How to handle long-running tasks
42-
- Implementing state machines
43-
- Managing complex workflows
44-
- Best practices for async agent development
45-
46-
## The Manifest File
47-
48-
The `manifest.yaml` file is your agent's configuration file. It defines:
49-
- How your agent should be built and packaged
50-
- What files are included in your agent's Docker image
51-
- Your agent's name and description
52-
- Local development settings (like the port your agent runs on)
53-
54-
This file is essential for both local development and deployment of your agent.
55-
56-
## Project Structure
57-
58-
```
59-
hello_sync/
60-
├── project/ # Your agent's code
61-
│ ├── __init__.py
62-
│ └── acp.py # ACP server and event handlers
63-
├── Dockerfile # Container definition
64-
├── manifest.yaml # Deployment config
65-
└── requirements.txt # Dependencies
66-
```
67-
68-
## Development
69-
70-
1. **Customize Event Handlers**
71-
- Modify the handlers in `acp.py` to implement your agent's logic
72-
- Add your own tools and capabilities
73-
- Implement custom state management
74-
75-
2. **Add Dependencies**
76-
- Add required packages to `requirements.txt`
77-
- Update the manifest with any needed credentials
78-
79-
## Local Development
80-
81-
1. **Install AgentEx**
82-
```bash
83-
cd agentex-py
84-
uv venv
85-
source .venv/bin/activate
86-
uv sync
87-
```
88-
89-
2. **Deploy your agent**
90-
```bash
91-
# From this directory
92-
export ENVIRONMENT=development && agentex agents create --manifest manifest.yaml
93-
```
94-
95-
4. **Interact with your agent**
96-
97-
Option 0: CLI (deprecated - to be replaced once a new CLI is implemented - please use the web UI for now!)
98-
```bash
99-
# Submit a task via CLI
100-
agentex tasks submit --agent {{ agent_name }} --task "Your task here"
101-
```
102-
103-
Option 1: Web UI
104-
```bash
105-
# Start the local web interface
106-
cd agentex-web
107-
make dev
108-
109-
# Then open http://localhost:3000 in your browser to chat with your agent
110-
```
111-
112-
## Development Tips
113-
114-
1. **Local Testing**
115-
- Set environment variables in project/.env for any required credentials. OR you can set these in the manifest.yaml
116-
117-
### To build the agent Docker image locally (normally not necessary):
118-
119-
1. First, set up CodeArtifact authentication:
120-
```bash
121-
../../setup-build-codeartifact.sh
122-
```
123-
124-
2. Build the agent image:
125-
```bash
126-
agentex agents build --manifest manifest.yaml --secret 'id=codeartifact-pip-conf,src=.codeartifact-pip-conf'
127-
```
5+
## Official Documentation
1286

7+
[000 Hello ACP](https://dev.agentex.scale.com/docs/tutorials/sync/000_hello_acp)

examples/tutorials/00_sync/000_hello_acp/manifest.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ build:
1919

2020
# Paths to include in the Docker build context
2121
# Must include:
22-
# - agentex-py: The core framework (needed for agent execution)
2322
# - Your agent's directory (your custom agent code)
2423
# These paths are collected and sent to the Docker daemon for building
2524
include_paths:
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
[build-system]
2+
requires = ["hatchling"]
3+
build-backend = "hatchling.build"
4+
5+
[project]
6+
name = "s000-hello-acp"
7+
version = "0.1.0"
8+
description = "An AgentEx agent that just says hello and acknowledges the user's message"
9+
readme = "README.md"
10+
requires-python = ">=3.12"
11+
dependencies = [
12+
"agentex-sdk",
13+
"scale-gp",
14+
]
15+
16+
[project.optional-dependencies]
17+
dev = [
18+
"pytest",
19+
"black",
20+
"isort",
21+
"flake8",
22+
]
23+
24+
[tool.hatch.build.targets.wheel]
25+
packages = ["project"]
26+
27+
[tool.black]
28+
line-length = 88
29+
target-version = ['py312']
30+
31+
[tool.isort]
32+
profile = "black"
33+
line_length = 88

0 commit comments

Comments
 (0)