fix(host): корректный возврат снимка через ImageContentBlock.FromBytes
- Data хранит base64-байты; сырые PNG-байты надо отдавать через FromBytes, иначе изображение портится на проводе (0x89 -> U+FFFD) - проверено сквозным прогоном по MCP-протоколу: connect -> document_create -> sketch_create -> add_circle -> close -> extrude_boss -> model_snapshot, получен валидный PNG (~19 КБ) цилиндра - docs/OPEN_QUESTIONS.md: конкурентность вызовов MCP и нюанс FromBytes Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -17,10 +17,7 @@ public sealed class VisionTools(KompasSession session, SnapshotService snapshot)
|
||||
{
|
||||
await session.ConnectAsync();
|
||||
var snap = await snapshot.CaptureActiveModelAsync(resolution: resolution);
|
||||
return new ImageContentBlock
|
||||
{
|
||||
Data = snap.Bytes,
|
||||
MimeType = snap.MimeType,
|
||||
};
|
||||
// FromBytes хранит сырые байты и сам кодирует их в base64 для поля Data.
|
||||
return ImageContentBlock.FromBytes(snap.Bytes, snap.MimeType);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user