GeezerVison is showing github.com — feat(harness): thread created_at through UnifiedEmitter.auto_send_tur… · scaleapi/scale-agentex-python@b4b8b33
File tree
Expand file treeCollapse file tree
Open diff view settings
src/agentex/lib/core/harness
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: src/agentex/lib/core/harness/emitter.py +9-2Lines changed: 9 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
|
3 | 3 | from __future__ import annotations |
4 | 4 |
|
5 | 5 | from typing import AsyncGenerator |
| 6 | +from datetime import datetime |
6 | 7 |
|
7 | 8 | from agentex.lib.core.harness.types import TurnResult, HarnessTurn, StreamTaskMessage |
8 | 9 | from agentex.lib.core.harness.tracer import SpanTracer |
@@ -56,12 +57,18 @@ async def yield_turn(self, turn: HarnessTurn) -> AsyncGenerator[StreamTaskMessag |
56 | 57 | async for event in yield_events(turn.events, tracer=self.tracer): |
57 | 58 | yield event |
58 | 59 |
|
59 | | - async def auto_send_turn(self, turn: HarnessTurn) -> TurnResult: |
60 | | - """Async/temporal delivery: push to the task stream, return TurnResult.""" |
| 60 | + async def auto_send_turn(self, turn: HarnessTurn, created_at: datetime | None = None) -> TurnResult: |
| 61 | + """Async/temporal delivery: push to the task stream, return TurnResult. |
| 62 | +
|
| 63 | + Pass `created_at` (e.g. `workflow.now()` under Temporal) to stamp the |
| 64 | + turn's messages with a deterministic timestamp; it is forwarded to the |
| 65 | + streaming contexts. Default None preserves server-side timestamps. |
| 66 | + """ |
61 | 67 | return await auto_send( |
62 | 68 | turn.events, |
63 | 69 | task_id=self.task_id, |
64 | 70 | tracer=self.tracer, |
65 | 71 | streaming=self._streaming, |
66 | 72 | usage=turn.usage(), |
| 73 | + created_at=created_at, |
67 | 74 | ) |