Skip to content

Commit ec9aeac

Browse files
fix circular import
1 parent c698a6a commit ec9aeac

File tree

11 files changed

+137
-75
lines changed

11 files changed

+137
-75
lines changed

src/agentex/lib/adk/__init__.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
1+
# ruff: noqa: I001
2+
# Import order matters here to avoid circular imports
3+
# The _modules must be imported before providers/utils
14

2-
from agentex.lib.adk import utils, providers
35
from agentex.lib.adk._modules.acp import ACPModule
4-
from agentex.lib.adk._modules.state import StateModule
5-
from agentex.lib.adk._modules.tasks import TasksModule
66
from agentex.lib.adk._modules.agents import AgentsModule
7+
from agentex.lib.adk._modules.agent_task_tracker import AgentTaskTrackerModule
78
from agentex.lib.adk._modules.events import EventsModule
8-
from agentex.lib.adk._modules.tracing import TracingModule
99
from agentex.lib.adk._modules.messages import MessagesModule
10+
from agentex.lib.adk._modules.state import StateModule
1011
from agentex.lib.adk._modules.streaming import StreamingModule
11-
from agentex.lib.adk._modules.agent_task_tracker import AgentTaskTrackerModule
12+
from agentex.lib.adk._modules.tasks import TasksModule
13+
from agentex.lib.adk._modules.tracing import TracingModule
14+
15+
from agentex.lib.adk import providers
16+
from agentex.lib.adk import utils
1217

1318
acp = ACPModule()
1419
agents = AgentsModule()

src/agentex/lib/adk/_modules/acp.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
1-
from typing import Any, List
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
23
from datetime import timedelta
4+
from typing import Any, List
35

6+
from agentex.types import Event
47
from temporalio.common import RetryPolicy
58

6-
from agentex.types import Event
7-
from agentex.types.task import Task
8-
from agentex.lib.utils.logging import make_logger
9-
from agentex.lib.utils.temporal import in_temporal_workflow
10-
from agentex.types.task_message import TaskMessage
11-
from agentex.lib.core.tracing.tracer import AsyncTracer
12-
from agentex.types.task_message_content import TaskMessageContent
9+
from agentex import AsyncAgentex # noqa: F401
1310
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
1411
from agentex.lib.core.services.adk.acp.acp import ACPService
1512
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
1613
from agentex.lib.core.temporal.activities.adk.acp.acp_activities import (
1714
ACPActivityName,
1815
EventSendParams,
16+
MessageSendParams,
1917
TaskCancelParams,
2018
TaskCreateParams,
21-
MessageSendParams,
2219
)
20+
from agentex.lib.core.tracing.tracer import AsyncTracer
21+
from agentex.types.task_message import TaskMessage
22+
from agentex.types.task import Task
23+
from agentex.lib.utils.logging import make_logger
24+
from agentex.lib.utils.temporal import in_temporal_workflow
25+
from agentex.types.task_message_content import TaskMessageContent
2326

2427
logger = make_logger(__name__)
2528

src/agentex/lib/adk/_modules/agent_task_tracker.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
13
from datetime import timedelta
24

35
from temporalio.common import RetryPolicy
46

5-
from agentex.lib.utils.logging import make_logger
6-
from agentex.lib.utils.temporal import in_temporal_workflow
7-
from agentex.lib.core.tracing.tracer import AsyncTracer
8-
from agentex.types.agent_task_tracker import AgentTaskTracker
7+
from agentex import AsyncAgentex # noqa: F401
98
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
109
from agentex.lib.core.services.adk.agent_task_tracker import AgentTaskTrackerService
1110
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
1211
from agentex.lib.core.temporal.activities.adk.agent_task_tracker_activities import (
13-
GetAgentTaskTrackerParams,
1412
AgentTaskTrackerActivityName,
15-
UpdateAgentTaskTrackerParams,
1613
GetAgentTaskTrackerByTaskAndAgentParams,
14+
GetAgentTaskTrackerParams,
15+
UpdateAgentTaskTrackerParams,
1716
)
17+
from agentex.lib.core.tracing.tracer import AsyncTracer
18+
from agentex.types.agent_task_tracker import AgentTaskTracker
19+
from agentex.lib.utils.logging import make_logger
20+
from agentex.lib.utils.temporal import in_temporal_workflow
1821

