[
https://issues.apache.org/jira/browse/CAMEL-26568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-26568.
---------------------------------
Resolution: Fixed
> camel-jbang - AI tools and messages: a JMS reply that replaces the message,
> file as a language, ${file:noext}, parseText on bytes, and an unused
> placeholder
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26568
> URL: https://issues.apache.org/jira/browse/CAMEL-26568
> Project: Camel
> Issue Type: Improvement
> Components: camel-core, camel-groovy, camel-jbang, camel-yaml-dsl
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> Fixes from the r26 run of the local-model benchmark (qwen3.6, 7 rounds), for
> the messages the AI tools and Camel give.
> *A JMS reply that replaces the message (jms request-reply, step 2: 1 of 7
> runs passed)*
> After a to: on jms, sjms, sjms2, activemq, activemq6 or amqp sent InOut, the
> body is the reply, and the message that was sent is gone. The models logged
> the reply and lost the order. The write answer now has a note on that line:
> add variableReceive to the to: and read the reply as ${variable.<name>}.
> There is no note when the to: has variableReceive, or when a later step sets
> the body. Checked on the benchmark traces: the note is on the writes of all 6
> failed runs, and on none of the 2,425 final files of passed steps.
> *${file:noext} (sftp, step 3: 3 of 7)*
> "Unknown file language syntax: noext" listed four file functions and said
> that they do not read a file. It now says "did you mean ${file:name.noext}?"
> (also for name:noext, a different case or a typo), and keeps the advice about
> reading a file for a path. This is the Simple error in camel-core-languages,
> so every user gets it. The AI tools also check Simple in the file options of
> file, ftp, ftps, sftp and smb endpoints (fileName, move, moveFailed, ...) at
> write time: fileName: ${file:noext}.txt in a to: sftp was accepted before and
> failed only at reload.
> *file as a language (jms, step 3: 5 of 7 runs wrote expression: file:)*
> The refusal said only "property 'file' is not defined". It now says that file
> is not a language, and shows constant: with "resource:file:stock.json".
> *parseText on bytes (jms, step 3)*
> new JsonSlurper().parseText(body) on a byte[] body fails with a
> MissingMethodException. camel-groovy now adds a hint to that error: parse the
> bytes with new JsonSlurper().parse(body), or unmarshal them first.
> *An unused placeholder (nightly report, step 4)*
> The note from CAMEL-26482 was right in all 3 failed runs, but the models only
> repeated it. The answer of the write now starts with what to do: use the
> placeholder again, and set the value in application.properties.
> *Two smaller ones*
> * The "did you mean ${exchangeProperty.x}" advice (CAMEL-26483) pointed to a
> variable when a Groovy script set the exchange property. It now names the
> property.
> * The schema hint listed choice among the EIPs that have steps:. Choice now
> gets its own hint: steps go under a when: or under otherwise:.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)