The whole hunk
from line 505, old and new numbered
/
lines
from line 505
505505 {
506506 foreach (var block in message.Content)
507507 {
508 Console.Write(block.Text);
508 if (block.Value is BetaManagedAgentsTextBlock textBlock)
509 {
510 Console.Write(textBlock.Text);
511 }
509512 }
510513 }
511514 else if (streamEvent.Value is BetaManagedAgentsSessionStatusIdleEvent)
from line 780
777780 {
778781 foreach (var block in message.Content)
779782 {
780 Console.Write(block.Text);
783 if (block.Value is BetaManagedAgentsTextBlock textBlock)
784 {
785 Console.Write(textBlock.Text);
786 }
781787 }
782788 }
783789 else if (streamEvent.Value is BetaManagedAgentsSessionStatusIdleEvent)
from line 1286
12801286 const preview = accumulateManagedAgentsEvent(previews.get(event.event_id), event);
12811287 if (preview) {
12821288 previews.set(event.event_id, preview);
1283 const text = preview.content.map((block) => block.text).join("");
1289 const text = preview.content
1290 .map((block) => (block.type === "text" ? block.text : ""))
1291 .join("");
12841292 console.log(`event_delta preview: ${JSON.stringify(text)}`);
12851293 }
12861294 } else if (event.type === "agent.message") {
from line 1295
12871295 // 3. The buffered event is the record: it replaces and closes the preview
12881296 const message = accumulateManagedAgentsEvent(previews.get(event.id), event);
12891297 previews.delete(event.id);
1290 const text = message.content.map((block) => block.text).join("");
1298 const text = message.content
1299 .map((block) => (block.type === "text" ? block.text : ""))
1300 .join("");
12911301 console.log(`agent.message ${event.id} ${JSON.stringify(text)}`);
12921302 } else if (event.type === "span.model_request_end") {
12931303 // 4. No more deltas are coming. Close any preview that was never reconciled.
from line 1369
13591369 {
13601370 // Deltas are best-effort: discard the preview and use the buffered event
13611371 previews.Remove(message.ID);
1362 Console.WriteLine($"agent.message {message.ID} {string.Concat(message.Content.Select(block => block.Text))}");
1372 var text = string.Concat(message.Content.Select(block =>
1373 block.TryPickBetaManagedAgentsTextBlock(out var textBlock) ? textBlock.Text : ""));
1374 Console.WriteLine($"agent.message {message.ID} {text}");
13631375 }
13641376 else if (streamEvent.TryPickSpanModelRequestEndEvent(out _))
13651377 {
from line 1700
16881700 } else if (event.type === "agent.message") {
16891701 // The buffered event is the authoritative record; render its content.
16901702 process.stdout.write("\n");
1691 const text = event.content.map((block) => block.text).join("");
1703 const text = event.content
1704 .map((block) => (block.type === "text" ? block.text : ""))
1705 .join("");
16921706 console.log(text);
16931707 } else if (event.type === "session.thread_status_idle") {
16941708 break;
from line 1734
17201734 {
17211735 // The buffered event is the authoritative record; render its content.
17221736 Console.WriteLine();
1723 Console.WriteLine(string.Concat(message.Content.Select(block => block.Text)));
1737 var text = string.Concat(message.Content.Select(block =>
1738 block.TryPickBetaManagedAgentsTextBlock(out var textBlock) ? textBlock.Text : ""));
1739 Console.WriteLine(text);
17241740 }
17251741 else if (streamEvent.TryPickSessionThreadStatusIdleEvent(out _))
17261742 {