This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git


The following commit(s) were added to refs/heads/main by this push:
     new f3c57cca2cc [create-pull-request] automated change (#2052)
f3c57cca2cc is described below

commit f3c57cca2cc07e0a10e3962cb42ae0addbcfb6fa
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Oct 23 10:28:47 2026 +0200

    [create-pull-request] automated change (#2052)
    
    Co-authored-by: oscerd <[email protected]>
---
 .../springboot/catalog/components/ai-tool.json     | 66 +++++++++---------
 .../camel/springboot/catalog/components/cron.json  |  3 +
 .../springboot/catalog/components/direct.json      |  5 ++
 .../camel/springboot/catalog/components/file.json  |  5 ++
 .../camel/springboot/catalog/components/http.json  |  4 ++
 .../camel/springboot/catalog/components/https.json |  4 ++
 .../springboot/catalog/components/kamelet.json     |  5 ++
 .../springboot/catalog/components/milo-browse.json |  4 +-
 .../springboot/catalog/components/milo-client.json |  4 +-
 .../catalog/components/rest-openapi.json           |  4 ++
 .../camel/springboot/catalog/components/seda.json  |  5 ++
 .../camel/springboot/catalog/components/sql.json   |  5 ++
 .../camel/springboot/catalog/components/timer.json |  3 +
 .../camel/springboot/catalog/components/xslt.json  |  4 ++
 .../springboot/catalog/dev-consoles.properties     |  1 +
 .../catalog/dev-consoles/milo-client.json          | 78 ++++++++++++++++++++++
 .../catalog/dev-consoles/route-dump.json           |  4 ++
 .../catalog/dev-consoles/route-structure.json      |  4 ++
 .../springboot/catalog/dev-consoles/route.json     |  8 +++
 .../src/main/docs/ai-tool.json                     |  7 ++
 .../springboot/AiToolComponentConfiguration.java   | 15 +++++
 .../camel-milo-starter/src/main/docs/milo.json     |  4 +-
 .../MiloBrowseComponentConfiguration.java          |  5 +-
 .../MiloClientComponentConfiguration.java          |  5 +-
 .../modules/ROOT/pages/starters/ai-tool.adoc       |  3 +-
 .../modules/ROOT/pages/starters/milo.adoc          |  4 +-
 26 files changed, 216 insertions(+), 43 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json
index 99333cbe039..e78a11034a4 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json
@@ -25,39 +25,45 @@
   },
   "componentProperties": {
     "argSchema": { "index": 0, "kind": "property", "displayName": "Arg 
Schema", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Raw JSON Schema for tool input parameters. 
Supports inl [...]
-    "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
-    "configuration": { "index": 2, "kind": "property", "displayName": 
"Configuration", "group": "consumer", "label": "", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
component configuration" },
-    "description": { "index": 3, "kind": "property", "displayName": 
"Description", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Human-readable 
description of what this tool does. Passed verbatim to the LLM; be  [...]
-    "destructiveHint": { "index": 4, "kind": "property", "displayName": 
"Destructive Hint", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool may perform destructive 
o [...]
-    "idempotentHint": { "index": 5, "kind": "property", "displayName": 
"Idempotent Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that repeating the tool call with the 
sam [...]
-    "openWorldHint": { "index": 6, "kind": "property", "displayName": "Open 
World Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool interacts with external 
syst [...]
-    "outputParameters": { "index": 7, "kind": "property", "displayName": 
"Output Parameters", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "outputParameter.", "multiValue": true, 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "des [...]
-    "outputSchema": { "index": 8, "kind": "property", "displayName": "Output 
Schema", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Raw JSON Schema describing the tool's 
structured  [...]
-    "parameters": { "index": 9, "kind": "property", "displayName": 
"Parameters", "group": "consumer", "label": "consumer", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "parameter.", "multiValue": true, "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Tool in [...]
-    "readOnlyHint": { "index": 10, "kind": "property", "displayName": "Read 
Only Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool only reads data and 
does not  [...]
-    "returnDirect": { "index": 11, "kind": "property", "displayName": "Return 
Direct", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "When true, AI producers that support agentic 
tool loo [...]
-    "tags": { "index": 12, "kind": "property", "displayName": "Tags", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of tags used to group 
tools. Producers filter the registry by these tags t [...]
-    "title": { "index": 13, "kind": "property", "displayName": "Title", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Optional display title for MCP tool listings. 
Advisory hint for MCP clients only." },
-    "autowiredEnabled": { "index": 14, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
-    "authorizationPolicy": { "index": 15, "kind": "property", "displayName": 
"Authorization Policy", "group": "security", "label": "consumer,security", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Reference to an 
org.apache.came [...]
+    "argumentsAsBody": { "index": 1, "kind": "property", "displayName": 
"Arguments As Body", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Whether to populate the message body with the 
tool argume [...]
+    "bridgeErrorHandler": { "index": 2, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
+    "configuration": { "index": 3, "kind": "property", "displayName": 
"Configuration", "group": "consumer", "label": "", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
component configuration" },
+    "description": { "index": 4, "kind": "property", "displayName": 
"Description", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Human-readable 
description of what this tool does. Passed verbatim to the LLM; be  [...]
+    "destructiveHint": { "index": 5, "kind": "property", "displayName": 
"Destructive Hint", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool may perform destructive 
o [...]
+    "idempotentHint": { "index": 6, "kind": "property", "displayName": 
"Idempotent Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that repeating the tool call with the 
sam [...]
+    "openWorldHint": { "index": 7, "kind": "property", "displayName": "Open 
World Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool interacts with external 
syst [...]
+    "outputParameters": { "index": 8, "kind": "property", "displayName": 
"Output Parameters", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "outputParameter.", "multiValue": true, 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "des [...]
+    "outputSchema": { "index": 9, "kind": "property", "displayName": "Output 
Schema", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Raw JSON Schema describing the tool's 
structured  [...]
+    "parameters": { "index": 10, "kind": "property", "displayName": 
"Parameters", "group": "consumer", "label": "consumer", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "parameter.", "multiValue": true, "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Tool i [...]
+    "readOnlyHint": { "index": 11, "kind": "property", "displayName": "Read 
Only Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool only reads data and 
does not  [...]
+    "returnDirect": { "index": 12, "kind": "property", "displayName": "Return 
Direct", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "When true, AI producers that support agentic 
tool loo [...]
+    "tags": { "index": 13, "kind": "property", "displayName": "Tags", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of tags used to group 
tools. Producers filter the registry by these tags t [...]
+    "title": { "index": 14, "kind": "property", "displayName": "Title", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Optional display title for MCP tool listings. 
Advisory hint for MCP clients only." },
+    "autowiredEnabled": { "index": 15, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
+    "authorizationPolicy": { "index": 16, "kind": "property", "displayName": 
"Authorization Policy", "group": "security", "label": "consumer,security", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Reference to an 
org.apache.came [...]
+  },
+  "headers": {
+    "CamelAiToolCallId": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The tool invocation identifier supplied by the 
calling framework. Absent when the framework does not supply one.", 
"constantName": 
"org.apache.camel.component.ai.tool.AiToolConstants#TOOL_CALL_ID" },
+    "CamelAiToolConversationId": { "index": 1, "kind": "header", 
"displayName": "", "group": "consumer", "label": "consumer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The conversation identifier supplied by 
the calling framework. Absent when the framework does not supply one.", 
"constantName": 
"org.apache.camel.component.ai.tool.AiToolConstants#CONVERSATION_ID" }
   },
   "properties": {
     "toolName": { "index": 0, "kind": "path", "displayName": "Tool Name", 
"group": "consumer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The tool name. This is the 
name the LLM sees and uses to invoke the tool." },
     "argSchema": { "index": 1, "kind": "parameter", "displayName": "Arg 
Schema", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Raw JSON Schema for tool input parameters. 
Supports in [...]
-    "description": { "index": 2, "kind": "parameter", "displayName": 
"Description", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Human-readable 
description of what this tool does. Passed verbatim to the LLM; be [...]
-    "destructiveHint": { "index": 3, "kind": "parameter", "displayName": 
"Destructive Hint", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool may perform destructive 
 [...]
-    "idempotentHint": { "index": 4, "kind": "parameter", "displayName": 
"Idempotent Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that repeating the tool call with the 
sa [...]
-    "openWorldHint": { "index": 5, "kind": "parameter", "displayName": "Open 
World Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool interacts with external 
sys [...]
-    "outputParameters": { "index": 6, "kind": "parameter", "displayName": 
"Output Parameters", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "outputParameter.", "multiValue": true, 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "de [...]
-    "outputSchema": { "index": 7, "kind": "parameter", "displayName": "Output 
Schema", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Raw JSON Schema describing the tool's 
structured [...]
-    "parameters": { "index": 8, "kind": "parameter", "displayName": 
"Parameters", "group": "consumer", "label": "consumer", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "parameter.", "multiValue": true, "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Tool i [...]
-    "readOnlyHint": { "index": 9, "kind": "parameter", "displayName": "Read 
Only Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool only reads data and 
does not  [...]
-    "returnDirect": { "index": 10, "kind": "parameter", "displayName": "Return 
Direct", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "When true, AI producers that support agentic 
tool lo [...]
-    "tags": { "index": 11, "kind": "parameter", "displayName": "Tags", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of tags used to group 
tools. Producers filter the registry by these tags  [...]
-    "title": { "index": 12, "kind": "parameter", "displayName": "Title", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Optional display title for MCP tool listings. 
Advisory hint for MCP clients only." },
-    "bridgeErrorHandler": { "index": 13, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
-    "exceptionHandler": { "index": 14, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
-    "exchangePattern": { "index": 15, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "authorizationPolicy": { "index": 16, "kind": "parameter", "displayName": 
"Authorization Policy", "group": "security", "label": "consumer,security", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Reference to an 
org.apache.cam [...]
+    "argumentsAsBody": { "index": 2, "kind": "parameter", "displayName": 
"Arguments As Body", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Whether to populate the message body with the 
tool argum [...]
+    "description": { "index": 3, "kind": "parameter", "displayName": 
"Description", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Human-readable 
description of what this tool does. Passed verbatim to the LLM; be [...]
+    "destructiveHint": { "index": 4, "kind": "parameter", "displayName": 
"Destructive Hint", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool may perform destructive 
 [...]
+    "idempotentHint": { "index": 5, "kind": "parameter", "displayName": 
"Idempotent Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that repeating the tool call with the 
sa [...]
+    "openWorldHint": { "index": 6, "kind": "parameter", "displayName": "Open 
World Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool interacts with external 
sys [...]
+    "outputParameters": { "index": 7, "kind": "parameter", "displayName": 
"Output Parameters", "group": "consumer", "label": "consumer", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "outputParameter.", "multiValue": true, 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "de [...]
+    "outputSchema": { "index": 8, "kind": "parameter", "displayName": "Output 
Schema", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Raw JSON Schema describing the tool's 
structured [...]
+    "parameters": { "index": 9, "kind": "parameter", "displayName": 
"Parameters", "group": "consumer", "label": "consumer", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "prefix": "parameter.", "multiValue": true, "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Tool i [...]
+    "readOnlyHint": { "index": 10, "kind": "parameter", "displayName": "Read 
Only Hint", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "MCP hint that the tool only reads data and 
does not [...]
+    "returnDirect": { "index": 11, "kind": "parameter", "displayName": "Return 
Direct", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "When true, AI producers that support agentic 
tool lo [...]
+    "tags": { "index": 12, "kind": "parameter", "displayName": "Tags", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of tags used to group 
tools. Producers filter the registry by these tags  [...]
+    "title": { "index": 13, "kind": "parameter", "displayName": "Title", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": 
"configuration", "description": "Optional display title for MCP tool listings. 
Advisory hint for MCP clients only." },
+    "bridgeErrorHandler": { "index": 14, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
+    "exceptionHandler": { "index": 15, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+    "exchangePattern": { "index": 16, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "authorizationPolicy": { "index": 17, "kind": "parameter", "displayName": 
"Authorization Policy", "group": "security", "label": "consumer,security", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", 
"configurationField": "configuration", "description": "Reference to an 
org.apache.cam [...]
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/cron.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/cron.json
index ed69f25853e..ffbd9daa8c9 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/cron.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/cron.json
@@ -28,6 +28,9 @@
     "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
     "cronService": { "index": 2, "kind": "property", "displayName": "Cron 
Service", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The id of the CamelCronService to use 
when multiple implementations are provided" }
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "null" ], "description": "No body: the 
message only starts the route" }
+  },
   "properties": {
     "name": { "index": 0, "kind": "path", "displayName": "Name", "group": 
"consumer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.cron.api.CamelCronConfiguration", 
"configurationField": "configuration", "description": "The name of the cron 
trigger" },
     "schedule": { "index": 1, "kind": "parameter", "displayName": "Schedule", 
"group": "consumer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.cron.api.CamelCronConfiguration", 
"configurationField": "configuration", "description": "A cron expression that 
will be used to generate events" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/direct.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/direct.json
index a53ccd01ef6..cdc7aaeb98b 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/direct.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/direct.json
@@ -31,6 +31,11 @@
     "timeout": { "index": 3, "kind": "property", "displayName": "Timeout", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 30000, "description": "The timeout value to use if block is 
enabled." },
     "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "unchanged" ], "description": "The body the 
caller sent" },
+    "producerIn": { "carriers": [ "any" ] },
+    "producerOut": { "carriers": [ "unknown" ], "description": "The body the 
route it calls ends with" }
+  },
   "properties": {
     "name": { "index": 0, "kind": "path", "displayName": "Name", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Name of direct endpoint" },
     "bridgeErrorHandler": { "index": 1, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/file.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/file.json
index 3dc31c1b4ec..a1063e8f8c0 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/file.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/file.json
@@ -49,6 +49,11 @@
     "CamelFileInitialOffset": { "index": 15, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "A long value containing the initial offset.", 
"constantName": "org.apache.camel.component.file.FileConstants#INITIAL_OFFSET" 
},
     "CamelFileChecksum": { "index": 16, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The checksum of the file written, when 
checksumAlgorithm is in use", "constantName": 
"org.apache.camel.component.file.FileConstants#FILE_CHECKSUM" }
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "file" ], "description": "The file as read: 
a GenericFile (a java.io.File with preMove), which converts to text, bytes or a 
stream" },
+    "producerIn": { "carriers": [ "text", "bytes", "stream", "file" ], 
"byOption": [ { "option": "allowNullBody", "value": "true", "carriers": [ 
"null", "text", "bytes", "stream", "file" ] } ], "description": "What converts 
to an InputStream: text, bytes, a stream or a file. A Map or a List fails: 
marshal it first" },
+    "producerOut": { "carriers": [ "unchanged" ] }
+  },
   "properties": {
     "directoryName": { "index": 0, "kind": "path", "displayName": "Directory 
Name", "group": "common", "label": "", "required": true, "type": "string", 
"javaType": "java.io.File", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The starting directory" },
     "charset": { "index": 1, "kind": "parameter", "displayName": "Charset", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "This option is used to specify the encoding of 
the file. You can use this on the consumer, to specify the encodings of the 
files, which allow Camel to know the charset it should load the file content in 
case the file content is being accesse [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/http.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/http.json
index b4c924a2cda..2f42055de50 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/http.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/http.json
@@ -95,6 +95,10 @@
     "CamelHttpCharacterEncoding": { "index": 12, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The character encoding.", 
"constantName": 
"org.apache.camel.component.http.HttpConstants#HTTP_CHARACTER_ENCODING" },
     "Content-Type": { "index": 13, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "important": true, "description": "The HTTP content type. Is set on both 
the IN and OUT message to provide a content type, such as text\/html.", 
"constantName": "org.apache.camel.component.http.HttpConstants#CONTENT_TYPE" }
   },
+  "bodyTypes": {
+    "producerIn": { "carriers": [ "null", "text", "bytes", "stream", "file" ], 
"description": "The request body: text, bytes, a stream or a file. A Map or a 
List fails: marshal it first. Without httpMethod, no body sends a GET and a 
body a POST" },
+    "producerOut": { "carriers": [ "bytes", "stream", "null" ], "description": 
"The response body: a byte array when its Content-Length is at most 
responsePayloadStreamingThreshold (8192), otherwise the stream cache (the 
stream itself with disableStreamCache); null for a response without a body" }
+  },
   "properties": {
     "httpUri": { "index": 0, "kind": "path", "displayName": "Http Uri", 
"group": "common", "label": "common", "required": true, "type": "string", 
"javaType": "java.net.URI", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The url of the HTTP 
endpoint to call." },
     "disableStreamCache": { "index": 1, "kind": "parameter", "displayName": 
"Disable Stream Cache", "group": "common", "label": "common", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Determines whether or not the raw input stream is cached or not. The Camel 
consumer (camel-servlet, camel-jetty etc.) will by default cache the input 
stream to support reading it multiple times to [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/https.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/https.json
index 82b92c7124d..235f3fa1300 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/https.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/https.json
@@ -95,6 +95,10 @@
     "CamelHttpCharacterEncoding": { "index": 12, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The character encoding.", 
"constantName": 
"org.apache.camel.component.http.HttpConstants#HTTP_CHARACTER_ENCODING" },
     "Content-Type": { "index": 13, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "important": true, "description": "The HTTP content type. Is set on both 
the IN and OUT message to provide a content type, such as text\/html.", 
"constantName": "org.apache.camel.component.http.HttpConstants#CONTENT_TYPE" }
   },
+  "bodyTypes": {
+    "producerIn": { "carriers": [ "null", "text", "bytes", "stream", "file" ], 
"description": "The request body: text, bytes, a stream or a file. A Map or a 
List fails: marshal it first. Without httpMethod, no body sends a GET and a 
body a POST" },
+    "producerOut": { "carriers": [ "bytes", "stream", "null" ], "description": 
"The response body: a byte array when its Content-Length is at most 
responsePayloadStreamingThreshold (8192), otherwise the stream cache (the 
stream itself with disableStreamCache); null for a response without a body" }
+  },
   "properties": {
     "httpUri": { "index": 0, "kind": "path", "displayName": "Http Uri", 
"group": "common", "label": "common", "required": true, "type": "string", 
"javaType": "java.net.URI", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The url of the HTTP 
endpoint to call." },
     "disableStreamCache": { "index": 1, "kind": "parameter", "displayName": 
"Disable Stream Cache", "group": "common", "label": "common", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Determines whether or not the raw input stream is cached or not. The Camel 
consumer (camel-servlet, camel-jetty etc.) will by default cache the input 
stream to support reading it multiple times to [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kamelet.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kamelet.json
index 5ecd3b4f7bb..c801dfae3d0 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kamelet.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kamelet.json
@@ -36,6 +36,11 @@
     "noErrorHandler": { "index": 9, "kind": "property", "displayName": "No 
Error Handler", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Whether kamelets 
should use error handling or not. By default, the Kamelet uses the same error 
handler as from the calling route. This means that if the calling route has 
error handling that performs r [...]
     "routeTemplateLoaderListener": { "index": 10, "kind": "property", 
"displayName": "Route Template Loader Listener", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.RouteTemplateLoaderListener", "deprecated": false, 
"autowired": true, "secret": false, "description": "To plugin a custom listener 
for when the Kamelet component is loading Kamelets from external resources." }
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "unknown" ], "description": "The body the 
Kamelet sends, as its data types or its template say. In the template of a 
Kamelet, kamelet:source gives the body the caller sent" },
+    "producerIn": { "carriers": [ "any" ] },
+    "producerOut": { "carriers": [ "unknown" ], "description": "The body the 
template of the Kamelet ends with" }
+  },
   "properties": {
     "templateId": { "index": 0, "kind": "path", "displayName": "Template Id", 
"group": "common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Route Template ID" },
     "routeId": { "index": 1, "kind": "path", "displayName": "Route Id", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Route ID. Default 
value notice: The ID will be auto-generated if not provided" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-browse.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-browse.json
index 7a19719f7c7..218d89c6e95 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-browse.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-browse.json
@@ -45,7 +45,7 @@
     "overrideHost": { "index": 18, "kind": "property", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 19, "kind": "property", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 20, "kind": "property", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "reconnectTimeout": { "index": 21, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
+    "reconnectTimeout": { "index": 21, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
     "requestedPublishingInterval": { "index": 22, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
     "requestTimeout": { "index": 23, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
     "sessionName": { "index": 24, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
@@ -87,7 +87,7 @@
     "overrideHost": { "index": 24, "kind": "parameter", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 25, "kind": "parameter", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 26, "kind": "parameter", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "reconnectTimeout": { "index": 27, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
+    "reconnectTimeout": { "index": 27, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
     "requestedPublishingInterval": { "index": 28, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
     "requestTimeout": { "index": 29, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
     "sessionName": { "index": 30, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-client.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-client.json
index da4dc72e75f..34e7d59b12c 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-client.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/milo-client.json
@@ -46,7 +46,7 @@
     "overrideHost": { "index": 19, "kind": "property", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 20, "kind": "property", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 21, "kind": "property", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "reconnectTimeout": { "index": 22, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
+    "reconnectTimeout": { "index": 22, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
     "requestedPublishingInterval": { "index": 23, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
     "requestTimeout": { "index": 24, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
     "sessionName": { "index": 25, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
@@ -96,7 +96,7 @@
     "overrideHost": { "index": 30, "kind": "parameter", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 31, "kind": "parameter", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 32, "kind": "parameter", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "reconnectTimeout": { "index": 33, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
+    "reconnectTimeout": { "index": 33, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
     "requestedPublishingInterval": { "index": 34, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
     "requestTimeout": { "index": 35, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
     "sessionName": { "index": 36, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/rest-openapi.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/rest-openapi.json
index 1f08fff355e..2f9061a6ee9 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/rest-openapi.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/rest-openapi.json
@@ -46,6 +46,10 @@
     "sslContextParameters": { "index": 19, "kind": "property", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Customize TLS parameters 
used by the component. If not set defaults to the TLS parameters set in the 
Camel context" },
     "useGlobalSslContextParameters": { "index": 20, "kind": "property", 
"displayName": "Use Global Ssl Context Parameters", "group": "security", 
"label": "security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Enable usage of global SSL context 
parameters." }
   },
+  "bodyTypes": {
+    "producerIn": { "carriers": [ "null", "text", "bytes", "stream", "file" ], 
"dependsOn": [ "componentName" ], "description": "The request body of the 
operation, which the http component sends: text, bytes, a stream or a file. A 
Map or a List fails: marshal it first" },
+    "producerOut": { "carriers": [ "bytes", "stream", "null" ], "dependsOn": [ 
"componentName" ], "description": "The response body, as the http component 
gives it: a byte array or the stream cache; null for a response without a body" 
}
+  },
   "properties": {
     "specificationUri": { "index": 0, "kind": "path", "displayName": 
"Specification Uri", "group": "common", "label": "common", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "openapi.json", 
"description": "Path to the OpenApi specification file. The scheme, host base 
path are taken from this specification, but these can be overridden with 
properties on the component or endpoint level. If not  [...]
     "operationId": { "index": 1, "kind": "path", "displayName": "Operation 
Id", "group": "producer", "label": "producer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "ID of the operation from the OpenApi 
specification. This is required when using producer" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/seda.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/seda.json
index e2911eb8ac7..58e46578b78 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/seda.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/seda.json
@@ -36,6 +36,11 @@
     "defaultQueueFactory": { "index": 8, "kind": "property", "displayName": 
"Default Queue Factory", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange>",
 "deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the default queue factory." },
     "queueSize": { "index": 9, "kind": "property", "displayName": "Queue 
Size", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 1000, "description": "Sets the default maximum 
capacity of the SEDA queue (i.e., the number of messages it can hold)." }
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "unchanged" ], "description": "The body the 
producer sent" },
+    "producerIn": { "carriers": [ "any" ] },
+    "producerOut": { "carriers": [ "unknown" ], "byOption": [ { "option": 
"waitForTaskToComplete", "value": "Never", "carriers": [ "unchanged" ] } ], 
"description": "Unchanged for a message that expects no reply (InOnly). A 
message that expects one (InOut), or waitForTaskToComplete=Always, waits for 
the body the seda route ends with" }
+  },
   "properties": {
     "name": { "index": 0, "kind": "path", "displayName": "Name", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Name of queue" },
     "size": { "index": 1, "kind": "parameter", "displayName": "Size", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, 
"description": "The maximum capacity of the SEDA queue (i.e., the number of 
messages it can hold). Will by default use the queueSize set on the SEDA 
component." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json
index 4d05b602c27..12f882124d3 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json
@@ -48,6 +48,11 @@
     "CamelSqlParameters": { "index": 7, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"Iterator", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The SQL parameters when using the option 
useMessageBodyForSql", "constantName": 
"org.apache.camel.component.sql.SqlConstants#SQL_PARAMETERS" },
     "CamelSqlDataSource": { "index": 8, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"javax.sql.DataSource", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "To use a specific 
DataSource to operate on another database than the pre configured DataSource on 
the component", "constantName": 
"org.apache.camel.component.sql.SqlConstants#SQL_DATA_SOURCE" }
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "map" ], "javaType": "java.util.Map<String, 
Object>", "dependsOn": [ "outputClass", "outputHeader" ], "byOption": [ { 
"option": "useIterator", "value": "false", "carriers": [ "list" ] }, { 
"option": "outputType", "value": "SelectOne", "carriers": [ "map", "value" ] }, 
{ "option": "outputType", "value": "StreamList", "carriers": [ "iterator" ] } 
], "description": "A row of the query: a Map of the column names and their 
values" },
+    "producerIn": { "carriers": [ "any" ], "description": "The parameters of 
the query: a Map for the named ones, a List or an array for the # ones; the 
query itself with useMessageBodyForSql" },
+    "producerOut": { "carriers": [ "list", "unchanged" ], "dependsOn": [ 
"outputClass", "outputHeader", "noop" ], "byOption": [ { "option": 
"outputType", "value": "SelectOne", "carriers": [ "map", "value", "null" ] }, { 
"option": "outputType", "value": "StreamList", "carriers": [ "iterator" ] } ], 
"description": "The rows of a select: a List of Maps of the column names and 
their values. A query that is not a select leaves the body unchanged, with the 
count in the CamelSqlUpdateCount header" }
+  },
   "properties": {
     "query": { "index": 0, "kind": "path", "displayName": "Query", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "supportFileReference": true, "largeInput": true, 
"inputLanguage": "sql", "description": "Sets the SQL query to perform. You can 
externalize the query by using file: or classpath: as prefix and specify the 
location of the file." },
     "allowNamedParameters": { "index": 1, "kind": "parameter", "displayName": 
"Allow Named Parameters", "group": "common", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "description": "Whether to allow 
using named parameters in the queries." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/timer.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/timer.json
index 1497ecd83d9..af8700221ba 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/timer.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/timer.json
@@ -33,6 +33,9 @@
     "CamelTimerFiredTime": { "index": 0, "kind": "header", "displayName": "", 
"group": "consumer", "label": "", "required": false, "javaType": "Date", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The fired time", "constantName": 
"org.apache.camel.component.timer.TimerConstants#HEADER_FIRED_TIME" },
     "CamelMessageTimestamp": { "index": 1, "kind": "header", "displayName": 
"", "group": "consumer", "label": "", "required": false, "javaType": "long", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The timestamp of the message", "constantName": 
"org.apache.camel.component.timer.TimerConstants#HEADER_MESSAGE_TIMESTAMP" }
   },
+  "bodyTypes": {
+    "consumerOut": { "carriers": [ "null" ], "description": "No body: the 
message only starts the route" }
+  },
   "properties": {
     "timerName": { "index": 0, "kind": "path", "displayName": "Timer Name", 
"group": "consumer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The name of the timer" },
     "delay": { "index": 1, "kind": "parameter", "displayName": "Delay", 
"group": "consumer", "label": "", "required": false, "type": "duration", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "1000", "description": "The number of milliseconds to wait 
before the first event is generated. Should not be used in conjunction with the 
time option. The default value is 1000." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xslt.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xslt.json
index 0495a4ad766..8fab29cb74a 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xslt.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xslt.json
@@ -39,6 +39,10 @@
     "CamelXsltStylesheet": { "index": 1, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The template to use instead of the endpoint 
configured.", "constantName": 
"org.apache.camel.component.xslt.XsltConstants#XSLT_STYLESHEET" },
     "CamelXsltFileName": { "index": 2, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The XSLT file name", "constantName": 
"org.apache.camel.component.xslt.XsltConstants#XSLT_FILE_NAME" }
   },
+  "bodyTypes": {
+    "producerIn": { "carriers": [ "text", "bytes", "stream", "file", "pojo" ], 
"format": "xml", "dependsOn": [ "source" ], "byOption": [ { "option": 
"failOnNullBody", "value": "false", "carriers": [ "null", "text", "bytes", 
"stream", "file", "pojo" ] } ], "description": "The XML to transform: text, 
bytes, a stream, a file, a DOM or another javax.xml.transform.Source. A Map, a 
List or no body fails" },
+    "producerOut": { "carriers": [ "text" ], "javaType": "java.lang.String", 
"dependsOn": [ "resultHandlerFactory" ], "byOption": [ { "option": "output", 
"value": "bytes", "carriers": [ "bytes" ], "javaType": "byte[]" }, { "option": 
"output", "value": "DOM", "carriers": [ "pojo" ], "javaType": 
"org.w3c.dom.Document" }, { "option": "output", "value": "file", "carriers": [ 
"file" ], "javaType": "java.io.File" } ], "description": "The result of the 
transformation" }
+  },
   "properties": {
     "resourceUri": { "index": 0, "kind": "path", "displayName": "Resource 
Uri", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "Path to the template. The 
following is supported by the default URIResolver. You can prefix with: 
classpath, file, http, ref, or bean. classpath, file and http loads the 
resource using these protocols (classpath i [...]
     "allowTemplateFromHeader": { "index": 1, "kind": "parameter", 
"displayName": "Allow Template From Header", "group": "producer", "label": "", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Whether to allow to use resource template from header or not 
(default false). Enabling this allows to specify dynamic templates via message 
header. However this can be seen as a potential s [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
index cbc2f223de6..4d87b1a3db4 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles.properties
@@ -37,6 +37,7 @@ log
 memory
 message-history
 micrometer
+milo-client
 opentelemetry
 platform-http
 processor
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/milo-client.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/milo-client.json
new file mode 100644
index 00000000000..d417b11713b
--- /dev/null
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/milo-client.json
@@ -0,0 +1,78 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "name": "milo-client",
+    "title": "OPC UA Client",
+    "description": "OPC UA client connections and their refused monitored 
items",
+    "deprecated": false,
+    "readOnly": true,
+    "javaType": "org.apache.camel.component.milo.client.MiloClientDevConsole",
+    "groupId": "org.apache.camel.springboot",
+    "artifactId": "camel-milo-starter",
+    "version": "4.24.0-SNAPSHOT"
+  },
+  "response": {
+    "type": "object",
+    "properties": {
+      "connections": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "endpointUri": {
+              "type": "string",
+              "description": "The OPC UA server endpoint, with its password 
masked"
+            },
+            "clientId": {
+              "type": "string",
+              "description": "The client id of the connection (only present 
when one is set)"
+            },
+            "routeIds": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              },
+              "description": "The ids of the routes whose consumers use the 
connection"
+            },
+            "sessionActive": {
+              "type": "boolean",
+              "description": "Whether the session with the server is active"
+            },
+            "monitoredNodes": {
+              "type": "integer",
+              "description": "The number of nodes that have a monitored item 
on the server"
+            },
+            "refusedNodes": {
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "nodeId": {
+                    "type": "string",
+                    "description": "The node ID"
+                  },
+                  "status": {
+                    "type": "string",
+                    "description": "The status of the latest attempt to create 
the monitored item of the node: the refusal, or the failure of the attempt"
+                  },
+                  "reason": {
+                    "type": "string",
+                    "description": "Why the client refused the node without 
asking the server (only present when it did)"
+                  }
+                }
+              },
+              "description": "The nodes whose monitored item was refused, 
which are created again every reconnectTimeout milliseconds"
+            }
+          },
+          "required": [
+            "sessionActive",
+            "monitoredNodes"
+          ]
+        },
+        "description": "The connections of the consumers"
+      }
+    }
+  }
+}
+
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-dump.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-dump.json
index 86f4a8a1794..c35ea38f5d9 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-dump.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-dump.json
@@ -96,6 +96,10 @@
               "type": "string",
               "description": "The source location (only present when known)"
             },
+            "checksum": {
+              "type": "string",
+              "description": "The checksum of the route as written, the same 
in every run: the dump is of this version of the route (only present when 
known, as it needs camel-xml-io)"
+            },
             "format": {
               "type": "string",
               "description": "The dump format, xml\/yaml\/java (only present 
when the dump succeeded)"
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-structure.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-structure.json
index 8021df2be12..3e69ea520a8 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-structure.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route-structure.json
@@ -100,6 +100,10 @@
               "type": "string",
               "description": "The route description (only present when 
configured)"
             },
+            "checksum": {
+              "type": "string",
+              "description": "The checksum of the route as written, the same 
in every run: the facts a tool keeps per line hold for this version of the 
route (only present when known, as it needs camel-xml-io)"
+            },
             "code": {
               "type": "array",
               "items": {
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route.json
index 70059405c14..4256332a3a2 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dev-consoles/route.json
@@ -133,6 +133,14 @@
               "type": "string",
               "description": "The source that declares the templated route the 
route was created from (only present when known)"
             },
+            "checksum": {
+              "type": "string",
+              "description": "The checksum of the route as written, the same 
in every run: compare it with an earlier run to tell whether the route changed 
(only present when known, as it needs camel-xml-io)"
+            },
+            "revision": {
+              "type": "integer",
+              "description": "The revision of the route in this run: 1 when it 
is added, one more each time it is added again with another checksum, such as 
by a reload (only present when the checksum is known)"
+            },
             "state": {
               "type": "string",
               "description": "The route state"
diff --git 
a/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json 
b/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json
index 480a01eb767..9116d686677 100644
--- a/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json
+++ b/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json
@@ -19,6 +19,13 @@
       "description": "Raw JSON Schema for tool input parameters. Supports 
inline JSON and resource references (classpath:, file:, resource:). Mutually 
exclusive with the parameter multi-value options. Use for nested objects, 
arrays, oneOf, and other complex schemas.",
       "sourceType": 
"org.apache.camel.component.ai.tool.springboot.AiToolComponentConfiguration"
     },
+    {
+      "name": "camel.component.ai-tool.arguments-as-body",
+      "type": "java.lang.Boolean",
+      "description": "Whether to populate the message body with the tool 
arguments as a JSON string, excluding undeclared arguments and reserved names. 
Declared argument headers remain available. When disabled, the message body is 
left unchanged.",
+      "sourceType": 
"org.apache.camel.component.ai.tool.springboot.AiToolComponentConfiguration",
+      "defaultValue": false
+    },
     {
       "name": "camel.component.ai-tool.authorization-policy",
       "type": "org.apache.camel.spi.AuthorizationPolicy",
diff --git 
a/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java
 
b/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java
index 7abfaa1754c..81bc8e6d5de 100644
--- 
a/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java
+++ 
b/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java
@@ -45,6 +45,13 @@ public class AiToolComponentConfiguration
      * oneOf, and other complex schemas.
      */
     private String argSchema;
+    /**
+     * Whether to populate the message body with the tool arguments as a JSON
+     * string, excluding undeclared arguments and reserved names. Declared
+     * argument headers remain available. When disabled, the message body is
+     * left unchanged.
+     */
+    private Boolean argumentsAsBody = false;
     /**
      * Allows for bridging the consumer to the Camel routing Error Handler,
      * which mean any exceptions (if possible) occurred while the Camel 
consumer
@@ -163,6 +170,14 @@ public class AiToolComponentConfiguration
         this.argSchema = argSchema;
     }
 
+    public Boolean getArgumentsAsBody() {
+        return argumentsAsBody;
+    }
+
+    public void setArgumentsAsBody(Boolean argumentsAsBody) {
+        this.argumentsAsBody = argumentsAsBody;
+    }
+
     public Boolean getBridgeErrorHandler() {
         return bridgeErrorHandler;
     }
diff --git a/components-starter/camel-milo-starter/src/main/docs/milo.json 
b/components-starter/camel-milo-starter/src/main/docs/milo.json
index 32f47b0cc4f..364d1bacbb2 100644
--- a/components-starter/camel-milo-starter/src/main/docs/milo.json
+++ b/components-starter/camel-milo-starter/src/main/docs/milo.json
@@ -194,7 +194,7 @@
     {
       "name": "camel.component.milo-browse.reconnect-timeout",
       "type": "java.lang.Long",
-      "description": "The delay in milliseconds before the client tries again 
to connect to the server after an attempt failed. It is not used while the OPC 
UA client recovers a lost session on its own.",
+      "description": "The delay in milliseconds before the client tries again 
to connect to the server after an attempt failed, and between two attempts to 
create the monitored items that the server refused. Neither attempt is made 
while the OPC UA client recovers a lost session on its own.",
       "sourceType": 
"org.apache.camel.component.milo.browse.springboot.MiloBrowseComponentConfiguration",
       "defaultValue": 10000
     },
@@ -407,7 +407,7 @@
     {
       "name": "camel.component.milo-client.reconnect-timeout",
       "type": "java.lang.Long",
-      "description": "The delay in milliseconds before the client tries again 
to connect to the server after an attempt failed. It is not used while the OPC 
UA client recovers a lost session on its own.",
+      "description": "The delay in milliseconds before the client tries again 
to connect to the server after an attempt failed, and between two attempts to 
create the monitored items that the server refused. Neither attempt is made 
while the OPC UA client recovers a lost session on its own.",
       "sourceType": 
"org.apache.camel.component.milo.client.springboot.MiloClientComponentConfiguration",
       "defaultValue": 10000
     },
diff --git 
a/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/browse/springboot/MiloBrowseComponentConfiguration.java
 
b/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/browse/springboot/MiloBrowseComponentConfiguration.java
index 6a6a54d5dd2..5d2e01be3cb 100644
--- 
a/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/browse/springboot/MiloBrowseComponentConfiguration.java
+++ 
b/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/browse/springboot/MiloBrowseComponentConfiguration.java
@@ -141,8 +141,9 @@ public class MiloBrowseComponentConfiguration
     private String productUri = "http://camel.apache.org/EclipseMilo";;
     /**
      * The delay in milliseconds before the client tries again to connect to 
the
-     * server after an attempt failed. It is not used while the OPC UA client
-     * recovers a lost session on its own.
+     * server after an attempt failed, and between two attempts to create the
+     * monitored items that the server refused. Neither attempt is made while
+     * the OPC UA client recovers a lost session on its own.
      */
     private Long reconnectTimeout = 10000L;
     /**
diff --git 
a/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/client/springboot/MiloClientComponentConfiguration.java
 
b/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/client/springboot/MiloClientComponentConfiguration.java
index 93d2f71bfef..6f0c67cd20d 100644
--- 
a/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/client/springboot/MiloClientComponentConfiguration.java
+++ 
b/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/client/springboot/MiloClientComponentConfiguration.java
@@ -155,8 +155,9 @@ public class MiloClientComponentConfiguration
     private String productUri = "http://camel.apache.org/EclipseMilo";;
     /**
      * The delay in milliseconds before the client tries again to connect to 
the
-     * server after an attempt failed. It is not used while the OPC UA client
-     * recovers a lost session on its own.
+     * server after an attempt failed, and between two attempts to create the
+     * monitored items that the server refused. Neither attempt is made while
+     * the OPC UA client recovers a lost session on its own.
      */
     private Long reconnectTimeout = 10000L;
     /**
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc
index ac20d326cc3..d5b9668c6c0 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc
@@ -23,12 +23,13 @@ Please refer to the above links for usage and configuration 
details.
 
 == Spring Boot Auto-Configuration
 
-The starter supports 17 options, which are listed below.
+The starter supports 18 options, which are listed below.
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
 | camel.component.ai-tool.arg-schema | Raw JSON Schema for tool input 
parameters. Supports inline JSON and resource references (classpath:, file:, 
resource:). Mutually exclusive with the parameter multi-value options. Use for 
nested objects, arrays, oneOf, and other complex schemas. |  | String
+| camel.component.ai-tool.arguments-as-body | Whether to populate the message 
body with the tool arguments as a JSON string, excluding undeclared arguments 
and reserved names. Declared argument headers remain available. When disabled, 
the message body is left unchanged. | false | Boolean
 | camel.component.ai-tool.authorization-policy | Reference to an 
org.apache.camel.spi.AuthorizationPolicy used to authorize tool calls before 
the route runs. Set it on the component to guard every tool route by 
construction, or per endpoint to override. The policy authorizes on trustworthy 
input only: the tool name comes from the route (never from model output), and 
the caller identity is carried as an exchange property set before the agent ran 
(for example by camel-spiffe or camel-keycl [...]
 | camel.component.ai-tool.autowired-enabled | Whether autowiring is enabled. 
This is used for automatic autowiring options (the option must be marked as 
autowired) by looking up in the registry to find if there is a single instance 
of matching type, which then gets configured on the component. This can be used 
for automatic configuring JDBC data sources, JMS connection factories, AWS 
Clients, etc. | true | Boolean
 | camel.component.ai-tool.bridge-error-handler | Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions (if 
possible) occurred while the Camel consumer is trying to pickup incoming 
messages, or the likes, will now be processed as a message and handled by the 
routing Error Handler. Important: This is only possible if the 3rd party 
component allows Camel to be alerted if an exception was thrown. Some 
components handle this internally only, and theref [...]
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/milo.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/milo.adoc
index 794bad5ce12..2ad99cef283 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/milo.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/milo.adoc
@@ -54,7 +54,7 @@ The starter supports 86 options, which are listed below.
 | camel.component.milo-browse.override-port | Override the server reported 
endpoint port with the port from the endpoint URI. | false | Boolean
 | camel.component.milo-browse.password | The password for authentication. Use 
this instead of embedding credentials in the endpoint URI when the password 
contains special characters (such as \{code }, \{code /}, \{code }, \{code &}). 
|  | String
 | camel.component.milo-browse.product-uri | The product URI | 
http://camel.apache.org/EclipseMilo | String
-| camel.component.milo-browse.reconnect-timeout | The delay in milliseconds 
before the client tries again to connect to the server after an attempt failed. 
It is not used while the OPC UA client recovers a lost session on its own. | 
10000 | Long
+| camel.component.milo-browse.reconnect-timeout | The delay in milliseconds 
before the client tries again to connect to the server after an attempt failed, 
and between two attempts to create the monitored items that the server refused. 
Neither attempt is made while the OPC UA client recovers a lost session on its 
own. | 10000 | Long
 | camel.component.milo-browse.request-timeout | Request timeout in 
milliseconds |  | Long
 | camel.component.milo-browse.requested-publishing-interval | The requested 
publishing interval in milliseconds |  | Double
 | camel.component.milo-browse.session-name | Session name |  | String
@@ -87,7 +87,7 @@ The starter supports 86 options, which are listed below.
 | camel.component.milo-client.override-port | Override the server reported 
endpoint port with the port from the endpoint URI. | false | Boolean
 | camel.component.milo-client.password | The password for authentication. Use 
this instead of embedding credentials in the endpoint URI when the password 
contains special characters (such as \{code }, \{code /}, \{code }, \{code &}). 
|  | String
 | camel.component.milo-client.product-uri | The product URI | 
http://camel.apache.org/EclipseMilo | String
-| camel.component.milo-client.reconnect-timeout | The delay in milliseconds 
before the client tries again to connect to the server after an attempt failed. 
It is not used while the OPC UA client recovers a lost session on its own. | 
10000 | Long
+| camel.component.milo-client.reconnect-timeout | The delay in milliseconds 
before the client tries again to connect to the server after an attempt failed, 
and between two attempts to create the monitored items that the server refused. 
Neither attempt is made while the OPC UA client recovers a lost session on its 
own. | 10000 | Long
 | camel.component.milo-client.request-timeout | Request timeout in 
milliseconds |  | Long
 | camel.component.milo-client.requested-publishing-interval | The requested 
publishing interval in milliseconds |  | Double
 | camel.component.milo-client.session-name | Session name |  | String

Reply via email to