Skip to content
Open
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
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.11.4"
".": "0.12.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 63
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-77ce1b851a8b44f0e67ce2c3ebc20cd92d5af16ab9d3a9224344cd4c83ffb564.yml
openapi_spec_hash: d31d828c46635cbc20165177c7187a70
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-4d4bf80af19e6a2ef6b890d5d978316b86e9939d8d5116e94b90117525c61325.yml
openapi_spec_hash: 133afeacb42000ed4f9e076abf4b50fd
config_hash: ba5183ca635940fd202d05a2a9fcb630
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Changelog

## 0.12.0 (2026-05-27)

Full Changelog: [v0.11.4...v0.12.0](https://github.com/scaleapi/scale-agentex-python/compare/v0.11.4...v0.12.0)

### Features

* **api:** add cleaned_at field to task response types ([38ed338](https://github.com/scaleapi/scale-agentex-python/commit/38ed3384094f7f07f6b2482489f457fd1dc4f76d))


### Chores

* **deps:** drop unused runtime deps and exclude tests from wheel ([#367](https://github.com/scaleapi/scale-agentex-python/issues/367)) ([f4303d1](https://github.com/scaleapi/scale-agentex-python/commit/f4303d1e7211783d19beca6554e44eb73bb29c42))


### Refactors

* **types:** promote protocol types to agentex.protocol.* ([#371](https://github.com/scaleapi/scale-agentex-python/issues/371)) ([6f1c14f](https://github.com/scaleapi/scale-agentex-python/commit/6f1c14fd61077da52038361642a9fbc4a0a56c8b))

## 0.11.4 (2026-05-26)

Full Changelog: [v0.11.3...v0.11.4](https://github.com/scaleapi/scale-agentex-python/compare/v0.11.3...v0.11.4)
Expand Down
16 changes: 16 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,27 @@ The package provides the `agentex` CLI with these main commands:

### Code Structure
- `/src/agentex/` - Core SDK and generated API client code
- `/src/agentex/protocol/` - **Canonical** location for wire-protocol shapes
(JSON-RPC envelopes, ACP method-param types). Depends only on `pydantic`
and the Stainless-generated `agentex.types.*` surface, so it is safe to
import from a future slim REST-only install.
- `acp.py` - `RPCMethod`, `CreateTaskParams`, `SendMessageParams`,
`SendEventParams`, `CancelTaskParams`, `RPC_SYNC_METHODS`,
`PARAMS_MODEL_BY_METHOD`
- `json_rpc.py` - `JSONRPCRequest`, `JSONRPCResponse`, `JSONRPCError`
- `/src/agentex/lib/` - Custom library code (not modified by code generator)
- `/cli/` - Command-line interface implementation
- `/core/` - Core services, adapters, and temporal workflows
- `/sdk/` - SDK utilities and FastACP implementation
- `/types/` - Custom type definitions
- `acp.py`, `json_rpc.py` - **back-compat shims** re-exporting from
`agentex.protocol.*`. Existing `from agentex.lib.types.{acp,json_rpc}
import ...` keeps working; new code should import from the canonical
`agentex.protocol.*` paths.
- Other modules (`tracing`, `agent_card`, `credentials`, `fastacp`,
`llm_messages`, `converters`, etc.) stay here — they have heavier
transitive deps (temporal, openai-agents, model_utils/yaml) and
aren't slim-safe.
- `/utils/` - Utility functions
- `/examples/` - Example implementations and tutorials
- `/tests/` - Test suites
Expand Down
20 changes: 10 additions & 10 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "agentex-sdk"
version = "0.11.4"
version = "0.12.0"
description = "The official Python library for the agentex API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand All @@ -20,7 +20,6 @@ dependencies = [
"rich>=13.9.2,<14",
"fastapi>=0.115.0",
"starlette>=0.49.1",
"tornado>=6.5.5",
"uvicorn>=0.31.1",
"watchfiles>=0.24.0,<1.0",
"python-on-whales>=0.73.0,<0.74",
Expand All @@ -33,24 +32,17 @@ dependencies = [
"litellm>=1.83.7,<2",
"kubernetes>=25.0.0,<36.0.0",
"jinja2>=3.1.3,<4",
"mcp[cli]>=1.4.1",
"mcp>=1.4.1",
"scale-gp>=0.1.0a59",
"openai-agents==0.14.1",
"pydantic-ai-slim>=1.0,<2",
"tzlocal>=5.3.1",
"tzdata>=2025.2",
"pytest>=8.4.0",
"json_log_formatter>=1.1.1",
"pytest-asyncio>=1.0.0",
"scale-gp-beta>=0.2.0",
"ipykernel>=6.29.5",
"openai>=2.2,<3", # Required by openai-agents; litellm now supports openai 2.x (issue #13711 resolved: https://github.com/BerriAI/litellm/issues/13711)
"cloudpickle>=3.1.1",
"datadog>=0.52.1",
"ddtrace>=3.13.0",
"yaspin>=3.1.0",
"claude-agent-sdk>=0.1.0",
"anthropic>=0.40.0",
"langgraph-checkpoint>=2.0.0",
"opentelemetry-sdk>=1.20.0",
"opentelemetry-api>=1.20.0",
Expand Down Expand Up @@ -152,6 +144,14 @@ include = [

[tool.hatch.build.targets.wheel]
packages = ["src/agentex"]
# Don't ship internal test files in the wheel. `lib/cli/templates/**/test_agent.py.j2`
# is intentionally kept — those render into user projects.
exclude = [
"src/agentex/lib/**/tests/**",
"src/agentex/lib/**/test_*.py",
"src/agentex/lib/**/conftest.py",
"src/agentex/lib/**/pytest.ini",
]

[tool.hatch.build.targets.sdist]
# Basically everything except hidden files/directories (such as .github, .devcontainers, .python-version, etc)
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "agentex"
__version__ = "0.11.4" # x-release-please-version
__version__ = "0.12.0" # x-release-please-version
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import agentex.lib.adk as adk
from agentex.lib.adk import create_langgraph_tracing_handler, stream_langgraph_events
from agentex.lib.core.tracing.tracing_processor_manager import add_tracing_processor_config
from agentex.lib.sdk.fastacp.fastacp import FastACP
from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
from agentex.protocol.acp import SendEventParams, CancelTaskParams, CreateTaskParams
from agentex.lib.types.fastacp import AsyncACPConfig
from agentex.lib.types.tracing import SGPTracingProcessorConfig
from agentex.lib.utils.logging import make_logger
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ from agentex.lib.adk import (
stream_pydantic_ai_events,
create_pydantic_ai_tracing_handler,
)
from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
from agentex.protocol.acp import SendEventParams, CancelTaskParams, CreateTaskParams
from agentex.lib.types.fastacp import AsyncACPConfig
from agentex.lib.types.tracing import SGPTracingProcessorConfig
from agentex.lib.utils.logging import make_logger
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/cli/templates/default/project/acp.py.j2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from agentex.lib.sdk.fastacp.fastacp import FastACP
from agentex.lib.types.fastacp import AsyncACPConfig
from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
from agentex.protocol.acp import SendEventParams, CancelTaskParams, CreateTaskParams
from agentex.lib.utils.logging import make_logger
from agentex.types.text_content import TextContent
from agentex.lib import adk
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import agentex.lib.adk as adk
from agentex.lib.adk import create_langgraph_tracing_handler, convert_langgraph_to_agentex_events
from agentex.lib.core.tracing.tracing_processor_manager import add_tracing_processor_config
from agentex.lib.sdk.fastacp.fastacp import FastACP
from agentex.lib.types.acp import SendMessageParams
from agentex.protocol.acp import SendMessageParams
from agentex.lib.types.tracing import SGPTracingProcessorConfig
from agentex.lib.utils.logging import make_logger
from agentex.types.task_message_content import TaskMessageContent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from typing import AsyncGenerator, List
from agentex.lib import adk
from agentex.lib.adk.providers._modules.sync_provider import SyncStreamingProvider, convert_openai_to_agentex_events
from agentex.lib.sdk.fastacp.fastacp import FastACP
from agentex.lib.types.acp import SendMessageParams
from agentex.protocol.acp import SendMessageParams
from agentex.lib.core.tracing.tracing_processor_manager import add_tracing_processor_config
from agentex.lib.types.tracing import SGPTracingProcessorConfig
from agentex.lib.utils.model_utils import BaseModel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ from agentex.lib.adk import (
create_pydantic_ai_tracing_handler,
convert_pydantic_ai_to_agentex_events,
)
from agentex.lib.types.acp import SendMessageParams
from agentex.protocol.acp import SendMessageParams
from agentex.lib.types.tracing import SGPTracingProcessorConfig
from agentex.lib.utils.logging import make_logger
from agentex.lib.sdk.fastacp.fastacp import FastACP
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/cli/templates/sync/project/acp.py.j2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import AsyncGenerator, Union
from agentex.lib.sdk.fastacp.fastacp import FastACP
from agentex.lib.types.acp import SendMessageParams
from agentex.protocol.acp import SendMessageParams

from agentex.types.task_message_update import TaskMessageUpdate
from agentex.types.task_message_content import TaskMessageContent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import os
from temporalio import workflow

from agentex.lib import adk
from agentex.lib.types.acp import CreateTaskParams, SendEventParams
from agentex.protocol.acp import CreateTaskParams, SendEventParams
from agentex.lib.core.temporal.workflows.workflow import BaseWorkflow
from agentex.lib.core.temporal.types.workflow import SignalName
from agentex.lib.utils.logging import make_logger
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ from temporalio import workflow
from project.agent import TaskDeps, temporal_agent

from agentex.lib import adk
from agentex.lib.types.acp import SendEventParams, CreateTaskParams
from agentex.protocol.acp import SendEventParams, CreateTaskParams
from agentex.lib.types.tracing import SGPTracingProcessorConfig
from agentex.lib.utils.logging import make_logger
from agentex.types.text_content import TextContent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import json
from temporalio import workflow

from agentex.lib import adk
from agentex.lib.types.acp import CreateTaskParams, SendEventParams
from agentex.protocol.acp import CreateTaskParams, SendEventParams
from agentex.lib.core.temporal.workflows.workflow import BaseWorkflow
from agentex.lib.core.temporal.types.workflow import SignalName
from agentex.lib.utils.logging import make_logger
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from agentex.types.task import Task
from agentex.types.agent import Agent
from agentex.types.event import Event
from agentex.lib.types.acp import SendEventParams, CreateTaskParams
from agentex.protocol.acp import SendEventParams, CreateTaskParams
from agentex.lib.environment_variables import EnvironmentVariables
from agentex.lib.core.clients.temporal.types import WorkflowState
from agentex.lib.core.temporal.types.workflow import SignalName
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/core/temporal/workflows/workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from temporalio import workflow

from agentex.lib.types.acp import SendEventParams, CreateTaskParams
from agentex.protocol.acp import SendEventParams, CreateTaskParams
from agentex.lib.utils.logging import make_logger
from agentex.lib.core.temporal.types.workflow import SignalName

Expand Down
4 changes: 2 additions & 2 deletions src/agentex/lib/sdk/fastacp/base/base_acp_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from starlette.types import Send, Scope, ASGIApp, Receive
from fastapi.responses import StreamingResponse

from agentex.lib.types.acp import (
from agentex.protocol.acp import (
RPC_SYNC_METHODS,
PARAMS_MODEL_BY_METHOD,
RPCMethod,
Expand All @@ -24,7 +24,7 @@
SendMessageParams,
)
from agentex.lib.utils.logging import make_logger, ctx_var_request_id
from agentex.lib.types.json_rpc import JSONRPCError, JSONRPCRequest, JSONRPCResponse
from agentex.protocol.json_rpc import JSONRPCError, JSONRPCRequest, JSONRPCResponse
from agentex.lib.utils.model_utils import BaseModel
from agentex.lib.utils.registration import register_agent

Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/sdk/fastacp/impl/async_base_acp.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any
from typing_extensions import override

from agentex.lib.types.acp import (
from agentex.protocol.acp import (
SendEventParams,
CancelTaskParams,
CreateTaskParams,
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/sdk/fastacp/impl/sync_acp.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Any, override
from collections.abc import AsyncGenerator

from agentex.lib.types.acp import SendMessageParams
from agentex.protocol.acp import SendMessageParams
from agentex.lib.utils.logging import make_logger
from agentex.types.task_message_delta import TextDelta
from agentex.types.task_message_update import (
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/sdk/fastacp/impl/temporal_acp.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from fastapi import FastAPI
from temporalio.converter import PayloadCodec

from agentex.lib.types.acp import (
from agentex.protocol.acp import (
SendEventParams,
CancelTaskParams,
CreateTaskParams,
Expand Down
4 changes: 2 additions & 2 deletions src/agentex/lib/sdk/fastacp/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@

from agentex.types.task import Task
from agentex.types.agent import Agent
from agentex.lib.types.acp import (
from agentex.protocol.acp import (
CancelTaskParams,
CreateTaskParams,
SendMessageParams,
)
from agentex.lib.types.json_rpc import JSONRPCRequest
from agentex.protocol.json_rpc import JSONRPCRequest
from agentex.types.task_message import TaskMessageContent
from agentex.types.task_message_content import TextContent
from agentex.lib.sdk.fastacp.impl.sync_acp import SyncACP
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/sdk/fastacp/tests/test_base_acp_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import pytest
from fastapi.testclient import TestClient

from agentex.lib.types.acp import (
from agentex.protocol.acp import (
RPCMethod,
SendEventParams,
CancelTaskParams,
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/lib/sdk/fastacp/tests/test_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import httpx
import pytest

from agentex.lib.types.acp import (
from agentex.protocol.acp import (
RPCMethod,
SendEventParams,
CancelTaskParams,
Expand Down
Loading
Loading