[
https://issues.apache.org/jira/browse/CAMEL-26222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino reassigned CAMEL-26222:
----------------------------------------
Assignee: Andrea Cosentino
> camel-ibm-watsonx-ai - chat uses a List body as List<ChatMessage> unchecked,
> and chat, embedding and rerank reject bytes and streams
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26222
> URL: https://issues.apache.org/jira/browse/CAMEL-26222
> Project: Camel
> Issue Type: Bug
> Components: camel-ai
> Reporter: Claus Ibsen
> Assignee: Andrea Cosentino
> Priority: Minor
> Fix For: 4.24.0
>
>
> Found while adding the catalog body types of ibm-watsonx-ai (CAMEL-24961, PR
> #28402).
> h4. 1. chat, chatStreaming and deploymentChat use a List body as
> List<ChatMessage> unchecked
> {{AbstractWatsonxAiHandler.getMessages}} (main 2a465aa4814c, line 125)
> returns any {{List}} body as {{List<ChatMessage>}}; a {{List<String>}} fails
> later with a raw {{ClassCastException}}. Checked on 4.24.0-SNAPSHOT with a
> JDK HttpServer stub.
> Proposed: check the elements, and convert Strings to user messages or fail
> with a clear message.
> h4. 2. chat, embedding and rerank accept only a String body, not bytes or
> streams
> {{getMessages}} (line 121) and {{getInputs}} (line 89) check {{instanceof
> String}} without conversion, so a {{byte[]}} or {{InputStream}} body (for
> example from platform-http) is not used and the call fails, while
> textGeneration ({{getInput}}, line 63) converts with
> {{getBody(String.class)}} and accepts them. Checked on 4.24.0-SNAPSHOT with a
> JDK HttpServer stub.
> Proposed: convert a non-List body with {{getBody(String.class)}} as
> textGeneration does.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)