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
4 changes: 0 additions & 4 deletions src/agentex/lib/environment_variables.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ class EnvVarKeys(str, Enum):
HEALTH_CHECK_PORT = "HEALTH_CHECK_PORT"
# Auth Configuration
AUTH_PRINCIPAL_B64 = "AUTH_PRINCIPAL_B64"
# Build Information
BUILD_INFO_PATH = "BUILD_INFO_PATH"
AGENT_INPUT_TYPE = "AGENT_INPUT_TYPE"
# Deployment
AGENTEX_DEPLOYMENT_ID = "AGENTEX_DEPLOYMENT_ID"
Expand Down Expand Up @@ -85,8 +83,6 @@ class EnvironmentVariables(BaseModel):
HEALTH_CHECK_PORT: int = 80
# Auth Configuration
AUTH_PRINCIPAL_B64: str | None = None
# Build Information
BUILD_INFO_PATH: str | None = None
# Deployment
AGENTEX_DEPLOYMENT_ID: str | None = None
# Claude Agents SDK Configuration
Expand Down
13 changes: 0 additions & 13 deletions src/agentex/lib/sdk/fastacp/fastacp.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
from __future__ import annotations

import os
import inspect
from typing import Any, Literal
from pathlib import Path
from typing_extensions import deprecated

from agentex.lib.types.fastacp import (
Expand Down Expand Up @@ -82,14 +79,6 @@ def create_agentic_acp(config: AgenticACPConfig, **kwargs) -> BaseACPServer:
"""
return FastACP.create_async_acp(config, **kwargs)

@staticmethod
def locate_build_info_path() -> None:
"""If a build-info.json file is present, set the BUILD_INFO_PATH environment variable"""
acp_root = Path(inspect.stack()[2].filename).resolve().parents[0]
build_info_path = acp_root / "build-info.json"
if build_info_path.exists():
os.environ["BUILD_INFO_PATH"] = str(build_info_path)

@staticmethod
def create(
acp_type: Literal["sync", "async", "agentic"],
Expand All @@ -105,8 +94,6 @@ def create(
**kwargs: Additional configuration parameters
"""

FastACP.locate_build_info_path()

if acp_type == "sync":
sync_config = config if isinstance(config, SyncACPConfig) else None
instance = FastACP.create_sync_acp(sync_config, **kwargs)
Expand Down
15 changes: 2 additions & 13 deletions src/agentex/lib/utils/registration.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,6 @@ def get_auth_principal(env_vars: EnvironmentVariables):
except Exception:
return None

def get_build_info():
build_info_path = os.environ.get("BUILD_INFO_PATH")
logger.info(f"Getting build info from {build_info_path}")
if not build_info_path:
return None
try:
with open(build_info_path, "r") as f:
return json.load(f)
except Exception:
return None

async def register_agent(env_vars: EnvironmentVariables, agent_card=None):
"""Register this agent with the Agentex server"""
if not env_vars.AGENTEX_BASE_URL:
Expand All @@ -44,8 +33,8 @@ async def register_agent(env_vars: EnvironmentVariables, agent_card=None):
or f"Generic description for agent: {env_vars.AGENT_NAME}"
)

# Build registration metadata from build-info.json + deployment env var
registration_metadata = get_build_info() or {}
# Registration metadata carries the deployment id and agent card.
registration_metadata: dict = {}
if env_vars.AGENTEX_DEPLOYMENT_ID:
registration_metadata["deployment_id"] = env_vars.AGENTEX_DEPLOYMENT_ID
if agent_card is not None:
Expand Down
51 changes: 25 additions & 26 deletions tests/lib/test_agent_card.py
Original file line number Diff line number Diff line change
Expand Up @@ -358,40 +358,39 @@ async def test_agent_card_merged_into_metadata(self, mock_env_vars):
card = AgentCard(input_types=["text"], data_events=["result"])
mock_client = self._make_mock_client()

with patch("agentex.lib.utils.registration.get_build_info", return_value={"version": "1.0"}):
with patch("agentex.lib.utils.registration.httpx.AsyncClient", return_value=mock_client):
from agentex.lib.utils.registration import register_agent
await register_agent(mock_env_vars, agent_card=card)
with patch("agentex.lib.utils.registration.httpx.AsyncClient", return_value=mock_client):
from agentex.lib.utils.registration import register_agent

sent_data = mock_client.post.call_args.kwargs["json"]
metadata = sent_data["registration_metadata"]
await register_agent(mock_env_vars, agent_card=card)

assert "agent_card" in metadata
assert metadata["agent_card"]["input_types"] == ["text"]
assert metadata["agent_card"]["data_events"] == ["result"]
assert metadata["version"] == "1.0"
sent_data = mock_client.post.call_args.kwargs["json"]
metadata = sent_data["registration_metadata"]

async def test_none_preserved_when_no_card_no_build_info(self, mock_env_vars):
assert "agent_card" in metadata
assert metadata["agent_card"]["input_types"] == ["text"]
assert metadata["agent_card"]["data_events"] == ["result"]

async def test_none_preserved_when_no_card(self, mock_env_vars):
mock_client = self._make_mock_client()

with patch("agentex.lib.utils.registration.get_build_info", return_value=None):
with patch("agentex.lib.utils.registration.httpx.AsyncClient", return_value=mock_client):
from agentex.lib.utils.registration import register_agent
await register_agent(mock_env_vars, agent_card=None)
with patch("agentex.lib.utils.registration.httpx.AsyncClient", return_value=mock_client):
from agentex.lib.utils.registration import register_agent

await register_agent(mock_env_vars, agent_card=None)

sent_data = mock_client.post.call_args.kwargs["json"]
assert sent_data["registration_metadata"] is None
sent_data = mock_client.post.call_args.kwargs["json"]
assert sent_data["registration_metadata"] is None

async def test_card_creates_metadata_when_build_info_none(self, mock_env_vars):
async def test_card_creates_metadata(self, mock_env_vars):
card = AgentCard(input_types=["text"])
mock_client = self._make_mock_client()

with patch("agentex.lib.utils.registration.get_build_info", return_value=None):
with patch("agentex.lib.utils.registration.httpx.AsyncClient", return_value=mock_client):
from agentex.lib.utils.registration import register_agent
await register_agent(mock_env_vars, agent_card=card)
with patch("agentex.lib.utils.registration.httpx.AsyncClient", return_value=mock_client):
from agentex.lib.utils.registration import register_agent

await register_agent(mock_env_vars, agent_card=card)

sent_data = mock_client.post.call_args.kwargs["json"]
metadata = sent_data["registration_metadata"]
assert metadata is not None
assert "agent_card" in metadata
sent_data = mock_client.post.call_args.kwargs["json"]
metadata = sent_data["registration_metadata"]
assert metadata is not None
assert "agent_card" in metadata
Loading