Skip to content

Commit d0f8bea

Browse files
committed
working client auth
1 parent 02f0aba commit d0f8bea

File tree

11 files changed

+38
-23
lines changed

11 files changed

+38
-23
lines changed

src/agentex/lib/adk/providers/_modules/litellm.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from collections.abc import AsyncGenerator
22
from datetime import timedelta
33

4+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
45
from temporalio.common import RetryPolicy
56

67
from agentex import AsyncAgentex
@@ -39,7 +40,7 @@ def __init__(
3940
):
4041
if litellm_service is None:
4142
# Create default service
42-
agentex_client = AsyncAgentex()
43+
agentex_client = create_async_agentex_client()
4344
stream_repository = RedisStreamRepository()
4445
streaming_service = StreamingService(
4546
agentex_client=agentex_client,

src/agentex/lib/adk/providers/_modules/openai.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from datetime import timedelta
22
from typing import Any, Literal
33

4+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
45
from agents import Agent, RunResult, RunResultStreaming
56
from agents.agent import StopAtTools, ToolsToFinalOutputFunction
67
from agents.agent_output import AgentOutputSchemaBase
@@ -46,7 +47,7 @@ def __init__(
4647
):
4748
if openai_service is None:
4849
# Create default service
49-
agentex_client = AsyncAgentex()
50+
agentex_client = create_async_agentex_client()
5051
stream_repository = RedisStreamRepository()
5152
streaming_service = StreamingService(
5253
agentex_client=agentex_client,

src/agentex/lib/adk/providers/_modules/sgp.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from datetime import timedelta
22

3+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
34
from scale_gp import SGPClient, SGPClientError
45
from temporalio.common import RetryPolicy
56

@@ -33,7 +34,7 @@ def __init__(
3334
if sgp_service is None:
3435
try:
3536
sgp_client = SGPClient()
36-
agentex_client = AsyncAgentex()
37+
agentex_client = create_async_agentex_client()
3738
tracer = AsyncTracer(agentex_client)
3839
self._sgp_service = SGPService(sgp_client=sgp_client, tracer=tracer)
3940
except SGPClientError:
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import httpx
22

33
from agentex import AsyncAgentex
4-
from agentex.lib.environment_variables import refreshed_environment_variables
4+
from agentex.lib.environment_variables import EnvironmentVariables
55
from agentex.lib.utils.logging import make_logger
66

77
logger = make_logger(__name__)
@@ -13,15 +13,16 @@ def __init__(self, header_name="x-agent-identity"):
1313

1414
def auth_flow(self, request):
1515
# This gets called for every request
16-
17-
agent_id = refreshed_environment_variables.AGENT_ID
18-
if agent_id:
19-
request.headers[self.header_name] = agent_id
20-
logger.info(f"Adding header {self.header_name}:{agent_id}")
16+
env_vars = EnvironmentVariables.refresh()
17+
if env_vars:
18+
agent_id = env_vars.AGENT_ID
19+
if agent_id:
20+
request.headers[self.header_name] = agent_id
21+
logger.info(f"Adding header {self.header_name}:{agent_id}")
2122
yield request
2223

2324

2425
def create_async_agentex_client(**kwargs) -> AsyncAgentex:
25-
http_client = httpx.AsyncClient(auth=EnvAuth())
26-
27-
return AsyncAgentex(http_client=http_client, **kwargs)
26+
client = AsyncAgentex(**kwargs)
27+
client._client.auth = EnvAuth()
28+
return client

src/agentex/lib/adk/utils/_modules/templating.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from datetime import timedelta
22
from typing import Any
33

4+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
45
from temporalio.common import RetryPolicy
56

67
from agentex import AsyncAgentex
@@ -39,7 +40,7 @@ def __init__(
3940
templating_service (Optional[TemplatingService]): Optional pre-configured templating service. If None, will be auto-initialized.
4041
"""
4142
if templating_service is None:
42-
agentex_client = AsyncAgentex()
43+
agentex_client = create_async_agentex_client()
4344
tracer = AsyncTracer(agentex_client)
4445
self._templating_service = TemplatingService(tracer=tracer)
4546
else:

src/agentex/lib/core/temporal/activities/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
12
from scale_gp import SGPClient, SGPClientError
23

34
from agentex import AsyncAgentex
@@ -58,7 +59,7 @@ def get_all_activities(sgp_client=None):
5859

5960
llm_gateway = LiteLLMGateway()
6061
stream_repository = RedisStreamRepository()
61-
agentex_client = AsyncAgentex()
62+
agentex_client = create_async_agentex_client()
6263
tracer = AsyncTracer(agentex_client)
6364

6465
# Services

src/agentex/lib/core/tracing/processors/agentex_tracing_processor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from typing import Any, Dict, override
22

33
from agentex import Agentex, AsyncAgentex
4+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
45
from agentex.lib.core.tracing.processors.tracing_processor_interface import (
56
AsyncTracingProcessor,
67
SyncTracingProcessor,
@@ -65,7 +66,7 @@ def shutdown(self) -> None:
6566

6667
class AgentexAsyncTracingProcessor(AsyncTracingProcessor):
6768
def __init__(self, config: AgentexTracingProcessorConfig):
68-
self.client = AsyncAgentex()
69+
self.client = create_async_agentex_client()
6970

7071
@override
7172
async def on_span_start(self, span: Span) -> None:

src/agentex/lib/environment_variables.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
from enum import Enum
55
from pathlib import Path
66

7+
from agentex.lib.utils.logging import make_logger
78
from dotenv import load_dotenv
89

910
from agentex.lib.utils.model_utils import BaseModel
1011

1112
PROJECT_ROOT = Path(__file__).resolve().parents[2]
1213

14+
logger = make_logger(__name__)
15+
1316

1417
class EnvVarKeys(str, Enum):
1518
ENVIRONMENT = "ENVIRONMENT"
@@ -64,6 +67,7 @@ def refresh(cls) -> EnvironmentVariables | None:
6467
if refreshed_environment_variables is not None:
6568
return refreshed_environment_variables
6669

70+
logger.info("Refreshing environment variables")
6771
if os.environ.get(EnvVarKeys.ENVIRONMENT) == Environment.DEV:
6872
# Load global .env file first
6973
global_env_path = PROJECT_ROOT / ".env"

src/agentex/lib/sdk/fastacp/base/base_acp_server.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,9 +397,11 @@ async def _register_agent(self, env_vars: EnvironmentVariables):
397397

398398
os.environ["AGENT_ID"] = agent_id
399399
os.environ["AGENT_NAME"] = agent_name
400-
refreshed_environment_variables.AGENT_ID = agent_id
401-
refreshed_environment_variables.AGENT_NAME = agent_name
400+
env_vars.AGENT_ID = agent_id
401+
env_vars.AGENT_NAME = agent_name
402402
create_async_agentex_client() # refresh cache
403+
global refreshed_environment_variables
404+
refreshed_environment_variables = env_vars
403405
logger.info(
404406
f"Successfully registered agent '{env_vars.AGENT_NAME}' with Agentex server with acp_url: {full_acp_url}. Registration data: {registration_data}"
405407
)

src/agentex/lib/sdk/fastacp/impl/agentic_base_acp.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
from typing import Any
2+
3+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
24
from typing_extensions import override
35
from agentex import AsyncAgentex
46
from agentex.lib.sdk.fastacp.base.base_acp_server import BaseACPServer
@@ -24,7 +26,7 @@ class AgenticBaseACP(BaseACPServer):
2426
def __init__(self):
2527
super().__init__()
2628
self._setup_handlers()
27-
self._agentex_client = AsyncAgentex()
29+
self._agentex_client = create_async_agentex_client()
2830

2931
@classmethod
3032
@override

0 commit comments

Comments
 (0)