Skip to content

bug: image attachments cause ValidationException from kiro-cli ACP backend #233

@JARVIS-coding-Agent

Description

@JARVIS-coding-Agent

Description

Sending an image attachment via Discord results in a ValidationException error from the kiro-cli ACP backend, even though openab 0.7.0 successfully downloads, resizes, compresses, and base64-encodes the image.

Environment

  • openab chart: 0.7.0
  • openab image: ghcr.io/openabdev/openab:94253a5
  • kiro-cli: 1.29.5

Reproduction Steps

  1. Deploy openab 0.7.0 with kiro agent (kiro-cli acp --trust-all-tools)
  2. Enable debug logging: RUST_LOG=debug
  3. Send a message with an image attachment (tested with image/webp) in the configured Discord channel
  4. Bot responds with: ⚠️ Internal Error (code: -32603) Internal error

Error Log

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error","data":"Encountered an error in the response stream: request_id: 7994620f-3062-4099-984c-9922a151076d, error: An unknown error occurred: ValidationException"},"id":3}

Analysis

openab correctly:

  1. Downloads the image from Discord CDN
  2. Resizes and compresses it (via the image crate)
  3. Base64-encodes and sends it as an ACP ContentBlock::Image { media_type, data } in the session/prompt request

The error originates from kiro-cli forwarding the prompt to the LLM API (Bedrock). The ValidationException suggests kiro-cli 1.29.5 either:

  • Does not support image type content blocks in ACP prompts
  • Or constructs the LLM API request incorrectly when image blocks are present

Expected Behavior

The bot should process the image and respond with a description or acknowledgment of the image content.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions