carry attached images through to the model
The composer already uploaded an image, split its data URL and put the bytes on the wire as `images`. Nothing on the server read them. The `chat` ClientMessage had no such field, and the prompt reached the sidecar as a bare string, so all the model ever saw was the client-generated `[Attached image: …]` placeholder — a label describing a picture it was never shown. The transport was never the obstacle: `query()` consumes an async iterable of user messages whose `content` is an Anthropic `MessageParam`, and only `pushTurn` hardcoding a string kept it to text. So `images` is threaded through the four hops that dropped it and turned into native image content blocks at the end, renaming `mediaType` to the API's `media_type` at that last step. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import type { MessageCost, TurnMessage } from '../api/chat/types';
|
||||
import type { MessageCost, PromptImage, TurnMessage } from '../api/chat/types';
|
||||
|
||||
// ── Envelope ──
|
||||
|
||||
@@ -121,6 +121,7 @@ export type ClaudeSpawnStreamingParams = {
|
||||
email: string;
|
||||
username: string;
|
||||
prompt: string;
|
||||
images?: PromptImage[]; // sent as native image content blocks alongside the prompt text
|
||||
sessionKey: string;
|
||||
cwd?: string;
|
||||
model?: string;
|
||||
|
||||
Reference in New Issue
Block a user