Skip to content

Commit 03f6566

Browse files
committed
adding usage to default context fields
1 parent e7b2f82 commit 03f6566

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

pydantic_ai_slim/pydantic_ai/durable_exec/temporal/_run_context.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def serialize_run_context(cls, ctx: RunContext[Any]) -> dict[str, Any]:
5151
'max_retries': ctx.max_retries,
5252
'run_step': ctx.run_step,
5353
'partial_output': ctx.partial_output,
54+
'usage': ctx.usage,
5455
}
5556

5657
@classmethod

tests/test_temporal.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2193,6 +2193,27 @@ def test_temporal_run_context_preserves_run_id():
21932193
assert reconstructed.run_id == 'run-123'
21942194

21952195

2196+
def test_temporal_run_context_serializes_usage():
2197+
ctx = RunContext(
2198+
deps=None,
2199+
model=TestModel(),
2200+
usage=RunUsage(
2201+
requests=2,
2202+
tool_calls=1,
2203+
input_tokens=123,
2204+
output_tokens=456,
2205+
details={'foo': 1},
2206+
),
2207+
run_id='run-123',
2208+
)
2209+
2210+
serialized = TemporalRunContext.serialize_run_context(ctx)
2211+
assert serialized['usage'] == ctx.usage
2212+
2213+
reconstructed = TemporalRunContext.deserialize_run_context(serialized, deps=None)
2214+
assert reconstructed.usage == ctx.usage
2215+
2216+
21962217
fastmcp_agent = Agent(
21972218
model,
21982219
name='fastmcp_agent',

0 commit comments

Comments
 (0)