@@ -113,7 +113,7 @@ def return_model(messages: list[ModelMessage], info: AgentInfo) -> ModelResponse
113
113
),
114
114
ModelResponse (
115
115
parts = [ToolCallPart (tool_name = 'final_result' , args = '{"a": 42, "b": "foo"}' , tool_call_id = IsStr ())],
116
- usage = Usage (requests = 1 , request_tokens = 87 , response_tokens = 14 , total_tokens = 101 ),
116
+ usage = Usage (requests = 1 , request_tokens = 89 , response_tokens = 14 , total_tokens = 103 ),
117
117
model_name = 'function:return_model:' ,
118
118
timestamp = IsNow (tz = timezone .utc ),
119
119
),
@@ -172,6 +172,7 @@ def check_b(cls, v: str) -> str:
172
172
retry_prompt = user_retry .parts [0 ]
173
173
assert isinstance (retry_prompt , RetryPromptPart )
174
174
assert retry_prompt .model_response () == snapshot ("""\
175
+ Validator response:
175
176
1 validation errors: [
176
177
{
177
178
"type": "value_error",
@@ -229,7 +230,7 @@ def validate_output(ctx: RunContext[None], o: Foo) -> Foo:
229
230
),
230
231
ModelResponse (
231
232
parts = [ToolCallPart (tool_name = 'final_result' , args = '{"a": 42, "b": "foo"}' , tool_call_id = IsStr ())],
232
- usage = Usage (requests = 1 , request_tokens = 63 , response_tokens = 14 , total_tokens = 77 ),
233
+ usage = Usage (requests = 1 , request_tokens = 64 , response_tokens = 14 , total_tokens = 78 ),
233
234
model_name = 'function:return_model:' ,
234
235
timestamp = IsNow (tz = timezone .utc ),
235
236
),
@@ -288,7 +289,7 @@ def return_tuple(_: list[ModelMessage], info: AgentInfo) -> ModelResponse:
288
289
parts = [
289
290
ToolCallPart (tool_name = 'final_result' , args = '{"response": ["foo", "bar"]}' , tool_call_id = IsStr ())
290
291
],
291
- usage = Usage (requests = 1 , request_tokens = 72 , response_tokens = 8 , total_tokens = 80 ),
292
+ usage = Usage (requests = 1 , request_tokens = 74 , response_tokens = 8 , total_tokens = 82 ),
292
293
model_name = 'function:return_tuple:' ,
293
294
timestamp = IsNow (tz = timezone .utc ),
294
295
),
@@ -828,7 +829,7 @@ def call_tool(messages: list[ModelMessage], info: AgentInfo) -> ModelResponse:
828
829
tool_call_id = IsStr (),
829
830
)
830
831
],
831
- usage = Usage (requests = 1 , request_tokens = 68 , response_tokens = 13 , total_tokens = 81 ),
832
+ usage = Usage (requests = 1 , request_tokens = 70 , response_tokens = 13 , total_tokens = 83 ),
832
833
model_name = 'function:call_tool:' ,
833
834
timestamp = IsDatetime (),
834
835
),
@@ -1487,7 +1488,7 @@ def empty(_: list[ModelMessage], _info: AgentInfo) -> ModelResponse:
1487
1488
),
1488
1489
ModelResponse (
1489
1490
parts = [ToolCallPart (tool_name = 'foobar' , args = '{}' , tool_call_id = IsStr ())],
1490
- usage = Usage (requests = 1 , request_tokens = 65 , response_tokens = 4 , total_tokens = 69 ),
1491
+ usage = Usage (requests = 1 , request_tokens = 67 , response_tokens = 4 , total_tokens = 71 ),
1491
1492
model_name = 'function:empty:' ,
1492
1493
timestamp = IsNow (tz = timezone .utc ),
1493
1494
),
@@ -1527,7 +1528,7 @@ def empty(m: list[ModelMessage], _info: AgentInfo) -> ModelResponse:
1527
1528
),
1528
1529
ModelResponse (
1529
1530
parts = [TextPart (content = 'success' )],
1530
- usage = Usage (requests = 1 , request_tokens = 65 , response_tokens = 3 , total_tokens = 68 ),
1531
+ usage = Usage (requests = 1 , request_tokens = 67 , response_tokens = 3 , total_tokens = 70 ),
1531
1532
model_name = 'function:empty:' ,
1532
1533
timestamp = IsNow (tz = timezone .utc ),
1533
1534
),
@@ -2651,6 +2652,12 @@ def foo_tool(foo: Foo) -> int:
2651
2652
'tool_call_id' : IsStr (),
2652
2653
'timestamp' : IsStr (),
2653
2654
'part_kind' : 'retry-prompt' ,
2655
+ 'model_response_template' : """\
2656
+ Validator response:
2657
+ {description}
2658
+
2659
+ Fix the errors and try again.\
2660
+ """ ,
2654
2661
}
2655
2662
],
2656
2663
'instructions' : None ,
0 commit comments