@@ -246,12 +246,12 @@ def test_format_request(model, messages, tool_specs, system_prompt):
246
246
@pytest .mark .parametrize (
247
247
("event" , "exp_chunk" ),
248
248
[
249
- # Case 1: Message start
249
+ # Message start
250
250
(
251
251
{"chunk_type" : "message_start" },
252
252
{"messageStart" : {"role" : "assistant" }},
253
253
),
254
- # Case 2: Content Start - Tool Use
254
+ # Content Start - Tool Use
255
255
(
256
256
{
257
257
"chunk_type" : "content_start" ,
@@ -260,12 +260,12 @@ def test_format_request(model, messages, tool_specs, system_prompt):
260
260
},
261
261
{"contentBlockStart" : {"start" : {"toolUse" : {"name" : "calculator" , "toolUseId" : "c1" }}}},
262
262
),
263
- # Case 3: Content Start - Text
263
+ # Content Start - Text
264
264
(
265
265
{"chunk_type" : "content_start" , "data_type" : "text" },
266
266
{"contentBlockStart" : {"start" : {}}},
267
267
),
268
- # Case 4: Content Delta - Tool Use
268
+ # Content Delta - Tool Use
269
269
(
270
270
{
271
271
"chunk_type" : "content_delta" ,
@@ -274,32 +274,41 @@ def test_format_request(model, messages, tool_specs, system_prompt):
274
274
},
275
275
{"contentBlockDelta" : {"delta" : {"toolUse" : {"input" : '{"expression": "2+2"}' }}}},
276
276
),
277
- # Case 5: Content Delta - Text
277
+ # Content Delta - Tool Use - None
278
+ (
279
+ {
280
+ "chunk_type" : "content_delta" ,
281
+ "data_type" : "tool" ,
282
+ "data" : unittest .mock .Mock (function = unittest .mock .Mock (arguments = None )),
283
+ },
284
+ {"contentBlockDelta" : {"delta" : {"toolUse" : {"input" : "" }}}},
285
+ ),
286
+ # Content Delta - Text
278
287
(
279
288
{"chunk_type" : "content_delta" , "data_type" : "text" , "data" : "hello" },
280
289
{"contentBlockDelta" : {"delta" : {"text" : "hello" }}},
281
290
),
282
- # Case 6: Content Stop
291
+ # Content Stop
283
292
(
284
293
{"chunk_type" : "content_stop" },
285
294
{"contentBlockStop" : {}},
286
295
),
287
- # Case 7: Message Stop - Tool Use
296
+ # Message Stop - Tool Use
288
297
(
289
298
{"chunk_type" : "message_stop" , "data" : "tool_calls" },
290
299
{"messageStop" : {"stopReason" : "tool_use" }},
291
300
),
292
- # Case 8: Message Stop - Max Tokens
301
+ # Message Stop - Max Tokens
293
302
(
294
303
{"chunk_type" : "message_stop" , "data" : "length" },
295
304
{"messageStop" : {"stopReason" : "max_tokens" }},
296
305
),
297
- # Case 9: Message Stop - End Turn
306
+ # Message Stop - End Turn
298
307
(
299
308
{"chunk_type" : "message_stop" , "data" : "stop" },
300
309
{"messageStop" : {"stopReason" : "end_turn" }},
301
310
),
302
- # Case 10: Metadata
311
+ # Metadata
303
312
(
304
313
{
305
314
"chunk_type" : "metadata" ,
0 commit comments