Claus Ibsen created CAMEL-24881:
-----------------------------------

             Summary: camel-yaml-dsl-validator - say how a route-level error 
handler is written (errorHandler: {noErrorHandler: {}})
                 Key: CAMEL-24881
                 URL: https://issues.apache.org/jira/browse/CAMEL-24881
             Project: Camel
          Issue Type: Improvement
          Components: camel-yaml-dsl, camel-jbang
            Reporter: Claus Ibsen
             Fix For: 4.23.0


Found in the camel-jbang-mcp stepwise benchmark (fail-well/error-handling, the 
step "give the payment-provider route a noErrorHandler"): the local model 
wrote, in four of five runs, one of

{code}
- route:
    noErrorHandler: true
- route:
    errorHandlerType: none
- route:
    from:
      noErrorHandler: true
- route:
    errorHandler:
      noErrorHandler: true
- route:
    errorHandler:
      type: noErrorHandler
{code}

and the validator answered "property 'noErrorHandler' is not defined in the 
schema" (with "did you mean 'errorHandler'?" at best), "noErrorHandler: boolean 
found, object expected", or "errorHandler: property 'type' is not defined". 
Three refused writes per step, and the step failed 4 of 5 times; the working 
form is

{code}
- route:
    errorHandler:
      noErrorHandler: {}
{code}

Add hint rows: an unknown noErrorHandler / deadLetterChannel / 
defaultErrorHandler / errorHandlerType / errorHandlerRef under route: or from: 
says that a route-level error handler is written as errorHandler: with the kind 
as its key (errorHandler: {noErrorHandler: {}}, {deadLetterChannel: 
{deadLetterUri: ...}}, {defaultErrorHandler: {...}}); noErrorHandler with a 
boolean says it takes no options, write noErrorHandler: {}; an unknown 
type/errorHandlerType under errorHandler: says the kind is the key.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to