1922
logger = make_logger(__name__)
2023

src/agentex/lib/adk/_modules/agents.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
from typing import Optional
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
23
from datetime import timedelta
4+
from typing import Optional
35

6+
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
7+
from agentex.lib.core.temporal.activities.adk.agents_activities import AgentsActivityName, GetAgentParams
48
from temporalio.common import RetryPolicy
59

10+
from agentex import AsyncAgentex # noqa: F401
11+
from agentex.lib.core.services.adk.agents import AgentsService
12+
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
13+
from agentex.lib.core.tracing.tracer import AsyncTracer
614
from agentex.types.agent import Agent
715
from agentex.lib.utils.logging import make_logger
816
from agentex.lib.utils.temporal import in_temporal_workflow
9-
from agentex.lib.core.tracing.tracer import AsyncTracer
10-
from agentex.lib.core.services.adk.agents import AgentsService
11-
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
12-
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
13-
from agentex.lib.core.temporal.activities.adk.agents_activities import GetAgentParams, AgentsActivityName
1417

1518
logger = make_logger(__name__)
1619

src/agentex/lib/adk/_modules/events.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
13
from datetime import timedelta
24

35
from temporalio.common import RetryPolicy
46

5-
from agentex.types.event import Event
6-
from agentex.lib.utils.logging import make_logger
7-
from agentex.lib.utils.temporal import in_temporal_workflow
8-
from agentex.lib.core.tracing.tracer import AsyncTracer
9-
from agentex.lib.core.services.adk.events import EventsService
7+
from agentex import AsyncAgentex # noqa: F401
108
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
9+
from agentex.lib.core.services.adk.events import EventsService
1110
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
1211
from agentex.lib.core.temporal.activities.adk.events_activities import (
12+
EventsActivityName,
1313
GetEventParams,
1414
ListEventsParams,
15-
EventsActivityName,
1615
)
16+
from agentex.lib.core.tracing.tracer import AsyncTracer
17+
from agentex.types.event import Event
18+
from agentex.lib.utils.logging import make_logger
19+
from agentex.lib.utils.temporal import in_temporal_workflow
1720

1821
logger = make_logger(__name__)
1922

src/agentex/lib/adk/_modules/messages.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
13
from datetime import timedelta
24

35
from temporalio.common import RetryPolicy
46

5-
from agentex.lib.utils.logging import make_logger
6-
from agentex.lib.utils.temporal import in_temporal_workflow
7-
from agentex.types.task_message import TaskMessage, TaskMessageContent
8-
from agentex.lib.core.tracing.tracer import AsyncTracer
7+
from agentex import AsyncAgentex # noqa: F401
98
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
9+
from agentex.lib.core.adapters.streams.adapter_redis import RedisStreamRepository
1010
from agentex.lib.core.services.adk.messages import MessagesService
1111
from agentex.lib.core.services.adk.streaming import StreamingService
12-
from agentex.lib.core.adapters.streams.adapter_redis import RedisStreamRepository
1312
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
1413
from agentex.lib.core.temporal.activities.adk.messages_activities import (
15-
ListMessagesParams,
1614
CreateMessageParams,
17-
UpdateMessageParams,
18-
MessagesActivityName,
1915
CreateMessagesBatchParams,
16+
ListMessagesParams,
17+
MessagesActivityName,
18+
UpdateMessageParams,
2019
UpdateMessagesBatchParams,
2120
)
21+
from agentex.lib.core.tracing.tracer import AsyncTracer
22+
from agentex.types.task_message import TaskMessage, TaskMessageContent
23+
from agentex.lib.utils.logging import make_logger
24+
from agentex.lib.utils.temporal import in_temporal_workflow
2225

2326
logger = make_logger(__name__)
2427

src/agentex/lib/adk/_modules/state.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1-
from typing import Any
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
23
from datetime import timedelta
4+
from typing import Any
35

46
from pydantic import BaseModel
57
from temporalio.common import RetryPolicy
68

7-
from agentex.types.state import State
8-
from agentex.lib.utils.logging import make_logger
9-
from agentex.lib.utils.temporal import in_temporal_workflow
10-
from agentex.lib.core.tracing.tracer import AsyncTracer
11-
from agentex.lib.core.services.adk.state import StateService
9+
from agentex import AsyncAgentex # noqa: F401
1210
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
11+
from agentex.lib.core.services.adk.state import StateService
1312
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
1413
from agentex.lib.core.temporal.activities.adk.state_activities import (
15-
GetStateParams,
1614
CreateStateParams,
1715
DeleteStateParams,
16+
GetStateParams,
1817
StateActivityName,
1918
UpdateStateParams,
2019
)
20+
from agentex.lib.core.tracing.tracer import AsyncTracer
21+
from agentex.types.state import State
22+
from agentex.lib.utils.logging import make_logger
23+
from agentex.lib.utils.temporal import in_temporal_workflow
2124

2225
logger = make_logger(__name__)
2326

src/agentex/lib/adk/_modules/streaming.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
13
from temporalio.common import RetryPolicy
24

3-
from agentex.lib.utils.logging import make_logger
4-
from agentex.lib.utils.temporal import in_temporal_workflow
5-
from agentex.types.task_message_content import TaskMessageContent
5+
from agentex import AsyncAgentex # noqa: F401
66
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
7+
from agentex.lib.core.adapters.streams.adapter_redis import RedisStreamRepository
78
from agentex.lib.core.services.adk.streaming import (
89
StreamingService,
910
StreamingTaskMessageContext,
1011
)
11-
from agentex.lib.core.adapters.streams.adapter_redis import RedisStreamRepository
12+
from agentex.types.task_message_content import TaskMessageContent
13+
from agentex.lib.utils.logging import make_logger
14+
from agentex.lib.utils.temporal import in_temporal_workflow
1215

1316
logger = make_logger(__name__)
1417

src/agentex/lib/adk/_modules/tasks.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
13
from datetime import timedelta
24

35
from temporalio.common import RetryPolicy
46

5-
from agentex.types.task import Task
6-
from agentex.lib.utils.logging import make_logger
7-
from agentex.lib.utils.temporal import in_temporal_workflow
8-
from agentex.lib.core.tracing.tracer import AsyncTracer
9-
from agentex.lib.core.services.adk.tasks import TasksService
7+
from agentex import AsyncAgentex # noqa: F401
108
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
9+
from agentex.lib.core.services.adk.tasks import TasksService
1110
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
1211
from agentex.lib.core.temporal.activities.adk.tasks_activities import (
13-
GetTaskParams,
1412
DeleteTaskParams,
13+
GetTaskParams,
1514
TasksActivityName,
1615
)
16+
from agentex.lib.core.tracing.tracer import AsyncTracer
17+
from agentex.types.task import Task
18+
from agentex.lib.utils.logging import make_logger
19+
from agentex.lib.utils.temporal import in_temporal_workflow
1720

1821
logger = make_logger(__name__)
1922

src/agentex/lib/adk/_modules/tracing.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
from typing import Any
2-
from datetime import timedelta
3-
from contextlib import asynccontextmanager
1+
# ruff: noqa: I001
2+
# Import order matters - AsyncTracer must come after client import to avoid circular imports
43
from collections.abc import AsyncGenerator
4+
from contextlib import asynccontextmanager
5+
from datetime import timedelta
6+
from typing import Any
57

68
from temporalio.common import RetryPolicy
79

8-
from agentex.types.span import Span
9-
from agentex.lib.utils.logging import make_logger
10-
from agentex.lib.utils.temporal import in_temporal_workflow
11-
from agentex.lib.utils.model_utils import BaseModel
12-
from agentex.lib.core.tracing.tracer import AsyncTracer
10+
from agentex import AsyncAgentex # noqa: F401
1311
from agentex.lib.adk.utils._modules.client import create_async_agentex_client
1412
from agentex.lib.core.services.adk.tracing import TracingService
1513
from agentex.lib.core.temporal.activities.activity_helpers import ActivityHelpers
@@ -18,6 +16,11 @@
1816
StartSpanParams,
1917
TracingActivityName,
2018
)
19+
from agentex.lib.core.tracing.tracer import AsyncTracer
20+
from agentex.types.span import Span
21+
from agentex.lib.utils.logging import make_logger
22+
from agentex.lib.utils.model_utils import BaseModel
23+
from agentex.lib.utils.temporal import in_temporal_workflow
2124

2225
logger = make_logger(__name__)
2326

0 commit comments

Comments
 (0)