davsclaus opened a new pull request, #29175: URL: https://github.com/apache/camel/pull/29175
https://issues.apache.org/jira/browse/CAMEL-26591 Follow-ups from the r26 run of the local-model benchmark and the reviews of CAMEL-26568 (#29147) and CAMEL-26572 (#29152). Tool names, arguments and their descriptions are unchanged. **An `&` in a value under `parameters:`** - The YAML DSL adds the parameters to the uri as they are (`YamlSupport.createEndpointUri` does not encode them). So `filterFile: "${file:name} contains 'R&D'"` is read as `filterFile=${file:name} contains 'R` plus another option `D'`: checked on a running route, it fails to start ("expected symbol singleQuote but was eol"), and a lenient component takes a cut value (vertx-http `basicAuthUsername: "u&v"` gave `u`). `RAW(...)` keeps the value whole. - The check refused it, but with "Unknown option 'D''". It now gives one message: "filterFile has an & in its value. The YAML DSL adds the parameters to the uri as they are, and an & starts a new option, so Camel reads filterFile=${file:name} contains 'R and takes the rest as another option. Write the value in RAW(...), which Camel keeps as it is: filterFile: "RAW(${file:name} contains 'R&D')"". - A secret option, which the YAML DSL puts in RAW itself, is no longer refused (`password: "s3cr&t"` got "Unknown option 't'" before). **The headers a cut answer leaves out** - `includeHeaders=true` on aws2-s3 is cut by the size limit to 3 of 54 headers, and `CamelAwsS3Key` was not among them. The answer now names the other headers in `moreHeaders` (as `moreOptions` does for options), and the note says that `optionsFilter=<header name>` returns one in full. **`camel_catalog_find` with several words** - When a term of two or more words matches nothing as a whole, each word is matched as a single-word find would match it, and an entry that has all the words is found. `header(s)`, `component(s)`, `eip(s)`, `language(s)`, `dataformat(s)` and `kamelet(s)` name the kind. - "aws2-s3 header KEY" now finds `CamelAwsS3Key` (`AWS2S3Constants#KEY`); "jackson json" finds the jackson data format. **The closest options of an EIP** - A filter with no match on an EIP now gets the closest options of that EIP, as a component does: restConfiguration with `optionsFilter=componentName` gives `component`, `apiComponent`, `producerComponent`, `componentProperty`, before the line that says where an option of that name is. **Checks** - All 1,777 distinct catalog lookups of the benchmark series (r21 to r26) were replayed on main and on this change: 1,727 answers are the same, and the 50 that changed all matched nothing (46) or were cut (4). - The validator gives the same output on all 20,078 final step files of the series. - New tests in `SourceValidatorEndpointTest` and `CatalogLookupsTest`, each failing without its fix. camel-jbang-core: 2,589 + 300 tests pass (3 skipped, as before). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016Y4dDi5iQNgtHrDdz2NpwF -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
