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 7f84524b650 [create-pull-request] automated change (#1860)
7f84524b650 is described below

commit 7f84524b6504e04697ac18e643b05d7f5952804a
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Jul 22 10:23:57 2026 +0200

    [create-pull-request] automated change (#1860)
    
    Co-authored-by: oscerd <[email protected]>
---
 .../catalog/components/aws-security-hub.json       |  3 +-
 .../catalog/components/aws2-transcribe.json        | 11 ++-
 .../catalog/components/langchain4j-agent.json      |  4 +-
 .../springboot/catalog/components/openai.json      | 80 ++++++++++---------
 .../springboot/catalog/components/opensearch.json  | 15 ++--
 .../camel-core-starter/src/main/docs/core.json     | 45 ++++++++---
 .../Resilience4jConfigurationDefinitionCommon.java | 89 +++++++++++++++++-----
 .../springboot/OpenAIComponentConfiguration.java   |  3 +-
 .../src/main/docs/opensearch.json                  |  6 ++
 .../OpensearchComponentConfiguration.java          | 15 ++++
 .../springboot/OpensearchComponentConverter.java   |  2 +
 .../modules/ROOT/pages/starters/core.adoc          | 15 ++--
 .../modules/ROOT/pages/starters/openai.adoc        |  2 +-
 .../modules/ROOT/pages/starters/opensearch.adoc    |  3 +-
 14 files changed, 209 insertions(+), 84 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws-security-hub.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws-security-hub.json
index 94a0f2bce26..f1d1b2df65a 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws-security-hub.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws-security-hub.json
@@ -68,7 +68,8 @@
     "CamelAwsSecurityHubUnprocessedFindings": { "index": 17, "kind": "header", 
"displayName": "", "group": "batchUpdateFindings", "label": 
"batchUpdateFindings", "required": false, "javaType": 
"List<BatchUpdateFindingsUnprocessedFinding>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
list of findings that were not updated", "constantName": 
"org.apache.camel.component.aws.securityhub.SecurityHubConstants#UNPROCESSED_FINDINGS"
 },
     "CamelAwsSecurityHubProcessedFindings": { "index": 18, "kind": "header", 
"displayName": "", "group": "batchUpdateFindings", "label": 
"batchUpdateFindings", "required": false, "javaType": 
"List<AwsSecurityFindingIdentifier>", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "description": "The list of findings 
that were updated successfully", "constantName": 
"org.apache.camel.component.aws.securityhub.SecurityHubConstants#PROCESSED_FINDINGS"
 },
     "CamelAwsSecurityHubFindingId": { "index": 19, "kind": "header", 
"displayName": "", "group": "getFindingHistory", "label": "getFindingHistory", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
finding ID to get history for", "constantName": 
"org.apache.camel.component.aws.securityhub.SecurityHubConstants#FINDING_ID" },
-    "CamelAwsSecurityHubProductArn": { "index": 20, "kind": "header", 
"displayName": "", "group": "getFindingHistory", "label": "getFindingHistory", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
product ARN for the finding", "constantName": 
"org.apache.camel.component.aws.securityhub.SecurityHubConstants#PRODUCT_ARN" }
+    "CamelAwsSecurityHubProductArn": { "index": 20, "kind": "header", 
"displayName": "", "group": "getFindingHistory", "label": "getFindingHistory", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
product ARN for the finding", "constantName": 
"org.apache.camel.component.aws.securityhub.SecurityHubConstants#PRODUCT_ARN" },
+    "CamelAwsSecurityHubFindingAggregatorArn": { "index": 21, "kind": 
"header", "displayName": "", "group": "getFindingAggregator", "label": 
"getFindingAggregator", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The ARN of the finding aggregator to retrieve", "constantName": 
"org.apache.camel.component.aws.securityhub.SecurityHubConstants#FINDING_AGGREGATOR_ARN"
 }
   },
   "properties": {
     "label": { "index": 0, "kind": "path", "displayName": "Label", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Logical name" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-transcribe.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-transcribe.json
index c6fa7520f7f..0efd20ca7f9 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-transcribe.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-transcribe.json
@@ -62,7 +62,16 @@
     "CamelAwsTranscribeMedicalTranscriptionJobName": { "index": 10, "kind": 
"header", "displayName": "", "group": "producer", "label": "producer", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
name of the medical transcription job", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#MEDICAL_TRANSCRIPTION_JOB_NAME"
 },
     "CamelAwsTranscribeResourceArn": { "index": 11, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Amazon Resource Name (ARN) of the 
resource", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#RESOURCE_ARN" 
},
     "CamelAwsTranscribeTags": { "index": 12, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "A map of tags to assign to the 
resource", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#TAGS" },
-    "CamelAwsTranscribeTagKeys": { "index": 13, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "List<String>", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "A list of tag keys to 
remove from the resource", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#TAG_KEYS" }
+    "CamelAwsTranscribeTagKeys": { "index": 13, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "List<String>", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "A list of tag keys to 
remove from the resource", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#TAG_KEYS" },
+    "CamelAwsTranscribeMaxResults": { "index": 14, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The maximum number of results to return 
in a list operation", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#MAX_RESULTS" },
+    "CamelAwsTranscribeNextToken": { "index": 15, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The token to retrieve the next page of 
a list operation", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#NEXT_TOKEN" },
+    "CamelAwsTranscribeVocabularyFileUri": { "index": 16, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The S3 location of the vocabulary or 
vocabulary filter file", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#VOCABULARY_FILE_URI"
 },
+    "CamelAwsTranscribeBaseModelName": { "index": 17, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The base model used when creating a 
custom language model", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#BASE_MODEL_NAME"
 },
+    "CamelAwsTranscribeInputDataS3Uri": { "index": 18, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The S3 location of the training data 
for a custom language model", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#INPUT_DATA_S3_URI"
 },
+    "CamelAwsTranscribeDataAccessRoleArn": { "index": 19, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The ARN of the IAM role granting access 
to the training data or vocabulary file", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#DATA_ACCESS_ROLE_ARN"
 },
+    "CamelAwsTranscribeOutputBucketName": { "index": 20, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The S3 bucket where the transcription 
output is stored", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#OUTPUT_BUCKET_NAME"
 },
+    "CamelAwsTranscribeSpecialty": { "index": 21, "kind": "header", 
"displayName": "", "group": "producer", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The medical specialty of a medical 
transcription job", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#SPECIALTY" },
+    "CamelAwsTranscribeType": { "index": 22, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The audio type of a medical transcription 
job", "constantName": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Constants#TYPE" }
   },
   "properties": {
     "label": { "index": 0, "kind": "path", "displayName": "Label", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.transcribe.Transcribe2Configuration", 
"configurationField": "configuration", "description": "Logical name" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/langchain4j-agent.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/langchain4j-agent.json
index 4d148b9f02b..c4575034b71 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/langchain4j-agent.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/langchain4j-agent.json
@@ -46,7 +46,9 @@
     "CamelLangChain4jAgentFinishReason": { "index": 6, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "dev.langchain4j.model.output.FinishReason", "enum": [ "STOP", 
"LENGTH", "TOOL_EXECUTION", "CONTENT_FILTER", "OTHER" ], "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
Finish Reason.", "constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#FINISH_REASON" },
     "CamelLangChain4jAgentInputTokenCount": { "index": 7, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Input Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#INPUT_TOKEN_COUNT" },
     "CamelLangChain4jAgentOutputTokenCount": { "index": 8, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Output Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#OUTPUT_TOKEN_COUNT" },
-    "CamelLangChain4jAgentTotalTokenCount": { "index": 9, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Total Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#TOTAL_TOKEN_COUNT" }
+    "CamelLangChain4jAgentTotalTokenCount": { "index": 9, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Total Token Count.", 
"constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#TOTAL_TOKEN_COUNT" },
+    "CamelLangChain4jAgentSources": { "index": 10, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "java.util.List<dev.langchain4j.rag.content.Content>", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "RAG sources retrieved during agent invocation.", 
"constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#SOURCES" },
+    "CamelLangChain4jAgentToolExecutions": { "index": 11, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "java.util.List<dev.langchain4j.service.tool.ToolExecution>", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Tool executions performed during agent invocation.", 
"constantName": 
"org.apache.camel.component.langchain4j.agent.api.Headers#TOOL_EXECUTIONS" }
   },
   "properties": {
     "agentId": { "index": 0, "kind": "path", "displayName": "Agent Id", 
"group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Agent id" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
index ff0d553c401..8a7c37a47eb 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json
@@ -3,7 +3,7 @@
     "kind": "component",
     "name": "openai",
     "title": "OpenAI",
-    "description": "OpenAI endpoint for chat completion, embeddings, and audio 
transcription.",
+    "description": "OpenAI endpoint for chat completion, embeddings, audio 
transcription, audio translation, and text-to-speech.",
     "deprecated": false,
     "firstVersion": "4.17.0",
     "label": "ai",
@@ -73,10 +73,15 @@
     "CamelOpenAIAudioPrompt": { "index": 36, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Optional text to guide the model's style or continue a 
previous audio segment", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#AUDIO_PROMPT" },
     "CamelOpenAIAudioTimestampGranularities": { "index": 37, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Comma-separated timestamp 
granularities: word, segment, or word,segment (verbose_json only)", 
"constantName": 
"org.apache.camel.component.openai.OpenAIConstants#AUDIO_TIMESTAMP_GRANULARITIES"
 },
     "CamelOpenAIAudioDuration": { "index": 38, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Duration of the audio in seconds 
(verbose_json only)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#AUDIO_DURATION" },
-    "CamelOpenAIAudioDetectedLanguage": { "index": 39, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Language detected in the audio 
(verbose_json only)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#AUDIO_DETECTED_LANGUAGE" }
+    "CamelOpenAIAudioDetectedLanguage": { "index": 39, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Language detected in the audio 
(verbose_json only)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#AUDIO_DETECTED_LANGUAGE" },
+    "CamelOpenAISpeechModel": { "index": 40, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The model to use for text-to-speech (e.g., 
gpt-4o-mini-tts, tts-1, tts-1-hd)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#SPEECH_MODEL" },
+    "CamelOpenAISpeechVoice": { "index": 41, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The voice to use for the generated audio (e.g., alloy, 
echo, fable, onyx, nova, shimmer)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#SPEECH_VOICE" },
+    "CamelOpenAISpeechResponseFormat": { "index": 42, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The audio format for text-to-speech 
output (mp3, opus, aac, flac, wav, pcm)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#SPEECH_RESPONSE_FORMAT" },
+    "CamelOpenAISpeechSpeed": { "index": 43, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "Double", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The speed of the generated audio (0.25 to 4.0, where 1.0 
is normal speed)", "constantName": 
"org.apache.camel.component.openai.OpenAIConstants#SPEECH_SPEED" },
+    "CamelOpenAISpeechInstructions": { "index": 44, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Optional instructions to control the 
voice of the generated audio (does not work with tts-1 or tts-1-hd)", 
"constantName": 
"org.apache.camel.component.openai.OpenAIConstants#SPEECH_INSTRUCTIONS" }
   },
   "properties": {
-    "operation": { "index": 0, "kind": "path", "displayName": "Operation", 
"group": "producer", "label": "", "required": true, "type": "enum", "javaType": 
"org.apache.camel.component.openai.OpenAIOperations", "enum": [ 
"chat-completion", "embeddings", "tool-execution", "audio-transcription" ], 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation to perform: 'chat-completion', 
'embeddings', 'tool-execution', or 'audio-transcription'" },
+    "operation": { "index": 0, "kind": "path", "displayName": "Operation", 
"group": "producer", "label": "", "required": true, "type": "enum", "javaType": 
"org.apache.camel.component.openai.OpenAIOperations", "enum": [ 
"chat-completion", "embeddings", "tool-execution", "audio-transcription", 
"audio-translation", "audio-speech" ], "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "description": "The operation to 
perform: 'chat-completion', 'embeddings', 'too [...]
     "additionalBodyProperty": { "index": 1, "kind": "parameter", 
"displayName": "Additional Body Property", "group": "producer", "label": "", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": 
"additionalBodyProperty.", "multiValue": true, "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configur [...]
     "additionalHeader": { "index": 2, "kind": "parameter", "displayName": 
"Additional Header", "group": "producer", "label": "", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.Object>", "prefix": "additionalHeader.", "multiValue": true, 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, 
"security": "secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"config [...]
     "additionalResponseHeader": { "index": 3, "kind": "parameter", 
"displayName": "Additional Response Header", "group": "producer", "label": "", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": 
"additionalResponseHeader.", "multiValue": true, "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "co [...]
@@ -96,36 +101,43 @@
     "embeddingModel": { "index": 17, "kind": "parameter", "displayName": 
"Embedding Model", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "The model to use for 
embeddings" },
     "encodingFormat": { "index": 18, "kind": "parameter", "displayName": 
"Encoding Format", "group": "producer", "label": "", "required": false, "type": 
"enum", "javaType": "java.lang.String", "enum": [ "float", "base64" ], 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": "base64", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The format for embedding ou [...]
     "jsonSchema": { "index": 19, "kind": "parameter", "displayName": "Json 
Schema", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "JSON schema for 
structured output validation" },
-    "maxRetries": { "index": 20, "kind": "parameter", "displayName": "Max 
Retries", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Maximum number of times the OpenAI SDK client 
retries failed requests. The SDK retr [...]
-    "maxTokens": { "index": 21, "kind": "parameter", "displayName": "Max 
Tokens", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Maximum number of tokens 
to generate" },
-    "maxToolIterations": { "index": 22, "kind": "parameter", "displayName": 
"Max Tool Iterations", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 50, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Maximum number of tool 
call loop iterations to prevent infinite loops" },
-    "mcpProtocolVersions": { "index": 23, "kind": "parameter", "displayName": 
"Mcp Protocol Versions", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Comma-separated list of 
MCP protocol versions to advertise when connect [...]
-    "mcpReconnect": { "index": 24, "kind": "parameter", "displayName": "Mcp 
Reconnect", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Automatically reconnect 
to MCP servers when a tool call fails due to a t [...]
-    "mcpServer": { "index": 25, "kind": "parameter", "displayName": "Mcp 
Server", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": 
"mcpServer.", "multiValue": true, "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "MCP (Model Cont [...]
-    "mcpTimeout": { "index": 26, "kind": "parameter", "displayName": "Mcp 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 20, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Timeout in seconds for MCP tool call requests. 
Applies to all MCP operations inclu [...]
-    "model": { "index": 27, "kind": "parameter", "displayName": "Model", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The model to use for chat completion" },
-    "outputClass": { "index": 28, "kind": "parameter", "displayName": "Output 
Class", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Fully qualified class name for structured 
output using response format" },
-    "requestTimeout": { "index": 29, "kind": "parameter", "displayName": 
"Request Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "HTTP request timeout in milliseconds for the 
OpenAI SDK client. When 0 or  [...]
-    "storeFullResponse": { "index": 30, "kind": "parameter", "displayName": 
"Store Full Response", "group": "producer", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Store the full response in the exchange 
property 'CamelOpenA [...]
-    "streaming": { "index": 31, "kind": "parameter", "displayName": 
"Streaming", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Enable streaming 
responses" },
-    "stripThinking": { "index": 32, "kind": "parameter", "displayName": "Strip 
Thinking", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Strip ... blocks from 
model responses (used by reasoning models like  [...]
-    "systemMessage": { "index": 33, "kind": "parameter", "displayName": 
"System Message", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "System message to 
prepend. When set and conversationMemory is enabled, the conversat [...]
-    "temperature": { "index": 34, "kind": "parameter", "displayName": 
"Temperature", "group": "producer", "label": "", "required": false, "type": 
"number", "javaType": "java.lang.Double", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Temperature for response 
generation (0.0 to 2.0)" },
-    "topP": { "index": 35, "kind": "parameter", "displayName": "Top P", 
"group": "producer", "label": "", "required": false, "type": "number", 
"javaType": "java.lang.Double", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Top P for response generation (0.0 to 1.0)" },
-    "userMessage": { "index": 36, "kind": "parameter", "displayName": "User 
Message", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Default user message 
text to use when no prompt is provided" },
-    "lazyStartProducer": { "index": 37, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
-    "oauthProfile": { "index": 38, "kind": "parameter", "displayName": "Oauth 
Profile", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "OAuth profile name for 
obtaining an access token via the OAuth 2.0 Client Cred [...]
-    "sslContextParameters": { "index": 39, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "SSLContextParameters to 
use [...]
-    "sslEndpointAlgorithm": { "index": 40, "kind": "parameter", "displayName": 
"Ssl Endpoint Algorithm", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "security": 
"insecure:ssl", "insecureValue": "none", "defaultValue": "https", 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", [...]
-    "sslKeymanagerAlgorithm": { "index": 41, "kind": "parameter", 
"displayName": "Ssl Keymanager Algorithm", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "SunX509", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The algorithm used by the key  [...]
-    "sslKeyPassword": { "index": 42, "kind": "parameter", "displayName": "Ssl 
Key Password", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, "security": 
"secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The password of the private key in the key 
store file" },
-    "sslKeystoreLocation": { "index": 43, "kind": "parameter", "displayName": 
"Ssl Keystore Location", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "The location of the key 
store file. This is optional and can be [...]
-    "sslKeystorePassword": { "index": 44, "kind": "parameter", "displayName": 
"Ssl Keystore Password", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, "security": 
"secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The store password for the key store file" },
-    "sslKeystoreType": { "index": 45, "kind": "parameter", "displayName": "Ssl 
Keystore Type", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"JKS", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The file format of the key store file" },
-    "sslProtocol": { "index": 46, "kind": "parameter", "displayName": "Ssl 
Protocol", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"TLSv1.3", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The SSL protocol used to generate the 
SSLContext" },
-    "sslTrustmanagerAlgorithm": { "index": 47, "kind": "parameter", 
"displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "PKIX", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The algorithm used by the tru [...]
-    "sslTruststoreLocation": { "index": 48, "kind": "parameter", 
"displayName": "Ssl Truststore Location", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The location of the trust store file, used to 
validate the  [...]
-    "sslTruststorePassword": { "index": 49, "kind": "parameter", 
"displayName": "Ssl Truststore Password", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The password for the trust store file. [...]
-    "sslTruststoreType": { "index": 50, "kind": "parameter", "displayName": 
"Ssl Truststore Type", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"JKS", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The file format of the trust store file" }
+    "maxHistoryMessages": { "index": 20, "kind": "parameter", "displayName": 
"Max History Messages", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 0, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "When conversationMemory 
is enabled, retain at most this many messa [...]
+    "maxHistoryTokens": { "index": 21, "kind": "parameter", "displayName": 
"Max History Tokens", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 0, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "When conversationMemory 
is enabled, trim conversation history using a  [...]
+    "maxRetries": { "index": 22, "kind": "parameter", "displayName": "Max 
Retries", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Maximum number of times the OpenAI SDK client 
retries failed requests. The SDK retr [...]
+    "maxTokens": { "index": 23, "kind": "parameter", "displayName": "Max 
Tokens", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Maximum number of tokens 
to generate" },
+    "maxToolIterations": { "index": 24, "kind": "parameter", "displayName": 
"Max Tool Iterations", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 50, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Maximum number of tool 
call loop iterations to prevent infinite loops" },
+    "mcpProtocolVersions": { "index": 25, "kind": "parameter", "displayName": 
"Mcp Protocol Versions", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Comma-separated list of 
MCP protocol versions to advertise when connect [...]
+    "mcpReconnect": { "index": 26, "kind": "parameter", "displayName": "Mcp 
Reconnect", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Automatically reconnect 
to MCP servers when a tool call fails due to a t [...]
+    "mcpServer": { "index": 27, "kind": "parameter", "displayName": "Mcp 
Server", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": 
"mcpServer.", "multiValue": true, "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "MCP (Model Cont [...]
+    "mcpTimeout": { "index": 28, "kind": "parameter", "displayName": "Mcp 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 20, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Timeout in seconds for MCP tool call requests. 
Applies to all MCP operations inclu [...]
+    "model": { "index": 29, "kind": "parameter", "displayName": "Model", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The model to use for chat completion" },
+    "outputClass": { "index": 30, "kind": "parameter", "displayName": "Output 
Class", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Fully qualified class name for structured 
output using response format" },
+    "requestTimeout": { "index": 31, "kind": "parameter", "displayName": 
"Request Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "HTTP request timeout in milliseconds for the 
OpenAI SDK client. When 0 or  [...]
+    "speechInstructions": { "index": 32, "kind": "parameter", "displayName": 
"Speech Instructions", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Optional instructions to 
control the voice of the generated audio. Does no [...]
+    "speechModel": { "index": 33, "kind": "parameter", "displayName": "Speech 
Model", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The model to use for text-to-speech (e.g., 
gpt-4o-mini-tts, tts-1, tts-1-hd)" },
+    "speechResponseFormat": { "index": 34, "kind": "parameter", "displayName": 
"Speech Response Format", "group": "producer", "label": "", "required": false, 
"type": "enum", "javaType": "java.lang.String", "enum": [ "mp3", "opus", "aac", 
"flac", "wav", "pcm" ], "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": "mp3", 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "descrip [...]
+    "speechSpeed": { "index": 35, "kind": "parameter", "displayName": "Speech 
Speed", "group": "producer", "label": "", "required": false, "type": "number", 
"javaType": "java.lang.Double", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The speed of the generated audio, from 0.25 to 
4.0 where 1.0 is normal speed" },
+    "speechVoice": { "index": 36, "kind": "parameter", "displayName": "Speech 
Voice", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": "alloy", 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "The voice to use for 
text-to-speech (e.g., alloy, echo, fable,  [...]
+    "storeFullResponse": { "index": 37, "kind": "parameter", "displayName": 
"Store Full Response", "group": "producer", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Store the full response in the exchange 
property 'CamelOpenA [...]
+    "streaming": { "index": 38, "kind": "parameter", "displayName": 
"Streaming", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Enable streaming 
responses" },
+    "stripThinking": { "index": 39, "kind": "parameter", "displayName": "Strip 
Thinking", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Strip ... blocks from 
model responses (used by reasoning models like  [...]
+    "systemMessage": { "index": 40, "kind": "parameter", "displayName": 
"System Message", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "System message to 
prepend. When set and conversationMemory is enabled, the conversat [...]
+    "temperature": { "index": 41, "kind": "parameter", "displayName": 
"Temperature", "group": "producer", "label": "", "required": false, "type": 
"number", "javaType": "java.lang.Double", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Temperature for response 
generation (0.0 to 2.0)" },
+    "topP": { "index": 42, "kind": "parameter", "displayName": "Top P", 
"group": "producer", "label": "", "required": false, "type": "number", 
"javaType": "java.lang.Double", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "Top P for response generation (0.0 to 1.0)" },
+    "userMessage": { "index": 43, "kind": "parameter", "displayName": "User 
Message", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "Default user message 
text to use when no prompt is provided" },
+    "lazyStartProducer": { "index": 44, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "oauthProfile": { "index": 45, "kind": "parameter", "displayName": "Oauth 
Profile", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "OAuth profile name for 
obtaining an access token via the OAuth 2.0 Client Cred [...]
+    "sslContextParameters": { "index": 46, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "SSLContextParameters to 
use [...]
+    "sslEndpointAlgorithm": { "index": 47, "kind": "parameter", "displayName": 
"Ssl Endpoint Algorithm", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "security": 
"insecure:ssl", "insecureValue": "none", "defaultValue": "https", 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", [...]
+    "sslKeymanagerAlgorithm": { "index": 48, "kind": "parameter", 
"displayName": "Ssl Keymanager Algorithm", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "SunX509", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The algorithm used by the key  [...]
+    "sslKeyPassword": { "index": 49, "kind": "parameter", "displayName": "Ssl 
Key Password", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, "security": 
"secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The password of the private key in the key 
store file" },
+    "sslKeystoreLocation": { "index": 50, "kind": "parameter", "displayName": 
"Ssl Keystore Location", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", 
"configurationField": "configuration", "description": "The location of the key 
store file. This is optional and can be [...]
+    "sslKeystorePassword": { "index": 51, "kind": "parameter", "displayName": 
"Ssl Keystore Password", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, "security": 
"secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The store password for the key store file" },
+    "sslKeystoreType": { "index": 52, "kind": "parameter", "displayName": "Ssl 
Keystore Type", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"JKS", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The file format of the key store file" },
+    "sslProtocol": { "index": 53, "kind": "parameter", "displayName": "Ssl 
Protocol", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"TLSv1.3", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The SSL protocol used to generate the 
SSLContext" },
+    "sslTrustmanagerAlgorithm": { "index": 54, "kind": "parameter", 
"displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "PKIX", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The algorithm used by the tru [...]
+    "sslTruststoreLocation": { "index": 55, "kind": "parameter", 
"displayName": "Ssl Truststore Location", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The location of the trust store file, used to 
validate the  [...]
+    "sslTruststorePassword": { "index": 56, "kind": "parameter", 
"displayName": "Ssl Truststore Password", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The password for the trust store file. [...]
+    "sslTruststoreType": { "index": 57, "kind": "parameter", "displayName": 
"Ssl Truststore Type", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"JKS", "configurationClass": 
"org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": 
"configuration", "description": "The file format of the trust store file" }
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opensearch.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opensearch.json
index 15f1f1f2982..3079992488d 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opensearch.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opensearch.json
@@ -32,13 +32,14 @@
     "autowiredEnabled": { "index": 5, "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 [...]
     "client": { "index": 6, "kind": "property", "displayName": "Client", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.opensearch.client.RestClient", "deprecated": false, 
"autowired": true, "secret": false, "description": "To use an existing 
configured OpenSearch client, instead of creating a client per endpoint. This 
allows customizing the client with specific settings." },
     "enableSniffer": { "index": 7, "kind": "property", "displayName": "Enable 
Sniffer", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Enable automatically 
discover nodes from a running OpenSearch cluster. If this option is used in 
conjunction with Spring Boot, then it's managed by the Spring Boot 
configuration (see: Disable Sniffer in S [...]
-    "sniffAfterFailureDelay": { "index": 8, "kind": "property", "displayName": 
"Sniff After Failure Delay", "group": "advanced", "label": "advanced", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 60000, "description": "The 
delay of a sniff execution scheduled after a failure (in milliseconds)" },
-    "snifferInterval": { "index": 9, "kind": "property", "displayName": 
"Sniffer Interval", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 300000, "description": "The interval 
between consecutive ordinary sniff executions in milliseconds. Will be honoured 
when sniffOnFailure is disabled or when there are no failures between 
consecutive sniff executions" },
-    "enableSSL": { "index": 10, "kind": "property", "displayName": "Enable 
SSL", "group": "security", "label": "security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Enable SSL" },
-    "password": { "index": 11, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "description": "Password for 
authenticating" },
-    "sslContextParameters": { "index": 12, "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": "To configure security 
using SSLContextParameters. When configured, this takes precedence over the 
certificatePath option." },
-    "useGlobalSslContextParameters": { "index": 13, "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." },
-    "user": { "index": 14, "kind": "property", "displayName": "User", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "description": "Basic authenticate user" }
+    "openSearchClient": { "index": 8, "kind": "property", "displayName": "Open 
Search Client", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.opensearch.client.opensearch.OpenSearchClient", "deprecated": false, 
"autowired": true, "secret": false, "description": "To use a custom configured 
OpenSearchClient instance. When set, this takes precedence over the 
RestClient-based client option." },
+    "sniffAfterFailureDelay": { "index": 9, "kind": "property", "displayName": 
"Sniff After Failure Delay", "group": "advanced", "label": "advanced", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 60000, "description": "The 
delay of a sniff execution scheduled after a failure (in milliseconds)" },
+    "snifferInterval": { "index": 10, "kind": "property", "displayName": 
"Sniffer Interval", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 300000, "description": "The interval 
between consecutive ordinary sniff executions in milliseconds. Will be honoured 
when sniffOnFailure is disabled or when there are no failures between 
consecutive sniff executions" },
+    "enableSSL": { "index": 11, "kind": "property", "displayName": "Enable 
SSL", "group": "security", "label": "security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Enable SSL" },
+    "password": { "index": 12, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "description": "Password for 
authenticating" },
+    "sslContextParameters": { "index": 13, "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": "To configure security 
using SSLContextParameters. When configured, this takes precedence over the 
certificatePath option." },
+    "useGlobalSslContextParameters": { "index": 14, "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." },
+    "user": { "index": 15, "kind": "property", "displayName": "User", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "description": "Basic authenticate user" }
   },
   "headers": {
     "CamelOpensearchOperation": { "index": 0, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": 
"org.apache.camel.component.opensearch.OpensearchOperation", "enum": [ "Index", 
"Update", "Bulk", "GetById", "MultiGet", "MultiSearch", "Delete", 
"DeleteIndex", "Search", "Exists", "Ping" ], "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
operation to perform", "constantName": "org.apache.c [...]
diff --git a/components-starter/camel-core-starter/src/main/docs/core.json 
b/components-starter/camel-core-starter/src/main/docs/core.json
index e2822408ca6..62c99ea3fd3 100644
--- a/components-starter/camel-core-starter/src/main/docs/core.json
+++ b/components-starter/camel-core-starter/src/main/docs/core.json
@@ -611,6 +611,13 @@
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
       "defaultValue": false
     },
+    {
+      "name": "camel.resilience4j.bulkhead-fair-call-handling-enabled",
+      "type": "java.lang.Boolean",
+      "description": "Configures whether the bulkhead uses a fair calling 
strategy. When enabled (default), a fair strategy guarantees the order of 
incoming requests (FIFO). When disabled, no ordering is guaranteed and may 
improve throughput.",
+      "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
+      "defaultValue": true
+    },
     {
       "name": "camel.resilience4j.bulkhead-max-concurrent-calls",
       "type": "java.lang.Integer",
@@ -620,10 +627,10 @@
     },
     {
       "name": "camel.resilience4j.bulkhead-max-wait-duration",
-      "type": "java.lang.Integer",
-      "description": "Configures a maximum amount of time which the calling 
thread will wait to enter the bulkhead.",
+      "type": "java.lang.String",
+      "description": "Configures a maximum amount of time which the calling 
thread will wait to enter the bulkhead. The default is 0 (no waiting).",
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
-      "defaultValue": 0
+      "defaultValue": "0"
     },
     {
       "name": "camel.resilience4j.circuit-breaker",
@@ -662,10 +669,17 @@
       "description": "Configure a list of exceptions that are ignored and 
neither count as a failure nor success. Any exception matching or inheriting 
from one of the list will not count as a failure nor success, even if the 
exception is part of recordExceptions.",
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties"
     },
+    {
+      "name": "camel.resilience4j.max-wait-duration-in-half-open-state",
+      "type": "java.lang.String",
+      "description": "Configures the maximum wait duration which controls how 
long the CircuitBreaker should stay in Half Open state, before it switches to 
open. Value 0 means circuit breaker will wait in half open state until all 
permitted calls have been completed.",
+      "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
+      "defaultValue": "0"
+    },
     {
       "name": "camel.resilience4j.micrometer-enabled",
       "type": "java.lang.Boolean",
-      "description": "Whether to enable collecting statistics using 
Micrometer. This requires adding camel-resilience4j-micrometer JAR to the 
classpath.",
+      "description": "Whether to enable collecting statistics using Micrometer 
for all circuit breaker instances. This is a global setting (configure via 
camel.resilience4j.micrometerEnabled=true) and requires adding 
camel-resilience4j-micrometer JAR to the classpath.",
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
       "defaultValue": false
     },
@@ -696,6 +710,13 @@
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
       "defaultValue": 100
     },
+    {
+      "name": "camel.resilience4j.sliding-window-synchronization-strategy",
+      "type": "java.lang.String",
+      "description": "Configures the synchronization strategy for the sliding 
window. LOCK_FREE uses a CAS-based lock-free algorithm for better performance 
under high concurrency. SYNCHRONIZED uses blocking locks with lower memory 
allocation.",
+      "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
+      "defaultValue": "SYNCHRONIZED"
+    },
     {
       "name": "camel.resilience4j.sliding-window-type",
       "type": "java.lang.String",
@@ -705,10 +726,10 @@
     },
     {
       "name": "camel.resilience4j.slow-call-duration-threshold",
-      "type": "java.lang.Integer",
-      "description": "Configures the duration threshold (seconds) above which 
calls are considered as slow and increase the slow calls percentage.",
+      "type": "java.lang.String",
+      "description": "Configures the duration threshold above which calls are 
considered as slow and increase the slow calls percentage. The default is 60 
seconds.",
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
-      "defaultValue": 60
+      "defaultValue": "60000"
     },
     {
       "name": "camel.resilience4j.slow-call-rate-threshold",
@@ -732,10 +753,10 @@
     },
     {
       "name": "camel.resilience4j.timeout-duration",
-      "type": "java.lang.Integer",
+      "type": "java.lang.String",
       "description": "Configures the thread execution timeout. Default value 
is 1 second.",
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
-      "defaultValue": 1000
+      "defaultValue": "1000"
     },
     {
       "name": "camel.resilience4j.timeout-enabled",
@@ -752,10 +773,10 @@
     },
     {
       "name": "camel.resilience4j.wait-duration-in-open-state",
-      "type": "java.lang.Integer",
-      "description": "Configures the wait duration (in seconds) which 
specifies how long the CircuitBreaker should stay open, before it switches to 
half open.",
+      "type": "java.lang.String",
+      "description": "Configures the wait duration which specifies how long 
the CircuitBreaker should stay open, before it switches to half open. The 
default is 60 seconds.",
       "sourceType": 
"org.apache.camel.model.springboot.Resilience4jConfigurationDefinitionProperties",
-      "defaultValue": 60
+      "defaultValue": "60000"
     },
     {
       "name": "camel.resilience4j.writable-stack-trace-enabled",
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/springboot/Resilience4jConfigurationDefinitionCommon.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/springboot/Resilience4jConfigurationDefinitionCommon.java
index a40f34f47e8..b6ce160426a 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/springboot/Resilience4jConfigurationDefinitionCommon.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/springboot/Resilience4jConfigurationDefinitionCommon.java
@@ -69,6 +69,13 @@ public class Resilience4jConfigurationDefinitionCommon {
      * either be count-based or time-based.
      */
     private String slidingWindowType = "COUNT_BASED";
+    /**
+     * Configures the synchronization strategy for the sliding window. 
LOCK_FREE
+     * uses a CAS-based lock-free algorithm for better performance under high
+     * concurrency. SYNCHRONIZED uses blocking locks with lower memory
+     * allocation.
+     */
+    private String slidingWindowSynchronizationStrategy = "SYNCHRONIZED";
     /**
      * Configures the minimum number of calls which are required (per sliding
      * window period) before the CircuitBreaker can calculate the error rate.
@@ -81,15 +88,23 @@ public class Resilience4jConfigurationDefinitionCommon {
      */
     private Boolean writableStackTraceEnabled = true;
     /**
-     * Configures the wait duration (in seconds) which specifies how long the
-     * CircuitBreaker should stay open, before it switches to half open.
+     * Configures the wait duration which specifies how long the CircuitBreaker
+     * should stay open, before it switches to half open. The default is 60
+     * seconds.
      */
-    private Integer waitDurationInOpenState = 60;
+    private String waitDurationInOpenState = "60000";
     /**
      * Enables automatic transition from OPEN to HALF_OPEN state once the
      * waitDurationInOpenState has passed.
      */
     private Boolean automaticTransitionFromOpenToHalfOpenEnabled = false;
+    /**
+     * Configures the maximum wait duration which controls how long the
+     * CircuitBreaker should stay in Half Open state, before it switches to
+     * open. Value 0 means circuit breaker will wait in half open state until
+     * all permitted calls have been completed.
+     */
+    private String maxWaitDurationInHalfOpenState = "0";
     /**
      * Configures a threshold in percentage. The CircuitBreaker considers a 
call
      * as slow when the call duration is greater than 
slowCallDurationThreshold.
@@ -98,10 +113,10 @@ public class Resilience4jConfigurationDefinitionCommon {
      */
     private Float slowCallRateThreshold;
     /**
-     * Configures the duration threshold (seconds) above which calls are
-     * considered as slow and increase the slow calls percentage.
+     * Configures the duration threshold above which calls are considered as
+     * slow and increase the slow calls percentage. The default is 60 seconds.
      */
-    private Integer slowCallDurationThreshold = 60;
+    private String slowCallDurationThreshold = "60000";
     /**
      * Whether bulkhead is enabled or not on the circuit breaker.
      */
@@ -112,9 +127,16 @@ public class Resilience4jConfigurationDefinitionCommon {
     private Integer bulkheadMaxConcurrentCalls = 25;
     /**
      * Configures a maximum amount of time which the calling thread will wait 
to
-     * enter the bulkhead.
+     * enter the bulkhead. The default is 0 (no waiting).
      */
-    private Integer bulkheadMaxWaitDuration = 0;
+    private String bulkheadMaxWaitDuration = "0";
+    /**
+     * Configures whether the bulkhead uses a fair calling strategy. When
+     * enabled (default), a fair strategy guarantees the order of incoming
+     * requests (FIFO). When disabled, no ordering is guaranteed and may 
improve
+     * throughput.
+     */
+    private Boolean bulkheadFairCallHandlingEnabled = true;
     /**
      * Whether timeout is enabled or not on the circuit breaker.
      */
@@ -127,15 +149,17 @@ public class Resilience4jConfigurationDefinitionCommon {
     /**
      * Configures the thread execution timeout. Default value is 1 second.
      */
-    private Integer timeoutDuration = 1000;
+    private String timeoutDuration = "1000";
     /**
      * Configures whether cancel is called on the running future. Defaults to
      * true.
      */
     private Boolean timeoutCancelRunningFuture = true;
     /**
-     * Whether to enable collecting statistics using Micrometer. This requires
-     * adding camel-resilience4j-micrometer JAR to the classpath.
+     * Whether to enable collecting statistics using Micrometer for all circuit
+     * breaker instances. This is a global setting (configure via
+     * camel.resilience4j.micrometerEnabled=true) and requires adding
+     * camel-resilience4j-micrometer JAR to the classpath.
      */
     private Boolean micrometerEnabled = false;
     /**
@@ -211,6 +235,15 @@ public class Resilience4jConfigurationDefinitionCommon {
         this.slidingWindowType = slidingWindowType;
     }
 
+    public String getSlidingWindowSynchronizationStrategy() {
+        return slidingWindowSynchronizationStrategy;
+    }
+
+    public void setSlidingWindowSynchronizationStrategy(
+            String slidingWindowSynchronizationStrategy) {
+        this.slidingWindowSynchronizationStrategy = 
slidingWindowSynchronizationStrategy;
+    }
+
     public Integer getMinimumNumberOfCalls() {
         return minimumNumberOfCalls;
     }
@@ -227,11 +260,11 @@ public class Resilience4jConfigurationDefinitionCommon {
         this.writableStackTraceEnabled = writableStackTraceEnabled;
     }
 
-    public Integer getWaitDurationInOpenState() {
+    public String getWaitDurationInOpenState() {
         return waitDurationInOpenState;
     }
 
-    public void setWaitDurationInOpenState(Integer waitDurationInOpenState) {
+    public void setWaitDurationInOpenState(String waitDurationInOpenState) {
         this.waitDurationInOpenState = waitDurationInOpenState;
     }
 
@@ -244,6 +277,15 @@ public class Resilience4jConfigurationDefinitionCommon {
         this.automaticTransitionFromOpenToHalfOpenEnabled = 
automaticTransitionFromOpenToHalfOpenEnabled;
     }
 
+    public String getMaxWaitDurationInHalfOpenState() {
+        return maxWaitDurationInHalfOpenState;
+    }
+
+    public void setMaxWaitDurationInHalfOpenState(
+            String maxWaitDurationInHalfOpenState) {
+        this.maxWaitDurationInHalfOpenState = maxWaitDurationInHalfOpenState;
+    }
+
     public Float getSlowCallRateThreshold() {
         return slowCallRateThreshold;
     }
@@ -252,11 +294,11 @@ public class Resilience4jConfigurationDefinitionCommon {
         this.slowCallRateThreshold = slowCallRateThreshold;
     }
 
-    public Integer getSlowCallDurationThreshold() {
+    public String getSlowCallDurationThreshold() {
         return slowCallDurationThreshold;
     }
 
-    public void setSlowCallDurationThreshold(Integer 
slowCallDurationThreshold) {
+    public void setSlowCallDurationThreshold(String slowCallDurationThreshold) 
{
         this.slowCallDurationThreshold = slowCallDurationThreshold;
     }
 
@@ -276,14 +318,23 @@ public class Resilience4jConfigurationDefinitionCommon {
         this.bulkheadMaxConcurrentCalls = bulkheadMaxConcurrentCalls;
     }
 
-    public Integer getBulkheadMaxWaitDuration() {
+    public String getBulkheadMaxWaitDuration() {
         return bulkheadMaxWaitDuration;
     }
 
-    public void setBulkheadMaxWaitDuration(Integer bulkheadMaxWaitDuration) {
+    public void setBulkheadMaxWaitDuration(String bulkheadMaxWaitDuration) {
         this.bulkheadMaxWaitDuration = bulkheadMaxWaitDuration;
     }
 
+    public Boolean getBulkheadFairCallHandlingEnabled() {
+        return bulkheadFairCallHandlingEnabled;
+    }
+
+    public void setBulkheadFairCallHandlingEnabled(
+            Boolean bulkheadFairCallHandlingEnabled) {
+        this.bulkheadFairCallHandlingEnabled = bulkheadFairCallHandlingEnabled;
+    }
+
     public Boolean getTimeoutEnabled() {
         return timeoutEnabled;
     }
@@ -300,11 +351,11 @@ public class Resilience4jConfigurationDefinitionCommon {
         this.timeoutExecutorService = timeoutExecutorService;
     }
 
-    public Integer getTimeoutDuration() {
+    public String getTimeoutDuration() {
         return timeoutDuration;
     }
 
-    public void setTimeoutDuration(Integer timeoutDuration) {
+    public void setTimeoutDuration(String timeoutDuration) {
         this.timeoutDuration = timeoutDuration;
     }
 
diff --git 
a/components-starter/camel-openai-starter/src/main/java/org/apache/camel/component/openai/springboot/OpenAIComponentConfiguration.java
 
b/components-starter/camel-openai-starter/src/main/java/org/apache/camel/component/openai/springboot/OpenAIComponentConfiguration.java
index 8a7c84bd2d7..918d23745f1 100644
--- 
a/components-starter/camel-openai-starter/src/main/java/org/apache/camel/component/openai/springboot/OpenAIComponentConfiguration.java
+++ 
b/components-starter/camel-openai-starter/src/main/java/org/apache/camel/component/openai/springboot/OpenAIComponentConfiguration.java
@@ -20,7 +20,8 @@ import 
org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
- * OpenAI endpoint for chat completion, embeddings, and audio transcription.
+ * OpenAI endpoint for chat completion, embeddings, audio transcription, audio
+ * translation, and text-to-speech.
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
diff --git 
a/components-starter/camel-opensearch-starter/src/main/docs/opensearch.json 
b/components-starter/camel-opensearch-starter/src/main/docs/opensearch.json
index 2b78a3eaade..21a2c12198c 100644
--- a/components-starter/camel-opensearch-starter/src/main/docs/opensearch.json
+++ b/components-starter/camel-opensearch-starter/src/main/docs/opensearch.json
@@ -78,6 +78,12 @@
       "sourceType": 
"org.apache.camel.component.opensearch.springboot.OpensearchComponentConfiguration",
       "defaultValue": 30000
     },
+    {
+      "name": "camel.component.opensearch.open-search-client",
+      "type": "org.opensearch.client.opensearch.OpenSearchClient",
+      "description": "To use a custom configured OpenSearchClient instance. 
When set, this takes precedence over the RestClient-based client option. The 
option is a org.opensearch.client.opensearch.OpenSearchClient type.",
+      "sourceType": 
"org.apache.camel.component.opensearch.springboot.OpensearchComponentConfiguration"
+    },
     {
       "name": "camel.component.opensearch.password",
       "type": "java.lang.String",
diff --git 
a/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConfiguration.java
 
b/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConfiguration.java
index c8a533f749e..bd3018ab5e3 100644
--- 
a/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConfiguration.java
+++ 
b/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.opensearch.springboot;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.apache.camel.support.jsse.SSLContextParameters;
 import org.opensearch.client.RestClient;
+import org.opensearch.client.opensearch.OpenSearchClient;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
@@ -86,6 +87,12 @@ public class OpensearchComponentConfiguration
      * the Spring Boot configuration (see: Disable Sniffer in Spring Boot).
      */
     private Boolean enableSniffer = false;
+    /**
+     * To use a custom configured OpenSearchClient instance. When set, this
+     * takes precedence over the RestClient-based client option. The option is 
a
+     * org.opensearch.client.opensearch.OpenSearchClient type.
+     */
+    private OpenSearchClient openSearchClient;
     /**
      * The delay of a sniff execution scheduled after a failure (in
      * milliseconds)
@@ -184,6 +191,14 @@ public class OpensearchComponentConfiguration
         this.enableSniffer = enableSniffer;
     }
 
+    public OpenSearchClient getOpenSearchClient() {
+        return openSearchClient;
+    }
+
+    public void setOpenSearchClient(OpenSearchClient openSearchClient) {
+        this.openSearchClient = openSearchClient;
+    }
+
     public Integer getSniffAfterFailureDelay() {
         return sniffAfterFailureDelay;
     }
diff --git 
a/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConverter.java
 
b/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConverter.java
index 1089d34d9c5..00292ec3437 100644
--- 
a/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConverter.java
+++ 
b/components-starter/camel-opensearch-starter/src/main/java/org/apache/camel/component/opensearch/springboot/OpensearchComponentConverter.java
@@ -40,6 +40,7 @@ public class OpensearchComponentConverter implements 
GenericConverter {
     public Set<ConvertiblePair> getConvertibleTypes() {
         Set<ConvertiblePair> answer = new LinkedHashSet<>();
         answer.add(new ConvertiblePair(String.class, 
org.opensearch.client.RestClient.class));
+        answer.add(new ConvertiblePair(String.class, 
org.opensearch.client.opensearch.OpenSearchClient.class));
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.support.jsse.SSLContextParameters.class));
         return answer;
     }
@@ -58,6 +59,7 @@ public class OpensearchComponentConverter implements 
GenericConverter {
         ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
         switch (targetType.getName()) {
             case "org.opensearch.client.RestClient": return 
applicationContext.getBean(ref, org.opensearch.client.RestClient.class);
+            case "org.opensearch.client.opensearch.OpenSearchClient": return 
applicationContext.getBean(ref, 
org.opensearch.client.opensearch.OpenSearchClient.class);
             case "org.apache.camel.support.jsse.SSLContextParameters": return 
applicationContext.getBean(ref, 
org.apache.camel.support.jsse.SSLContextParameters.class);
         }
         return null;
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/core.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/core.adoc
index 6f57d716bbb..784740a54a1 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/core.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/core.adoc
@@ -15,7 +15,7 @@
 
 == Spring Boot Auto-Configuration
 
-The starter supports 123 options, which are listed below.
+The starter supports 126 options, which are listed below.
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
@@ -89,28 +89,31 @@ The starter supports 123 options, which are listed below.
 | camel.language.variable.trim | Whether to trim the source code to remove 
leading and trailing whitespaces and line breaks. | true | Boolean
 | camel.resilience4j.automatic-transition-from-open-to-half-open-enabled | 
Enables automatic transition from OPEN to HALF_OPEN state once the 
waitDurationInOpenState has passed. | false | Boolean
 | camel.resilience4j.bulkhead-enabled | Whether bulkhead is enabled or not on 
the circuit breaker. | false | Boolean
+| camel.resilience4j.bulkhead-fair-call-handling-enabled | Configures whether 
the bulkhead uses a fair calling strategy. When enabled (default), a fair 
strategy guarantees the order of incoming requests (FIFO). When disabled, no 
ordering is guaranteed and may improve throughput. | true | Boolean
 | camel.resilience4j.bulkhead-max-concurrent-calls | Configures the max amount 
of concurrent calls the bulkhead will support. | 25 | Integer
-| camel.resilience4j.bulkhead-max-wait-duration | Configures a maximum amount 
of time which the calling thread will wait to enter the bulkhead. | 0 | Integer
+| camel.resilience4j.bulkhead-max-wait-duration | Configures a maximum amount 
of time which the calling thread will wait to enter the bulkhead. The default 
is 0 (no waiting). | 0 | String
 | camel.resilience4j.circuit-breaker | Refers to an existing 
io.github.resilience4j.circuitbreaker.CircuitBreaker instance to lookup and use 
from the registry. When using this, then any other circuit breaker options are 
not in use. |  | String
 | camel.resilience4j.config | Refers to an existing 
io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to lookup 
and use from the registry. |  | String
 | camel.resilience4j.configurations | Define additional configuration 
definitions |  | Resilience4jConfigurationDefinitionCommon>
 | camel.resilience4j.enabled | Enable the component | true | Boolean
 | camel.resilience4j.failure-rate-threshold | Configures the failure rate 
threshold in percentage. If the failure rate is equal or greater than the 
threshold the CircuitBreaker transitions to open and starts short-circuiting 
calls. |  | Float
 | camel.resilience4j.ignore-exception | Configure a list of exceptions that 
are ignored and neither count as a failure nor success. Any exception matching 
or inheriting from one of the list will not count as a failure nor success, 
even if the exception is part of recordExceptions. |  | String>
-| camel.resilience4j.micrometer-enabled | Whether to enable collecting 
statistics using Micrometer. This requires adding camel-resilience4j-micrometer 
JAR to the classpath. | false | Boolean
+| camel.resilience4j.max-wait-duration-in-half-open-state | Configures the 
maximum wait duration which controls how long the CircuitBreaker should stay in 
Half Open state, before it switches to open. Value 0 means circuit breaker will 
wait in half open state until all permitted calls have been completed. | 0 | 
String
+| camel.resilience4j.micrometer-enabled | Whether to enable collecting 
statistics using Micrometer for all circuit breaker instances. This is a global 
setting (configure via camel.resilience4j.micrometerEnabled=true) and requires 
adding camel-resilience4j-micrometer JAR to the classpath. | false | Boolean
 | camel.resilience4j.minimum-number-of-calls | Configures the minimum number 
of calls which are required (per sliding window period) before the 
CircuitBreaker can calculate the error rate. | 100 | Integer
 | camel.resilience4j.permitted-number-of-calls-in-half-open-state | Configures 
the number of permitted calls when the CircuitBreaker is half open. | 10 | 
Integer
 | camel.resilience4j.record-exception | Configure a list of exceptions that 
are recorded as a failure and thus increase the failure rate. Any exception 
matching or inheriting from one of the list counts as a failure, unless 
explicitly ignored via ignoreExceptions. |  | String>
 | camel.resilience4j.sliding-window-size | Configures the size of the sliding 
window which is used to record the outcome of calls when the CircuitBreaker is 
closed. Sliding window can either be count-based or time-based. | 100 | Integer
+| camel.resilience4j.sliding-window-synchronization-strategy | Configures the 
synchronization strategy for the sliding window. LOCK_FREE uses a CAS-based 
lock-free algorithm for better performance under high concurrency. SYNCHRONIZED 
uses blocking locks with lower memory allocation. | SYNCHRONIZED | String
 | camel.resilience4j.sliding-window-type | Configures the type of the sliding 
window which is used to record the outcome of calls when the CircuitBreaker is 
closed. Sliding window can either be count-based or time-based. | COUNT_BASED | 
String
-| camel.resilience4j.slow-call-duration-threshold | Configures the duration 
threshold (seconds) above which calls are considered as slow and increase the 
slow calls percentage. | 60 | Integer
+| camel.resilience4j.slow-call-duration-threshold | Configures the duration 
threshold above which calls are considered as slow and increase the slow calls 
percentage. The default is 60 seconds. | 60000 | String
 | camel.resilience4j.slow-call-rate-threshold | Configures a threshold in 
percentage. The CircuitBreaker considers a call as slow when the call duration 
is greater than slowCallDurationThreshold. When the percentage of slow calls is 
equal or greater the threshold, the CircuitBreaker transitions to open and 
starts short-circuiting calls. |  | Float
 | camel.resilience4j.throw-exception-when-half-open-or-open-state | Whether to 
throw io.github.resilience4j.circuitbreaker.CallNotPermittedException when the 
call is rejected because the circuit breaker is half open or open. | false | 
Boolean
 | camel.resilience4j.timeout-cancel-running-future | Configures whether cancel 
is called on the running future. Defaults to true. | true | Boolean
-| camel.resilience4j.timeout-duration | Configures the thread execution 
timeout. Default value is 1 second. | 1000 | Integer
+| camel.resilience4j.timeout-duration | Configures the thread execution 
timeout. Default value is 1 second. | 1000 | String
 | camel.resilience4j.timeout-enabled | Whether timeout is enabled or not on 
the circuit breaker. | false | Boolean
 | camel.resilience4j.timeout-executor-service | References to a custom thread 
pool to use when timeout is enabled (uses ForkJoinPool.commonPool() by 
default). |  | ExecutorService
-| camel.resilience4j.wait-duration-in-open-state | Configures the wait 
duration (in seconds) which specifies how long the CircuitBreaker should stay 
open, before it switches to half open. | 60 | Integer
+| camel.resilience4j.wait-duration-in-open-state | Configures the wait 
duration which specifies how long the CircuitBreaker should stay open, before 
it switches to half open. The default is 60 seconds. | 60000 | String
 | camel.resilience4j.writable-stack-trace-enabled | Enables writable stack 
traces. When set to false, Exception.getStackTrace returns a zero length array. 
This may be used to reduce log spam when the circuit breaker is open. | true | 
Boolean
 | camel.rest.api-component | The name of the Camel component to use as the 
REST API (such as OpenApi). |  | String
 | camel.rest.api-context-path | Sets a leading context-path the REST API will 
be using. |  | String
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/openai.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/openai.adoc
index ea2060edabf..e10d2182e60 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/openai.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/openai.adoc
@@ -3,7 +3,7 @@
 = OpenAI
 :artifactid: camel-openai-starter
 
-OpenAI endpoint for chat completion, embeddings, and audio transcription.
+OpenAI endpoint for chat completion, embeddings, audio transcription, audio 
translation, and text-to-speech.
 
 == What's inside
 
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/opensearch.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/opensearch.adoc
index dca8e0554c0..03012d4aaf9 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/opensearch.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/opensearch.adoc
@@ -23,7 +23,7 @@ Please refer to the above links for usage and configuration 
details.
 
 == Spring Boot Auto-Configuration
 
-The starter supports 16 options, which are listed below.
+The starter supports 17 options, which are listed below.
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
@@ -37,6 +37,7 @@ The starter supports 16 options, which are listed below.
 | camel.component.opensearch.host-addresses | Comma separated list with 
ip:port formatted remote transport addresses to use. The ip and port options 
must be left blank for hostAddresses to be considered instead. |  | String
 | camel.component.opensearch.lazy-start-producer | Whether the producer should 
be started lazy (on the first message). By starting lazy you can use this to 
allow CamelContext and routes to startup in situations where a producer may 
otherwise fail during starting and cause the route to fail being started. By 
deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
the first message is processed t [...]
 | camel.component.opensearch.max-retry-timeout | The time in ms before retry | 
30000 | Integer
+| camel.component.opensearch.open-search-client | To use a custom configured 
OpenSearchClient instance. When set, this takes precedence over the 
RestClient-based client option. The option is a 
org.opensearch.client.opensearch.OpenSearchClient type. |  | OpenSearchClient
 | camel.component.opensearch.password | Password for authenticating |  | String
 | camel.component.opensearch.sniff-after-failure-delay | The delay of a sniff 
execution scheduled after a failure (in milliseconds) | 60000 | Integer
 | camel.component.opensearch.sniffer-interval | The interval between 
consecutive ordinary sniff executions in milliseconds. Will be honoured when 
sniffOnFailure is disabled or when there are no failures between consecutive 
sniff executions | 300000 | Integer

Reply via email to