Skip to content

feat(attachments): surface direct-image delivery without blocking attachment access #4079

Description

@me2seeks

Problem

When a selected model does not declare native image input, Maka currently accepts the image but later tells the model that the image was omitted and asks it to ask the user for a description or a vision-capable model. This conflates provider-native image delivery with all possible image access paths.

Proposed behavior

  • Keep image selection, staging, and sending non-blocking in Desktop and TUI.
  • Desktop shows a one-time informational notice after staging an image for a model without native image input: The current model does not receive images directly. The image has been provided as an attachment.
  • TUI keeps its user-facing image label (for example, [image 1]) but preserves the corresponding attachment path or session resource reference in the model-facing content.
  • For models without native image input, do not append an instruction to ask the user to describe the image or switch models. Instead, provide the attachment Read argument (path or maka://runtime/attachments/... ref) together with its name and MIME type.
  • Native image parts remain enabled only for models with explicit vision support.

Non-goals

  • Do not block image input or disable Send.
  • Do not infer OCR capability from vision: false or add OCR.
  • Do not add model-switch recommendations or automatic model changes.
  • Do not broaden this change to native PDF/document modalities or redesign attachment ingestion.

Before / after

Before After
User experience Image is accepted with no model-delivery explanation. A non-blocking notice explains that the image is attached but not directly delivered to the provider.
Non-vision model context It is told that images were omitted and to ask for a description or a vision model. It receives the image attachment identity and the exact Read path/ref when available.
Native-vision model context Image bytes are sent as a provider image part. Unchanged.

Validation

Cover native-vision delivery, non-vision attachment-reference delivery, Desktop notice behavior, and TUI [image N] to attachment-reference serialization. Include regression coverage that no fallback recommends switching models or asking for a text description.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions