Skip to content

feat(middleware): communicate multimodal limitations to users when runtime can't handle media#466

Merged
alexey-pelykh merged 1 commit intomainfrom
feat/media-limitation-notices
Mar 8, 2026
Merged

feat(middleware): communicate multimodal limitations to users when runtime can't handle media#466
alexey-pelykh merged 1 commit intomainfrom
feat/media-limitation-notices

Conversation

@alexey-pelykh
Copy link
Copy Markdown

Summary

  • Declare mediaCapabilities on all four CLI runtimes — Claude (image/), Gemini (image/, audio/, video/), Codex (none), OpenCode (none)
  • Add partitionMedia() utility that splits resolved media into supported vs unsupported based on runtime capabilities
  • Wire capability check into ChannelBridge.handle() so only supported media reaches the runtime; unsupported media generates a user-facing warning prepended to the reply payloads
  • Backwards-compatible: runtimes without mediaCapabilities pass all media through unchanged

Closes #400

Test plan

  • 12 unit tests for partitionMedia and formatUnsupportedMediaWarning (media-capability.test.ts)
  • 5 integration tests for bridge-level unsupported media warning behavior (channel-bridge.test.ts)
  • All 866 existing tests pass
  • Type-check (pnpm tsgo) clean
  • Lint + format (pnpm check) clean

🤖 Generated with Claude Code

…ntime can't handle media (#400)

Add media capability declarations to all four CLI runtimes and wire
capability checking into ChannelBridge so users receive a clear warning
when they send media the runtime cannot process natively.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@alexey-pelykh alexey-pelykh enabled auto-merge (squash) March 8, 2026 14:03
@alexey-pelykh alexey-pelykh merged commit 3b6df60 into main Mar 8, 2026
5 checks passed
@alexey-pelykh alexey-pelykh deleted the feat/media-limitation-notices branch March 8, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(middleware): communicate multimodal limitations to users when runtime can't handle media

1 participant