Skip to content

Commit 0d0a573

Browse files
committed
More linting fixes
1 parent f6696ce commit 0d0a573

4 files changed

Lines changed: 23 additions & 9 deletions

File tree

examples/demos/procurement_agent/project/agents/procurement_agent.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ async def wait_for_human(recommended_action: str) -> str:
6161
print(f"[WORKFLOW] Processing human message from queue")
6262
return human_input
6363

64+
# If queue became empty after wait_condition succeeded, this shouldn't normally happen
65+
workflow.logger.warning("Queue empty after wait condition succeeded")
66+
return "No human response available"
67+
6468
except TimeoutError:
6569
# Human didn't respond within 24 hours
6670
workflow.logger.warning("Human escalation timed out after 24 hours")

examples/demos/procurement_agent/project/data/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from typing import Optional
99
from pathlib import Path
1010

11-
import aiosqlite
11+
import aiosqlite # type: ignore[import-untyped]
1212

1313
from agentex.lib.utils.logging import make_logger
1414

examples/demos/procurement_agent/project/utils/learning_extraction.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def get_new_wait_for_human_context(
6262
# Reverse back to chronological order
6363
new_context.reverse()
6464
logger.info(f"Extracted {len(new_context)} messages of new context")
65+
assert new_wait_for_human_call_id is not None, "call_id should be set when found_new_wait_for_human is True"
6566
return (new_context, new_wait_for_human_call_id)
6667
else:
6768
logger.info("No new wait_for_human calls found")

examples/demos/procurement_agent/project/workflow.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import json
22
import asyncio
3-
from typing import Any, Dict, List
3+
from typing import Any, Dict, List, override
44
from datetime import timedelta
55

66
from agents import Runner
@@ -82,6 +82,7 @@ def __init__(self):
8282
)
8383

8484
@workflow.signal(name=SignalName.RECEIVE_EVENT)
85+
@override
8586
async def on_task_event_send(self, params: SendEventParams) -> None:
8687

8788
if self._state is None:
@@ -95,22 +96,30 @@ async def on_task_event_send(self, params: SendEventParams) -> None:
9596
self._trace_id = params.task.id
9697
self._parent_span_id = params.task.id
9798

99+
if params.event.content is None:
100+
workflow.logger.warning("Received event with no content")
101+
return
102+
98103
await adk.messages.create(task_id=params.task.id, content=params.event.content)
99104

100105
if self._state.turn_number > 1:
101-
# put human message in human queue
102-
await self.human_queue.put(params.event.content.content)
103-
return await adk.messages.create(task_id=params.task.id, content=TextContent(
106+
# put human message in human queue
107+
# Extract text content from the event
108+
if hasattr(params.event.content, 'content'):
109+
await self.human_queue.put(params.event.content.content)
110+
111+
await adk.messages.create(task_id=params.task.id, content=TextContent(
104112
author="agent",
105113
content="",
106114
))
107115
else:
108-
return await adk.messages.create(task_id=params.task.id, content=TextContent(
116+
await adk.messages.create(task_id=params.task.id, content=TextContent(
109117
author="agent",
110118
content="",
111119
))
112120

113121
@workflow.run
122+
@override
114123
async def on_task_create(self, params: CreateTaskParams) -> str:
115124
logger.info(f"Received task create params: {params}")
116125

@@ -223,10 +232,10 @@ async def on_task_create(self, params: CreateTaskParams) -> str:
223232
hooks = TemporalStreamingHooks(task_id=params.task.id)
224233

225234
# Execute agent with graceful degradation pattern (from temporal-community demos)
226-
result = await Runner.run(procurement_agent, self._state.input_list, hooks=hooks)
235+
result = await Runner.run(procurement_agent, self._state.input_list, hooks=hooks) # type: ignore[arg-type]
227236

228237
# Update state with result
229-
self._state.input_list = result.to_input_list()
238+
self._state.input_list = result.to_input_list() # type: ignore[assignment]
230239
logger.info(f"Successfully processed event at turn {self._state.turn_number}")
231240

232241
# Extract learnings from NEW wait_for_human calls only (using going backwards approach)
@@ -242,7 +251,7 @@ async def on_task_create(self, params: CreateTaskParams) -> str:
242251

243252
# Create extraction agent and run with only the NEW context
244253
extract_agent = new_extract_learnings_agent()
245-
extraction_result = await Runner.run(extract_agent, new_context, hooks=hooks)
254+
extraction_result = await Runner.run(extract_agent, new_context, hooks=hooks) # type: ignore[arg-type]
246255

247256
logger.info(f"About to extract learning: {extraction_result.final_output}")
248257
# Append the learning and track the call_id

0 commit comments

Comments
 (0)