diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json index 8afc3a81a688..91d3c6d5c885 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ai-tool.json @@ -37,10 +37,11 @@ "parameters": { "index": 10, "kind": "property", "displayName": "Parameters", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "parameter.", "multiValue": true, "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Tool input parameters. Format: parameter.NAME=TYPE, parameter.NAME.description=TEXT, parameter.NAME.required=true or false, parameter.NAME.enum=val1,val2. Supported types: string, integer, number, boolean. Mutually exclusive with argSchema. This is a multi-value option with prefix: parameter." }, "readOnlyHint": { "index": 11, "kind": "property", "displayName": "Read Only Hint", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "MCP hint that the tool only reads data and does not modify state. Advisory for MCP clients; not enforced by Camel." }, "returnDirect": { "index": 12, "kind": "property", "displayName": "Return Direct", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "When true, AI producers that support agentic tool loops (such as camel-openai) return this tool's result directly to the caller without sending it back to the model. Also published as an MCP tool annotation when the tool is exposed via camel-mcp-server." }, - "tags": { "index": 13, "kind": "property", "displayName": "Tags", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Comma-separated list of tags used to group tools. Producers filter the registry by these tags to select which tools to expose to the LLM. When omitted, the tool goes into a default pool available to all producers." }, - "title": { "index": 14, "kind": "property", "displayName": "Title", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Optional display title for MCP tool listings. Advisory hint for MCP clients only." }, - "autowiredEnabled": { "index": 15, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, - "authorizationPolicy": { "index": 16, "kind": "property", "displayName": "Authorization Policy", "group": "security", "label": "consumer,security", "required": false, "type": "object", "javaType": "org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Reference to an org.apache.camel.spi.AuthorizationPolicy used to authorize tool calls before the route runs. Set it on the component to guard every tool route by construction, or per endpoint to override. The policy authorizes on trustworthy input only: the tool name comes from the route (never from model output), and the caller identity is carried as an exchange property set before the agent ran (for example by camel-spiffe or camel-keycloak), which the model cannot set. Authorize on exchange properties or validated tokens only, never on message headers (on a tool route the headers carry the model-controlled tool arguments). A denied call surfaces to the model as a short refusal rather than a stack trace." } + "searchable": { "index": 13, "kind": "property", "displayName": "Searchable", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "When true, this route tool is eligible for tool search and is omitted from the initial model request while the producer has tool search enabled. When false, the tool stays directly visible to the model. Searchability is a visibility policy, not an authorization policy, and has no effect when tool search is disabled." }, + "tags": { "index": 14, "kind": "property", "displayName": "Tags", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Comma-separated list of tags used to group tools. Producers filter the registry by these tags to select which tools to expose to the LLM. When omitted, the tool goes into a default pool available to all producers." }, + "title": { "index": 15, "kind": "property", "displayName": "Title", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Optional display title for MCP tool listings. Advisory hint for MCP clients only." }, + "autowiredEnabled": { "index": 16, "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, + "authorizationPolicy": { "index": 17, "kind": "property", "displayName": "Authorization Policy", "group": "security", "label": "consumer,security", "required": false, "type": "object", "javaType": "org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Reference to an org.apache.camel.spi.AuthorizationPolicy used to authorize tool calls before the route runs. Set it on the component to guard every tool route by construction, or per endpoint to override. The policy authorizes on trustworthy input only: the tool name comes from the route (never from model output), and the caller identity is carried as an exchange property set before the agent ran (for example by camel-spiffe or camel-keycloak), which the model cannot set. Authorize on exchange properties or validated tokens only, never on message headers (on a tool route the headers carry the model-controlled tool arguments). A denied call surfaces to the model as a short refusal rather than a stack trace." } }, "headers": { "CamelAiToolCallId": { "index": 0, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The tool invocation identifier supplied by the calling framework. Absent when the framework does not supply one.", "constantName": "org.apache.camel.component.ai.tool.AiToolConstants#TOOL_CALL_ID" }, @@ -63,11 +64,12 @@ "parameters": { "index": 9, "kind": "parameter", "displayName": "Parameters", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "parameter.", "multiValue": true, "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Tool input parameters. Format: parameter.NAME=TYPE, parameter.NAME.description=TEXT, parameter.NAME.required=true or false, parameter.NAME.enum=val1,val2. Supported types: string, integer, number, boolean. Mutually exclusive with argSchema. This is a multi-value option with prefix: parameter." }, "readOnlyHint": { "index": 10, "kind": "parameter", "displayName": "Read Only Hint", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "MCP hint that the tool only reads data and does not modify state. Advisory for MCP clients; not enforced by Camel." }, "returnDirect": { "index": 11, "kind": "parameter", "displayName": "Return Direct", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "When true, AI producers that support agentic tool loops (such as camel-openai) return this tool's result directly to the caller without sending it back to the model. Also published as an MCP tool annotation when the tool is exposed via camel-mcp-server." }, - "tags": { "index": 12, "kind": "parameter", "displayName": "Tags", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Comma-separated list of tags used to group tools. Producers filter the registry by these tags to select which tools to expose to the LLM. When omitted, the tool goes into a default pool available to all producers." }, - "title": { "index": 13, "kind": "parameter", "displayName": "Title", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Optional display title for MCP tool listings. Advisory hint for MCP clients only." }, - "bridgeErrorHandler": { "index": 14, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, - "exceptionHandler": { "index": 15, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, - "exchangePattern": { "index": 16, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, - "authorizationPolicy": { "index": 17, "kind": "parameter", "displayName": "Authorization Policy", "group": "security", "label": "consumer,security", "required": false, "type": "object", "javaType": "org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Reference to an org.apache.camel.spi.AuthorizationPolicy used to authorize tool calls before the route runs. Set it on the component to guard every tool route by construction, or per endpoint to override. The policy authorizes on trustworthy input only: the tool name comes from the route (never from model output), and the caller identity is carried as an exchange property set before the agent ran (for example by camel-spiffe or camel-keycloak), which the model cannot set. Authorize on exchange properties or validated tokens only, never on message headers (on a tool route the headers carry the model-controlled tool arguments). A denied call surfaces to the model as a short refusal rather than a stack trace." } + "searchable": { "index": 12, "kind": "parameter", "displayName": "Searchable", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "When true, this route tool is eligible for tool search and is omitted from the initial model request while the producer has tool search enabled. When false, the tool stays directly visible to the model. Searchability is a visibility policy, not an authorization policy, and has no effect when tool search is disabled." }, + "tags": { "index": 13, "kind": "parameter", "displayName": "Tags", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Comma-separated list of tags used to group tools. Producers filter the registry by these tags to select which tools to expose to the LLM. When omitted, the tool goes into a default pool available to all producers." }, + "title": { "index": 14, "kind": "parameter", "displayName": "Title", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Optional display title for MCP tool listings. Advisory hint for MCP clients only." }, + "bridgeErrorHandler": { "index": 15, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, + "exceptionHandler": { "index": 16, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, + "exchangePattern": { "index": 17, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "authorizationPolicy": { "index": 18, "kind": "parameter", "displayName": "Authorization Policy", "group": "security", "label": "consumer,security", "required": false, "type": "object", "javaType": "org.apache.camel.spi.AuthorizationPolicy", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.ai.tool.AiToolConfiguration", "configurationField": "configuration", "description": "Reference to an org.apache.camel.spi.AuthorizationPolicy used to authorize tool calls before the route runs. Set it on the component to guard every tool route by construction, or per endpoint to override. The policy authorizes on trustworthy input only: the tool name comes from the route (never from model output), and the caller identity is carried as an exchange property set before the agent ran (for example by camel-spiffe or camel-keycloak), which the model cannot set. Authorize on exchange properties or validated tokens only, never on message headers (on a tool route the headers carry the model-controlled tool arguments). A denied call surfaces to the model as a short refusal rather than a stack trace." } } } diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-polly.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-polly.json index cb45e27a8783..08aeafd5f284 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-polly.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-polly.json @@ -43,7 +43,7 @@ "taskId": { "index": 16, "kind": "property", "displayName": "Task Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The task ID for getSpeechSynthesisTask operation" }, "textType": { "index": 17, "kind": "property", "displayName": "Text Type", "group": "producer", "label": "", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.services.polly.model.TextType", "enum": [ "ssml", "text", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The type of text input (text or ssml). When neither this option nor the CamelAwsPollyTextType header is set, TEXT is used." }, "uriEndpointOverride": { "index": 18, "kind": "property", "displayName": "Uri Endpoint Override", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option" }, - "voiceId": { "index": 19, "kind": "property", "displayName": "Voice Id", "group": "producer", "label": "", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", "Jan", "Joanna", "Joey", "Justin", "Karl", "Kendra", "Kevin", "Kimberly", "Lea", "Liv", "Lotte", "Lucia", "Lupe", "Mads", "Maja", "Marlene", "Mathieu", "Matthew", "Maxim", "Mia", "Miguel", "Mizuki", "Naja", "Nicole", "Olivia", "Penelope", "Raveena", "Ricardo", "Ruben", "Russell", "Salli", "Seoyeon", "Takumi", "Tatyana", "Vicki", "Vitoria", "Zeina", "Zhiyu", "Aria", "Ayanda", "Arlet", "Hannah", "Arthur", "Daniel", "Liam", "Pedro", "Kajal", "Hiujin", "Laura", "Elin", "Ida", "Suvi", "Ola", "Hala", "Andres", "Sergio", "Remi", "Adriano", "Thiago", "Ruth", "Stephen", "Kazuha", "Tomoko", "Niamh", "Sofie", "Lisa", "Isabelle", "Zayd", "Danielle", "Gregory", "Burcu", "Jitka", "Sabrina", "Jasmine", "Jihye", "Ambre", "Beatrice", "Florian", "Lennart", "Lorenzo", "Tiffany", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The voice ID to use for synthesis" }, + "voiceId": { "index": 19, "kind": "property", "displayName": "Voice Id", "group": "producer", "label": "", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", "Jan", "Joanna", "Joey", "Justin", "Karl", "Kendra", "Kevin", "Kimberly", "Lea", "Liv", "Lotte", "Lucia", "Lupe", "Mads", "Maja", "Marlene", "Mathieu", "Matthew", "Maxim", "Mia", "Miguel", "Mizuki", "Naja", "Nicole", "Olivia", "Penelope", "Raveena", "Ricardo", "Ruben", "Russell", "Salli", "Seoyeon", "Takumi", "Tatyana", "Vicki", "Vitoria", "Zeina", "Zhiyu", "Aria", "Ayanda", "Arlet", "Hannah", "Arthur", "Daniel", "Liam", "Pedro", "Kajal", "Hiujin", "Laura", "Elin", "Ida", "Suvi", "Ola", "Hala", "Andres", "Sergio", "Remi", "Adriano", "Thiago", "Ruth", "Stephen", "Kazuha", "Tomoko", "Niamh", "Sofie", "Lisa", "Isabelle", "Zayd", "Danielle", "Gregory", "Burcu", "Jitka", "Sabrina", "Jasmine", "Jihye", "Ambre", "Beatrice", "Florian", "Lennart", "Lorenzo", "Tiffany", "Arjun", "Carlos", "Carolina", "Curtis", "Hyunduk", "Kenneth", "Kiara", "Leo", "Nate", "Tina", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The voice ID to use for synthesis" }, "autowiredEnabled": { "index": 20, "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, "pollyClient": { "index": 21, "kind": "property", "displayName": "Polly Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.polly.PollyClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "To use an existing configured AWS Polly client" }, "healthCheckConsumerEnabled": { "index": 22, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" }, @@ -62,7 +62,7 @@ }, "headers": { "CamelAwsPollyOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.polly.Polly2Constants#OPERATION" }, - "CamelAwsPollyVoiceId": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", "Jan", "Joanna", "Joey", "Justin", "Karl", "Kendra", "Kevin", "Kimberly", "Lea", "Liv", "Lotte", "Lucia", "Lupe", "Mads", "Maja", "Marlene", "Mathieu", "Matthew", "Maxim", "Mia", "Miguel", "Mizuki", "Naja", "Nicole", "Olivia", "Penelope", "Raveena", "Ricardo", "Ruben", "Russell", "Salli", "Seoyeon", "Takumi", "Tatyana", "Vicki", "Vitoria", "Zeina", "Zhiyu", "Aria", "Ayanda", "Arlet", "Hannah", "Arthur", "Daniel", "Liam", "Pedro", "Kajal", "Hiujin", "Laura", "Elin", "Ida", "Suvi", "Ola", "Hala", "Andres", "Sergio", "Remi", "Adriano", "Thiago", "Ruth", "Stephen", "Kazuha", "Tomoko", "Niamh", "Sofie", "Lisa", "Isabelle", "Zayd", "Danielle", "Gregory", "Burcu", "Jitka", "Sabrina", "Jasmine", "Jihye", "Ambre", "Beatrice", "Florian", "Lennart", "Lorenzo", "Tiffany", "null" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The voice ID to use for synthesis", "constantName": "org.apache.camel.component.aws2.polly.Polly2Constants#VOICE_ID" }, + "CamelAwsPollyVoiceId": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", "Jan", "Joanna", "Joey", "Justin", "Karl", "Kendra", "Kevin", "Kimberly", "Lea", "Liv", "Lotte", "Lucia", "Lupe", "Mads", "Maja", "Marlene", "Mathieu", "Matthew", "Maxim", "Mia", "Miguel", "Mizuki", "Naja", "Nicole", "Olivia", "Penelope", "Raveena", "Ricardo", "Ruben", "Russell", "Salli", "Seoyeon", "Takumi", "Tatyana", "Vicki", "Vitoria", "Zeina", "Zhiyu", "Aria", "Ayanda", "Arlet", "Hannah", "Arthur", "Daniel", "Liam", "Pedro", "Kajal", "Hiujin", "Laura", "Elin", "Ida", "Suvi", "Ola", "Hala", "Andres", "Sergio", "Remi", "Adriano", "Thiago", "Ruth", "Stephen", "Kazuha", "Tomoko", "Niamh", "Sofie", "Lisa", "Isabelle", "Zayd", "Danielle", "Gregory", "Burcu", "Jitka", "Sabrina", "Jasmine", "Jihye", "Ambre", "Beatrice", "Florian", "Lennart", "Lorenzo", "Tiffany", "Arjun", "Carlos", "Carolina", "Curtis", "Hyunduk", "Kenneth", "Kiara", "Leo", "Nate", "Tina", "null" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The voice ID to use for synthesis", "constantName": "org.apache.camel.component.aws2.polly.Polly2Constants#VOICE_ID" }, "CamelAwsPollyOutputFormat": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "software.amazon.awssdk.services.polly.model.OutputFormat", "enum": [ "json", "mp3", "ogg_opus", "ogg_vorbis", "pcm", "mulaw", "alaw", "null" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The output format for the audio stream", "constantName": "org.apache.camel.component.aws2.polly.Polly2Constants#OUTPUT_FORMAT" }, "CamelAwsPollyTextType": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "software.amazon.awssdk.services.polly.model.TextType", "enum": [ "ssml", "text", "null" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type of text input (text or ssml)", "constantName": "org.apache.camel.component.aws2.polly.Polly2Constants#TEXT_TYPE" }, "CamelAwsPollySampleRate": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The sample rate in Hz", "constantName": "org.apache.camel.component.aws2.polly.Polly2Constants#SAMPLE_RATE" }, @@ -102,7 +102,7 @@ "taskId": { "index": 15, "kind": "parameter", "displayName": "Task Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The task ID for getSpeechSynthesisTask operation" }, "textType": { "index": 16, "kind": "parameter", "displayName": "Text Type", "group": "producer", "label": "", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.services.polly.model.TextType", "enum": [ "ssml", "text", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The type of text input (text or ssml). When neither this option nor the CamelAwsPollyTextType header is set, TEXT is used." }, "uriEndpointOverride": { "index": 17, "kind": "parameter", "displayName": "Uri Endpoint Override", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option" }, - "voiceId": { "index": 18, "kind": "parameter", "displayName": "Voice Id", "group": "producer", "label": "", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", "Jan", "Joanna", "Joey", "Justin", "Karl", "Kendra", "Kevin", "Kimberly", "Lea", "Liv", "Lotte", "Lucia", "Lupe", "Mads", "Maja", "Marlene", "Mathieu", "Matthew", "Maxim", "Mia", "Miguel", "Mizuki", "Naja", "Nicole", "Olivia", "Penelope", "Raveena", "Ricardo", "Ruben", "Russell", "Salli", "Seoyeon", "Takumi", "Tatyana", "Vicki", "Vitoria", "Zeina", "Zhiyu", "Aria", "Ayanda", "Arlet", "Hannah", "Arthur", "Daniel", "Liam", "Pedro", "Kajal", "Hiujin", "Laura", "Elin", "Ida", "Suvi", "Ola", "Hala", "Andres", "Sergio", "Remi", "Adriano", "Thiago", "Ruth", "Stephen", "Kazuha", "Tomoko", "Niamh", "Sofie", "Lisa", "Isabelle", "Zayd", "Danielle", "Gregory", "Burcu", "Jitka", "Sabrina", "Jasmine", "Jihye", "Ambre", "Beatrice", "Florian", "Lennart", "Lorenzo", "Tiffany", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The voice ID to use for synthesis" }, + "voiceId": { "index": 18, "kind": "parameter", "displayName": "Voice Id", "group": "producer", "label": "", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", "Jan", "Joanna", "Joey", "Justin", "Karl", "Kendra", "Kevin", "Kimberly", "Lea", "Liv", "Lotte", "Lucia", "Lupe", "Mads", "Maja", "Marlene", "Mathieu", "Matthew", "Maxim", "Mia", "Miguel", "Mizuki", "Naja", "Nicole", "Olivia", "Penelope", "Raveena", "Ricardo", "Ruben", "Russell", "Salli", "Seoyeon", "Takumi", "Tatyana", "Vicki", "Vitoria", "Zeina", "Zhiyu", "Aria", "Ayanda", "Arlet", "Hannah", "Arthur", "Daniel", "Liam", "Pedro", "Kajal", "Hiujin", "Laura", "Elin", "Ida", "Suvi", "Ola", "Hala", "Andres", "Sergio", "Remi", "Adriano", "Thiago", "Ruth", "Stephen", "Kazuha", "Tomoko", "Niamh", "Sofie", "Lisa", "Isabelle", "Zayd", "Danielle", "Gregory", "Burcu", "Jitka", "Sabrina", "Jasmine", "Jihye", "Ambre", "Beatrice", "Florian", "Lennart", "Lorenzo", "Tiffany", "Arjun", "Carlos", "Carolina", "Curtis", "Hyunduk", "Kenneth", "Kiara", "Leo", "Nate", "Tina", "null" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "The voice ID to use for synthesis" }, "lazyStartProducer": { "index": 19, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, "pollyClient": { "index": 20, "kind": "parameter", "displayName": "Polly Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.polly.PollyClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "To use an existing configured AWS Polly client" }, "proxyHost": { "index": 21, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.polly.Polly2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Polly client" }, 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 224d75cdcd83..a9f74fa0f22b 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 @@ -35,17 +35,21 @@ "maxToolCallingRoundTrips": { "index": 8, "kind": "property", "displayName": "Max Tool Calling Round Trips", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Maximum number of tool-calling round trips allowed per request. Each round trip is one LLM call plus execution of the tools requested in that call. Set to 0 to leave unset and use the LangChain4j default. Only supported in inline agent creation mode (agentConfiguration without agent or agentFactory). URI value overrides the same option on the agentConfiguration bean." }, "outputClass": { "index": 9, "kind": "property", "displayName": "Output Class", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Java class to use for structured output. Camel derives the JSON schema from the class and instructs the model to produce matching JSON; the response body is left as a raw JSON string. Only supported in inline agent creation mode: agentConfiguration must be set and neither agent nor agentFactory may be configured. The class must be a POJO with public fields or getters; simple types, enums, and collections are not supported. Mutually exclusive with jsonSchema." }, "tags": { "index": 10, "kind": "property", "displayName": "Tags", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Tags for discovering and calling Camel route tools" }, - "autowiredEnabled": { "index": 11, "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, - "mcpClients": { "index": 12, "kind": "property", "displayName": "Mcp Clients", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Pre-built MCP (Model Context Protocol) client instances for external tool integration. Reference beans from the registry, e.g., #myMcpClient1,#myMcpClient2" }, - "mcpServer": { "index": 13, "kind": "property", "displayName": "Mcp Server", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "mcpServer.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "MCP server definitions in the form of mcpServer..=. Supported properties: transportType (stdio, http or streamableHttp, default: stdio), command (comma-separated, for stdio), url (for http\/streamableHttp), environment.= (for stdio), timeout (in seconds, default: 60), logRequests, logResponses, oauthProfile (OAuth profile for HTTP auth, requires camel-oauth). This is a multi-value option with prefix: mcpServer." }, - "baseUrl": { "index": 14, "kind": "property", "displayName": "Base Url", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The URL of the provider's API (http:\/\/localhost:11434 for a local Ollama), when the model is created from the provider. The provider's default when not set." }, - "modelName": { "index": 15, "kind": "property", "displayName": "Model Name", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The name of the model at the provider (qwen2.5, gpt-4o-mini, ...), when the model is created from the provider." }, - "provider": { "index": 16, "kind": "property", "displayName": "Provider", "group": "model", "label": "model", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "ollama", "openai", "anthropic", "azure-openai", "mistral", "gemini", "vertex-ai", "github", "hugging-face", "bedrock" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The LangChain4j provider of the chat model that drives the agent, to create the model from the options here (modelName, baseUrl, apiKey, temperature, timeout, and provider-specific model. properties) instead of a AgentConfiguration bean. The LangChain4j module of the provider (dev.langchain4j:langchain4j-ollama, ...) must be on the classpath; Camel JBang downloads it. Ignored when a AgentConfiguration is configured. For a provider not listed, set customProvider instead." }, - "temperature": { "index": 17, "kind": "property", "displayName": "Temperature", "group": "model", "label": "model", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The sampling temperature of the model, when the model is created from the provider." }, - "timeout": { "index": 18, "kind": "property", "displayName": "Timeout", "group": "model", "label": "model", "required": false, "type": "duration", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The request timeout of the model (30s, 2m), when the model is created from the provider." }, - "customProvider": { "index": 19, "kind": "property", "displayName": "Custom Provider", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The fully qualified class name of the LangChain4j model class of a provider that is not listed in provider (dev.langchain4j.model.jlama.JlamaChatModel), created from the options here through its builder() as a listed provider is. Set either provider or customProvider." }, - "modelProperties": { "index": 20, "kind": "property", "displayName": "Model Properties", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "model.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Provider-specific properties of the model, set on the model's builder as they are (model.numPredict=512 for Ollama, model.maxTokens=1024 for OpenAI), when the model is created from the provider. This is a multi-value option with prefix: model." }, - "apiKey": { "index": 21, "kind": "property", "displayName": "Api Key", "group": "security", "label": "model,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The API key or access token of the provider, when the model is created from the provider." } + "toolSearch": { "index": 11, "kind": "property", "displayName": "Tool Search", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible route tools and customTools stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools\/list. A dynamic tool provider registered outside Camel is not searched. Only supported in inline agent creation mode." }, + "toolSearchEmbeddingModel": { "index": 12, "kind": "property", "displayName": "Tool Search Embedding Model", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "dev.langchain4j.model.embedding.EmbeddingModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "LangChain4j embedding model used when toolSearchStrategy=vector. Required for vector search." }, + "toolSearchMaxResults": { "index": 13, "kind": "property", "displayName": "Tool Search Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Maximum number of tools returned by one tool search. Route and MCP tools are ranked together." }, + "toolSearchStrategy": { "index": 14, "kind": "property", "displayName": "Tool Search Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.ai.tool.AiToolSearchStrategy", "enum": [ "keyword", "vector" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "keyword", "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search." }, + "autowiredEnabled": { "index": 15, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, + "mcpClients": { "index": 16, "kind": "property", "displayName": "Mcp Clients", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Pre-built MCP (Model Context Protocol) client instances for external tool integration. Reference beans from the registry, e.g., #myMcpClient1,#myMcpClient2" }, + "mcpServer": { "index": 17, "kind": "property", "displayName": "Mcp Server", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "mcpServer.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "MCP server definitions in the form of mcpServer..=. Supported properties: transportType (stdio, http or streamableHttp, default: stdio), command (comma-separated, for stdio), url (for http\/streamableHttp), environment.= (for stdio), timeout (in seconds, default: 60), logRequests, logResponses, oauthProfile (OAuth profile for HTTP auth, requires camel-oauth). This is a multi-value option with prefix: mcpServer." }, + "baseUrl": { "index": 18, "kind": "property", "displayName": "Base Url", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The URL of the provider's API (http:\/\/localhost:11434 for a local Ollama), when the model is created from the provider. The provider's default when not set." }, + "modelName": { "index": 19, "kind": "property", "displayName": "Model Name", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The name of the model at the provider (qwen2.5, gpt-4o-mini, ...), when the model is created from the provider." }, + "provider": { "index": 20, "kind": "property", "displayName": "Provider", "group": "model", "label": "model", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "ollama", "openai", "anthropic", "azure-openai", "mistral", "gemini", "vertex-ai", "github", "hugging-face", "bedrock" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The LangChain4j provider of the chat model that drives the agent, to create the model from the options here (modelName, baseUrl, apiKey, temperature, timeout, and provider-specific model. properties) instead of a AgentConfiguration bean. The LangChain4j module of the provider (dev.langchain4j:langchain4j-ollama, ...) must be on the classpath; Camel JBang downloads it. Ignored when a AgentConfiguration is configured. For a provider not listed, set customProvider instead." }, + "temperature": { "index": 21, "kind": "property", "displayName": "Temperature", "group": "model", "label": "model", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The sampling temperature of the model, when the model is created from the provider." }, + "timeout": { "index": 22, "kind": "property", "displayName": "Timeout", "group": "model", "label": "model", "required": false, "type": "duration", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The request timeout of the model (30s, 2m), when the model is created from the provider." }, + "customProvider": { "index": 23, "kind": "property", "displayName": "Custom Provider", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The fully qualified class name of the LangChain4j model class of a provider that is not listed in provider (dev.langchain4j.model.jlama.JlamaChatModel), created from the options here through its builder() as a listed provider is. Set either provider or customProvider." }, + "modelProperties": { "index": 24, "kind": "property", "displayName": "Model Properties", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "model.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Provider-specific properties of the model, set on the model's builder as they are (model.numPredict=512 for Ollama, model.maxTokens=1024 for OpenAI), when the model is created from the provider. This is a multi-value option with prefix: model." }, + "apiKey": { "index": 25, "kind": "property", "displayName": "Api Key", "group": "security", "label": "model,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The API key or access token of the provider, when the model is created from the provider." } }, "headers": { "CamelLangChain4jAgentSystemMessage": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The system prompt.", "constantName": "org.apache.camel.component.langchain4j.agent.api.Headers#SYSTEM_MESSAGE" }, @@ -79,16 +83,20 @@ "maxToolCallingRoundTrips": { "index": 7, "kind": "parameter", "displayName": "Max Tool Calling Round Trips", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Maximum number of tool-calling round trips allowed per request. Each round trip is one LLM call plus execution of the tools requested in that call. Set to 0 to leave unset and use the LangChain4j default. Only supported in inline agent creation mode (agentConfiguration without agent or agentFactory). URI value overrides the same option on the agentConfiguration bean." }, "outputClass": { "index": 8, "kind": "parameter", "displayName": "Output Class", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Java class to use for structured output. Camel derives the JSON schema from the class and instructs the model to produce matching JSON; the response body is left as a raw JSON string. Only supported in inline agent creation mode: agentConfiguration must be set and neither agent nor agentFactory may be configured. The class must be a POJO with public fields or getters; simple types, enums, and collections are not supported. Mutually exclusive with jsonSchema." }, "tags": { "index": 9, "kind": "parameter", "displayName": "Tags", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Tags for discovering and calling Camel route tools" }, - "lazyStartProducer": { "index": 10, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, - "mcpClients": { "index": 11, "kind": "parameter", "displayName": "Mcp Clients", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Pre-built MCP (Model Context Protocol) client instances for external tool integration. Reference beans from the registry, e.g., #myMcpClient1,#myMcpClient2" }, - "mcpServer": { "index": 12, "kind": "parameter", "displayName": "Mcp Server", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "mcpServer.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "MCP server definitions in the form of mcpServer..=. Supported properties: transportType (stdio, http or streamableHttp, default: stdio), command (comma-separated, for stdio), url (for http\/streamableHttp), environment.= (for stdio), timeout (in seconds, default: 60), logRequests, logResponses, oauthProfile (OAuth profile for HTTP auth, requires camel-oauth). This is a multi-value option with prefix: mcpServer." }, - "baseUrl": { "index": 13, "kind": "parameter", "displayName": "Base Url", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The URL of the provider's API (http:\/\/localhost:11434 for a local Ollama), when the model is created from the provider. The provider's default when not set." }, - "modelName": { "index": 14, "kind": "parameter", "displayName": "Model Name", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The name of the model at the provider (qwen2.5, gpt-4o-mini, ...), when the model is created from the provider." }, - "provider": { "index": 15, "kind": "parameter", "displayName": "Provider", "group": "model", "label": "model", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "ollama", "openai", "anthropic", "azure-openai", "mistral", "gemini", "vertex-ai", "github", "hugging-face", "bedrock" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The LangChain4j provider of the chat model that drives the agent, to create the model from the options here (modelName, baseUrl, apiKey, temperature, timeout, and provider-specific model. properties) instead of a AgentConfiguration bean. The LangChain4j module of the provider (dev.langchain4j:langchain4j-ollama, ...) must be on the classpath; Camel JBang downloads it. Ignored when a AgentConfiguration is configured. For a provider not listed, set customProvider instead." }, - "temperature": { "index": 16, "kind": "parameter", "displayName": "Temperature", "group": "model", "label": "model", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The sampling temperature of the model, when the model is created from the provider." }, - "timeout": { "index": 17, "kind": "parameter", "displayName": "Timeout", "group": "model", "label": "model", "required": false, "type": "duration", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The request timeout of the model (30s, 2m), when the model is created from the provider." }, - "customProvider": { "index": 18, "kind": "parameter", "displayName": "Custom Provider", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The fully qualified class name of the LangChain4j model class of a provider that is not listed in provider (dev.langchain4j.model.jlama.JlamaChatModel), created from the options here through its builder() as a listed provider is. Set either provider or customProvider." }, - "modelProperties": { "index": 19, "kind": "parameter", "displayName": "Model Properties", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "model.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Provider-specific properties of the model, set on the model's builder as they are (model.numPredict=512 for Ollama, model.maxTokens=1024 for OpenAI), when the model is created from the provider. This is a multi-value option with prefix: model." }, - "apiKey": { "index": 20, "kind": "parameter", "displayName": "Api Key", "group": "security", "label": "model,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The API key or access token of the provider, when the model is created from the provider." } + "toolSearch": { "index": 10, "kind": "parameter", "displayName": "Tool Search", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible route tools and customTools stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools\/list. A dynamic tool provider registered outside Camel is not searched. Only supported in inline agent creation mode." }, + "toolSearchEmbeddingModel": { "index": 11, "kind": "parameter", "displayName": "Tool Search Embedding Model", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "dev.langchain4j.model.embedding.EmbeddingModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "LangChain4j embedding model used when toolSearchStrategy=vector. Required for vector search." }, + "toolSearchMaxResults": { "index": 12, "kind": "parameter", "displayName": "Tool Search Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Maximum number of tools returned by one tool search. Route and MCP tools are ranked together." }, + "toolSearchStrategy": { "index": 13, "kind": "parameter", "displayName": "Tool Search Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.ai.tool.AiToolSearchStrategy", "enum": [ "keyword", "vector" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "keyword", "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search." }, + "lazyStartProducer": { "index": 14, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, + "mcpClients": { "index": 15, "kind": "parameter", "displayName": "Mcp Clients", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Pre-built MCP (Model Context Protocol) client instances for external tool integration. Reference beans from the registry, e.g., #myMcpClient1,#myMcpClient2" }, + "mcpServer": { "index": 16, "kind": "parameter", "displayName": "Mcp Server", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "mcpServer.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "MCP server definitions in the form of mcpServer..=. Supported properties: transportType (stdio, http or streamableHttp, default: stdio), command (comma-separated, for stdio), url (for http\/streamableHttp), environment.= (for stdio), timeout (in seconds, default: 60), logRequests, logResponses, oauthProfile (OAuth profile for HTTP auth, requires camel-oauth). This is a multi-value option with prefix: mcpServer." }, + "baseUrl": { "index": 17, "kind": "parameter", "displayName": "Base Url", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The URL of the provider's API (http:\/\/localhost:11434 for a local Ollama), when the model is created from the provider. The provider's default when not set." }, + "modelName": { "index": 18, "kind": "parameter", "displayName": "Model Name", "group": "model", "label": "model", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The name of the model at the provider (qwen2.5, gpt-4o-mini, ...), when the model is created from the provider." }, + "provider": { "index": 19, "kind": "parameter", "displayName": "Provider", "group": "model", "label": "model", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "ollama", "openai", "anthropic", "azure-openai", "mistral", "gemini", "vertex-ai", "github", "hugging-face", "bedrock" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The LangChain4j provider of the chat model that drives the agent, to create the model from the options here (modelName, baseUrl, apiKey, temperature, timeout, and provider-specific model. properties) instead of a AgentConfiguration bean. The LangChain4j module of the provider (dev.langchain4j:langchain4j-ollama, ...) must be on the classpath; Camel JBang downloads it. Ignored when a AgentConfiguration is configured. For a provider not listed, set customProvider instead." }, + "temperature": { "index": 20, "kind": "parameter", "displayName": "Temperature", "group": "model", "label": "model", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The sampling temperature of the model, when the model is created from the provider." }, + "timeout": { "index": 21, "kind": "parameter", "displayName": "Timeout", "group": "model", "label": "model", "required": false, "type": "duration", "javaType": "java.time.Duration", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The request timeout of the model (30s, 2m), when the model is created from the provider." }, + "customProvider": { "index": 22, "kind": "parameter", "displayName": "Custom Provider", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The fully qualified class name of the LangChain4j model class of a provider that is not listed in provider (dev.langchain4j.model.jlama.JlamaChatModel), created from the options here through its builder() as a listed provider is. Set either provider or customProvider." }, + "modelProperties": { "index": 23, "kind": "parameter", "displayName": "Model Properties", "group": "model (advanced)", "label": "model,advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "model.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "Provider-specific properties of the model, set on the model's builder as they are (model.numPredict=512 for Ollama, model.maxTokens=1024 for OpenAI), when the model is created from the provider. This is a multi-value option with prefix: model." }, + "apiKey": { "index": 24, "kind": "parameter", "displayName": "Api Key", "group": "security", "label": "model,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration", "configurationField": "configuration", "description": "The API key or access token of the provider, when the model is created from the provider." } } } diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/llm.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/llm.json index 707f076716b0..1091cbbd36a4 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/llm.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/llm.json @@ -49,102 +49,103 @@ "CamelOpenAIMaxTokens": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The maximum number of tokens to generate in the completion", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MAX_TOKENS" }, "CamelOpenAIPreviousResponseId": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Previous response id for server-side conversation state on the Responses API", "constantName": "org.apache.camel.component.openai.OpenAIConstants#PREVIOUS_RESPONSE_ID" }, "CamelOpenAIConversationId": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of a conversation created with the Conversations API to run the Responses API request in", "constantName": "org.apache.camel.component.openai.OpenAIConstants#CONVERSATION_ID" }, - "CamelOpenAIStreaming": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to stream the response back incrementally", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STREAMING" }, - "CamelOpenAIOutputClass": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Java class name (FQCN) to use for structured output parsing", "constantName": "org.apache.camel.component.openai.OpenAIConstants#OUTPUT_CLASS" }, - "CamelOpenAIJsonSchema": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JSON schema to use for structured output validation", "constantName": "org.apache.camel.component.openai.OpenAIConstants#JSON_SCHEMA" }, - "CamelOpenAIStripThinking": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to strip ... blocks from the response body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STRIP_THINKING" }, - "CamelOpenAIMediaType": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The MIME type of the message body when sending a file or binary content (File, WrappedFile, byte or InputStream) to the model. Takes precedence over component content-type headers and automatic MIME type detection", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MEDIA_TYPE" }, - "CamelOpenAIThinkingContent": { "index": 18, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The thinking content extracted from ... blocks in the model response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#THINKING_CONTENT" }, - "CamelOpenAIReasoningContent": { "index": 19, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reasoning content from the model response reasoning_content field, used by thinking models like Qwen3 and DeepSeek-R1", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REASONING_CONTENT" }, - "CamelOpenAIResponseModel": { "index": 20, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model used for the completion response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_MODEL" }, - "CamelOpenAIResponseId": { "index": 21, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier for the completion response. The responses-retrieve and responses-cancel operations read the id of the response to act on from this header", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ID" }, - "CamelOpenAIFinishReason": { "index": 22, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reason the completion finished (e.g., stop, length, content_filter)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#FINISH_REASON" }, - "CamelOpenAIPromptTokens": { "index": 23, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the prompt for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#PROMPT_TOKENS" }, - "CamelOpenAICompletionTokens": { "index": 24, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the completion for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#COMPLETION_TOKENS" }, - "CamelOpenAITotalTokens": { "index": 25, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens used (prompt completion) for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOTAL_TOKENS" }, - "CamelOpenAIResponseAnnotations": { "index": 26, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The annotations attached to the output text of a Responses API answer, such as the url_citation and file_citation citations of web_search and file_search. Each entry is a map of the API fields", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ANNOTATIONS" }, - "CamelOpenAIResponseStatus": { "index": 27, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of a Responses API response: completed, failed, in_progress, cancelled, queued or incomplete", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_STATUS" }, - "CamelOpenAIToolIterations": { "index": 28, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of tool call iterations performed in the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOOL_ITERATIONS" }, - "CamelOpenAIMcpToolCalls": { "index": 29, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of tool names called during the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_TOOL_CALLS" }, - "CamelOpenAIMcpReturnDirect": { "index": 30, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the response came directly from a tool with returnDirect=true, rather than from the LLM", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_RETURN_DIRECT" }, - "CamelOpenAIAgenticPromptTokens": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative prompt tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_PROMPT_TOKENS" }, - "CamelOpenAIAgenticCompletionTokens": { "index": 32, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative completion tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_COMPLETION_TOKENS" }, - "CamelOpenAIAgenticTotalTokens": { "index": 33, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative total tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_TOTAL_TOKENS" }, - "CamelOpenAIResponse": { "index": 34, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.chat.completions.ChatCompletion", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI chat completion response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE" }, - "CamelOpenAIResponsesResponse": { "index": 35, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.responses.Response", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI Responses API response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSES_RESPONSE" }, - "CamelOpenAIModerationResponse": { "index": 36, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.moderations.ModerationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI moderation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE" }, - "CamelOpenAIImageResponse": { "index": 37, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.images.ImagesResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI image generation or edit response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE" }, - "CamelOpenAIEmbeddingsResponse": { "index": 38, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.embeddings.CreateEmbeddingResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI embeddings response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDINGS_RESPONSE" }, - "CamelOpenAIAudioTranscriptionResponse": { "index": 39, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.transcriptions.TranscriptionCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio transcription response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSCRIPTION_RESPONSE" }, - "CamelOpenAIAudioTranslationResponse": { "index": 40, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.translations.TranslationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio translation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSLATION_RESPONSE" }, - "CamelOpenAIBatchId": { "index": 41, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the batch to act on. Set by the batch operation, and read by batch-retrieve, batch-cancel and batch-results", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ID" }, - "CamelOpenAIBatchEndpoint": { "index": 42, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The endpoint every request in the batch calls, such as \/v1\/chat\/completions. Overrides the batchEndpoint option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ENDPOINT" }, - "CamelOpenAIBatchMetadata": { "index": 43, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Metadata to attach to the batch. Overrides the batchMetadata option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_METADATA" }, - "CamelOpenAIBatchCustomId": { "index": 44, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The custom_id of the request that OpenAIBatchAggregationStrategy builds from this message. Defaults to the message id", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_CUSTOM_ID" }, - "CamelOpenAIBatchResultsFile": { "index": 45, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Which result file the batch-results operation downloads: 'output' or 'error'. Overrides the batchResultsFile option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESULTS_FILE" }, - "CamelOpenAIBatchStatus": { "index": 46, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of the batch: validating, failed, in_progress, finalizing, completed, expired, cancelling or cancelled", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_STATUS" }, - "CamelOpenAIBatchInputFileId": { "index": 47, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the uploaded input file of the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_INPUT_FILE_ID" }, - "CamelOpenAIBatchOutputFileId": { "index": 48, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the successful requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_OUTPUT_FILE_ID" }, - "CamelOpenAIBatchErrorFileId": { "index": 49, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the failed requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERROR_FILE_ID" }, - "CamelOpenAIBatchRequestCountTotal": { "index": 50, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total number of requests in the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_TOTAL" }, - "CamelOpenAIBatchRequestCountCompleted": { "index": 51, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that completed successfully", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_COMPLETED" }, - "CamelOpenAIBatchRequestCountFailed": { "index": 52, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that failed", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_FAILED" }, - "CamelOpenAIBatchErrors": { "index": 53, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The errors that made the batch fail validation, each a map of the code, message, param and line fields of the API", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERRORS" }, - "CamelOpenAIBatchResponse": { "index": 54, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.batches.Batch", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI batch object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESPONSE" }, - "CamelOpenAIEmbeddingModel": { "index": 55, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_MODEL" }, - "CamelOpenAIEmbeddingDimensions": { "index": 56, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of output dimensions", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_DIMENSIONS" }, - "CamelOpenAIEmbeddingResponseModel": { "index": 57, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The embedding model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_RESPONSE_MODEL" }, - "CamelOpenAIEmbeddingCount": { "index": 58, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of embeddings returned", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_COUNT" }, - "CamelOpenAIEmbeddingVectorSize": { "index": 59, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Vector dimensions of the embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_VECTOR_SIZE" }, - "CamelOpenAIReferenceEmbedding": { "index": 60, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Reference embedding vector for similarity comparison", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REFERENCE_EMBEDDING" }, - "CamelOpenAISimilarityScore": { "index": 61, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Calculated cosine similarity score (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#SIMILARITY_SCORE" }, - "CamelOpenAIOriginalText": { "index": 62, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String or List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Original text content when embeddings operation is used", "constantName": "org.apache.camel.component.openai.OpenAIConstants#ORIGINAL_TEXT" }, - "CamelOpenAIModerationModel": { "index": 63, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for moderation (e.g., omni-moderation-latest)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_MODEL" }, - "CamelOpenAIModerationText": { "index": 64, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Text to moderate together with an image body, such as the caption the image was posted with. The text and the image are scored as one input and share a single verdict. Ignored when the body is not an image", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_TEXT" }, - "CamelOpenAIModerationFlagged": { "index": 65, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the moderation API flagged the input as violating the usage policies. For a batch of inputs this is true when at least one input was flagged", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_FLAGGED" }, - "CamelOpenAIModerationResults": { "index": 66, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "One verdict per moderated input, in the order of the inputs. Each entry holds the keys 'input', 'flagged', 'categories', 'categoryScores' and, when the provider reports it, 'categoryAppliedInputTypes', so a batch can be split and routed per item", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESULTS" }, - "CamelOpenAIModerationCategories": { "index": 67, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation categories and whether each one was violated, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORIES" }, - "CamelOpenAIModerationCategoryScores": { "index": 68, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation confidence score per category, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORY_SCORES" }, - "CamelOpenAIModerationResponseModel": { "index": 69, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE_MODEL" }, - "CamelOpenAIAudioModel": { "index": 70, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for audio transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_MODEL" }, - "CamelOpenAIAudioLanguage": { "index": 71, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The language of the input audio (ISO-639-1)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGE" }, - "CamelOpenAIAudioResponseFormat": { "index": 72, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format for audio transcription (json, text, srt, verbose_json, vtt, diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_RESPONSE_FORMAT" }, - "CamelOpenAIAudioTemperature": { "index": 73, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sampling temperature for audio transcription (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TEMPERATURE" }, - "CamelOpenAIAudioPrompt": { "index": 74, "kind": "header", "displayName": "", "group": "common", "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": 75, "kind": "header", "displayName": "", "group": "common", "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" }, - "CamelOpenAIAudioChunkingStrategy": { "index": 76, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Chunking strategy for diarized transcription models: auto or vad", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_CHUNKING_STRATEGY" }, - "CamelOpenAIAudioKnownSpeakerNames": { "index": 77, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker names for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_NAMES" }, - "CamelOpenAIAudioKnownSpeakerReferences": { "index": 78, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker reference audio file ids for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_REFERENCES" }, - "CamelOpenAIAudioKeywords": { "index": 79, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated keywords to improve transcription accuracy", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KEYWORDS" }, - "CamelOpenAIAudioLanguages": { "index": 80, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated input audio languages (ISO-639-1 or ISO-639-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGES" }, - "CamelOpenAIAudioInclude": { "index": 81, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated extra response fields to include (e.g. logprobs)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_INCLUDE" }, - "CamelOpenAIAudioDuration": { "index": 82, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Duration of the audio in seconds (verbose_json or diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DURATION" }, - "CamelOpenAIAudioDiarizedSegments": { "index": 83, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Speaker-labelled segments from diarized_json transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DIARIZED_SEGMENTS" }, - "CamelOpenAIAudioDetectedLanguage": { "index": 84, "kind": "header", "displayName": "", "group": "common", "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": 85, "kind": "header", "displayName": "", "group": "common", "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": 86, "kind": "header", "displayName": "", "group": "common", "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": 87, "kind": "header", "displayName": "", "group": "common", "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": 88, "kind": "header", "displayName": "", "group": "common", "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": 89, "kind": "header", "displayName": "", "group": "common", "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" }, - "CamelOpenAIImageModel": { "index": 90, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for image generation or editing (e.g., gpt-image-1, dall-e-3, dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODEL" }, - "CamelOpenAIImagePrompt": { "index": 91, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt describing the image to generate, or the edit to apply. Takes precedence over the imagePrompt endpoint option and, for image-generation, over the message body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_PROMPT" }, - "CamelOpenAIImageSize": { "index": 92, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The size of the generated image (e.g., 1024x1024, 1536x1024, auto)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_SIZE" }, - "CamelOpenAIImageQuality": { "index": 93, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The quality of the generated image (auto, high, medium, low for GPT image models; hd, standard for dall-e-3; standard for dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_QUALITY" }, - "CamelOpenAIImageResponseFormat": { "index": 94, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format of the generated image (url or b64_json). Only supported by dall-e-2 and dall-e-3; GPT image models always return base64", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE_FORMAT" }, - "CamelOpenAIImageCount": { "index": 95, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images to generate", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_COUNT" }, - "CamelOpenAIImageBackground": { "index": 96, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The background of the generated image (transparent, opaque, auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_BACKGROUND" }, - "CamelOpenAIImageOutputFormat": { "index": 97, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The output format of the generated image (png, jpeg, webp). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_FORMAT" }, - "CamelOpenAIImageOutputCompression": { "index": 98, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The compression level (0-100) for the webp or jpeg output formats. Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_COMPRESSION" }, - "CamelOpenAIImageStyle": { "index": 99, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The style of the generated image (vivid or natural). Only supported by dall-e-3", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_STYLE" }, - "CamelOpenAIImageModeration": { "index": 100, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The content moderation level for image generation (low or auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODERATION" }, - "CamelOpenAIImageInputFidelity": { "index": 101, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "How closely the edit must match the style and features of the input image (high or low). Only supported by the image-edit operation on gpt-image-1 and gpt-image-1.5", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_FIDELITY" }, - "CamelOpenAIImageMask": { "index": 102, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[], java.io.File, java.nio.file.Path or java.io.InputStream", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "An optional PNG mask for the image-edit operation, where the fully transparent areas indicate where the image should be edited", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MASK" }, - "CamelOpenAIImageResultCount": { "index": 103, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images returned in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESULT_COUNT" }, - "CamelOpenAIImageRevisedPrompt": { "index": 104, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt as revised by the model, when a single image is returned (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPT" }, - "CamelOpenAIImageRevisedPrompts": { "index": 105, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompts as revised by the model, one entry per returned image (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPTS" }, - "CamelOpenAIImageInputTokens": { "index": 106, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of input tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_TOKENS" }, - "CamelOpenAIImageOutputTokens": { "index": 107, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of output tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_TOKENS" }, - "CamelOpenAIImageTotalTokens": { "index": 108, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_TOTAL_TOKENS" } + "CamelOpenAIToolSearchSessionId": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Stable identifier used to retain OpenAI tool-search discoveries across exchanges, independently of Responses API conversation state", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOOL_SEARCH_SESSION_ID" }, + "CamelOpenAIStreaming": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to stream the response back incrementally", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STREAMING" }, + "CamelOpenAIOutputClass": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Java class name (FQCN) to use for structured output parsing", "constantName": "org.apache.camel.component.openai.OpenAIConstants#OUTPUT_CLASS" }, + "CamelOpenAIJsonSchema": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JSON schema to use for structured output validation", "constantName": "org.apache.camel.component.openai.OpenAIConstants#JSON_SCHEMA" }, + "CamelOpenAIStripThinking": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to strip ... blocks from the response body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STRIP_THINKING" }, + "CamelOpenAIMediaType": { "index": 18, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The MIME type of the message body when sending a file or binary content (File, WrappedFile, byte or InputStream) to the model. Takes precedence over component content-type headers and automatic MIME type detection", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MEDIA_TYPE" }, + "CamelOpenAIThinkingContent": { "index": 19, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The thinking content extracted from ... blocks in the model response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#THINKING_CONTENT" }, + "CamelOpenAIReasoningContent": { "index": 20, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reasoning content from the model response reasoning_content field, used by thinking models like Qwen3 and DeepSeek-R1", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REASONING_CONTENT" }, + "CamelOpenAIResponseModel": { "index": 21, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model used for the completion response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_MODEL" }, + "CamelOpenAIResponseId": { "index": 22, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier for the completion response. The responses-retrieve and responses-cancel operations read the id of the response to act on from this header", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ID" }, + "CamelOpenAIFinishReason": { "index": 23, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reason the completion finished (e.g., stop, length, content_filter)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#FINISH_REASON" }, + "CamelOpenAIPromptTokens": { "index": 24, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the prompt for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#PROMPT_TOKENS" }, + "CamelOpenAICompletionTokens": { "index": 25, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the completion for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#COMPLETION_TOKENS" }, + "CamelOpenAITotalTokens": { "index": 26, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens used (prompt completion) for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOTAL_TOKENS" }, + "CamelOpenAIResponseAnnotations": { "index": 27, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The annotations attached to the output text of a Responses API answer, such as the url_citation and file_citation citations of web_search and file_search. Each entry is a map of the API fields", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ANNOTATIONS" }, + "CamelOpenAIResponseStatus": { "index": 28, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of a Responses API response: completed, failed, in_progress, cancelled, queued or incomplete", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_STATUS" }, + "CamelOpenAIToolIterations": { "index": 29, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of tool call iterations performed in the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOOL_ITERATIONS" }, + "CamelOpenAIMcpToolCalls": { "index": 30, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of tool names called during the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_TOOL_CALLS" }, + "CamelOpenAIMcpReturnDirect": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the response came directly from a tool with returnDirect=true, rather than from the LLM", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_RETURN_DIRECT" }, + "CamelOpenAIAgenticPromptTokens": { "index": 32, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative prompt tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_PROMPT_TOKENS" }, + "CamelOpenAIAgenticCompletionTokens": { "index": 33, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative completion tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_COMPLETION_TOKENS" }, + "CamelOpenAIAgenticTotalTokens": { "index": 34, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative total tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_TOTAL_TOKENS" }, + "CamelOpenAIResponse": { "index": 35, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.chat.completions.ChatCompletion", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI chat completion response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE" }, + "CamelOpenAIResponsesResponse": { "index": 36, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.responses.Response", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI Responses API response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSES_RESPONSE" }, + "CamelOpenAIModerationResponse": { "index": 37, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.moderations.ModerationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI moderation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE" }, + "CamelOpenAIImageResponse": { "index": 38, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.images.ImagesResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI image generation or edit response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE" }, + "CamelOpenAIEmbeddingsResponse": { "index": 39, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.embeddings.CreateEmbeddingResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI embeddings response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDINGS_RESPONSE" }, + "CamelOpenAIAudioTranscriptionResponse": { "index": 40, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.transcriptions.TranscriptionCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio transcription response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSCRIPTION_RESPONSE" }, + "CamelOpenAIAudioTranslationResponse": { "index": 41, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.translations.TranslationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio translation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSLATION_RESPONSE" }, + "CamelOpenAIBatchId": { "index": 42, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the batch to act on. Set by the batch operation, and read by batch-retrieve, batch-cancel and batch-results", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ID" }, + "CamelOpenAIBatchEndpoint": { "index": 43, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The endpoint every request in the batch calls, such as \/v1\/chat\/completions. Overrides the batchEndpoint option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ENDPOINT" }, + "CamelOpenAIBatchMetadata": { "index": 44, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Metadata to attach to the batch. Overrides the batchMetadata option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_METADATA" }, + "CamelOpenAIBatchCustomId": { "index": 45, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The custom_id of the request that OpenAIBatchAggregationStrategy builds from this message. Defaults to the message id", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_CUSTOM_ID" }, + "CamelOpenAIBatchResultsFile": { "index": 46, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Which result file the batch-results operation downloads: 'output' or 'error'. Overrides the batchResultsFile option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESULTS_FILE" }, + "CamelOpenAIBatchStatus": { "index": 47, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of the batch: validating, failed, in_progress, finalizing, completed, expired, cancelling or cancelled", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_STATUS" }, + "CamelOpenAIBatchInputFileId": { "index": 48, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the uploaded input file of the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_INPUT_FILE_ID" }, + "CamelOpenAIBatchOutputFileId": { "index": 49, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the successful requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_OUTPUT_FILE_ID" }, + "CamelOpenAIBatchErrorFileId": { "index": 50, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the failed requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERROR_FILE_ID" }, + "CamelOpenAIBatchRequestCountTotal": { "index": 51, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total number of requests in the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_TOTAL" }, + "CamelOpenAIBatchRequestCountCompleted": { "index": 52, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that completed successfully", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_COMPLETED" }, + "CamelOpenAIBatchRequestCountFailed": { "index": 53, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that failed", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_FAILED" }, + "CamelOpenAIBatchErrors": { "index": 54, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The errors that made the batch fail validation, each a map of the code, message, param and line fields of the API", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERRORS" }, + "CamelOpenAIBatchResponse": { "index": 55, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.batches.Batch", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI batch object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESPONSE" }, + "CamelOpenAIEmbeddingModel": { "index": 56, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_MODEL" }, + "CamelOpenAIEmbeddingDimensions": { "index": 57, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of output dimensions", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_DIMENSIONS" }, + "CamelOpenAIEmbeddingResponseModel": { "index": 58, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The embedding model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_RESPONSE_MODEL" }, + "CamelOpenAIEmbeddingCount": { "index": 59, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of embeddings returned", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_COUNT" }, + "CamelOpenAIEmbeddingVectorSize": { "index": 60, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Vector dimensions of the embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_VECTOR_SIZE" }, + "CamelOpenAIReferenceEmbedding": { "index": 61, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Reference embedding vector for similarity comparison", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REFERENCE_EMBEDDING" }, + "CamelOpenAISimilarityScore": { "index": 62, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Calculated cosine similarity score (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#SIMILARITY_SCORE" }, + "CamelOpenAIOriginalText": { "index": 63, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String or List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Original text content when embeddings operation is used", "constantName": "org.apache.camel.component.openai.OpenAIConstants#ORIGINAL_TEXT" }, + "CamelOpenAIModerationModel": { "index": 64, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for moderation (e.g., omni-moderation-latest)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_MODEL" }, + "CamelOpenAIModerationText": { "index": 65, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Text to moderate together with an image body, such as the caption the image was posted with. The text and the image are scored as one input and share a single verdict. Ignored when the body is not an image", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_TEXT" }, + "CamelOpenAIModerationFlagged": { "index": 66, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the moderation API flagged the input as violating the usage policies. For a batch of inputs this is true when at least one input was flagged", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_FLAGGED" }, + "CamelOpenAIModerationResults": { "index": 67, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "One verdict per moderated input, in the order of the inputs. Each entry holds the keys 'input', 'flagged', 'categories', 'categoryScores' and, when the provider reports it, 'categoryAppliedInputTypes', so a batch can be split and routed per item", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESULTS" }, + "CamelOpenAIModerationCategories": { "index": 68, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation categories and whether each one was violated, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORIES" }, + "CamelOpenAIModerationCategoryScores": { "index": 69, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation confidence score per category, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORY_SCORES" }, + "CamelOpenAIModerationResponseModel": { "index": 70, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE_MODEL" }, + "CamelOpenAIAudioModel": { "index": 71, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for audio transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_MODEL" }, + "CamelOpenAIAudioLanguage": { "index": 72, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The language of the input audio (ISO-639-1)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGE" }, + "CamelOpenAIAudioResponseFormat": { "index": 73, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format for audio transcription (json, text, srt, verbose_json, vtt, diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_RESPONSE_FORMAT" }, + "CamelOpenAIAudioTemperature": { "index": 74, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sampling temperature for audio transcription (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TEMPERATURE" }, + "CamelOpenAIAudioPrompt": { "index": 75, "kind": "header", "displayName": "", "group": "common", "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": 76, "kind": "header", "displayName": "", "group": "common", "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" }, + "CamelOpenAIAudioChunkingStrategy": { "index": 77, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Chunking strategy for diarized transcription models: auto or vad", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_CHUNKING_STRATEGY" }, + "CamelOpenAIAudioKnownSpeakerNames": { "index": 78, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker names for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_NAMES" }, + "CamelOpenAIAudioKnownSpeakerReferences": { "index": 79, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker reference audio file ids for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_REFERENCES" }, + "CamelOpenAIAudioKeywords": { "index": 80, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated keywords to improve transcription accuracy", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KEYWORDS" }, + "CamelOpenAIAudioLanguages": { "index": 81, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated input audio languages (ISO-639-1 or ISO-639-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGES" }, + "CamelOpenAIAudioInclude": { "index": 82, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated extra response fields to include (e.g. logprobs)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_INCLUDE" }, + "CamelOpenAIAudioDuration": { "index": 83, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Duration of the audio in seconds (verbose_json or diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DURATION" }, + "CamelOpenAIAudioDiarizedSegments": { "index": 84, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Speaker-labelled segments from diarized_json transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DIARIZED_SEGMENTS" }, + "CamelOpenAIAudioDetectedLanguage": { "index": 85, "kind": "header", "displayName": "", "group": "common", "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": 86, "kind": "header", "displayName": "", "group": "common", "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": 87, "kind": "header", "displayName": "", "group": "common", "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": 88, "kind": "header", "displayName": "", "group": "common", "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": 89, "kind": "header", "displayName": "", "group": "common", "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": 90, "kind": "header", "displayName": "", "group": "common", "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" }, + "CamelOpenAIImageModel": { "index": 91, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for image generation or editing (e.g., gpt-image-1, dall-e-3, dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODEL" }, + "CamelOpenAIImagePrompt": { "index": 92, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt describing the image to generate, or the edit to apply. Takes precedence over the imagePrompt endpoint option and, for image-generation, over the message body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_PROMPT" }, + "CamelOpenAIImageSize": { "index": 93, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The size of the generated image (e.g., 1024x1024, 1536x1024, auto)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_SIZE" }, + "CamelOpenAIImageQuality": { "index": 94, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The quality of the generated image (auto, high, medium, low for GPT image models; hd, standard for dall-e-3; standard for dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_QUALITY" }, + "CamelOpenAIImageResponseFormat": { "index": 95, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format of the generated image (url or b64_json). Only supported by dall-e-2 and dall-e-3; GPT image models always return base64", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE_FORMAT" }, + "CamelOpenAIImageCount": { "index": 96, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images to generate", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_COUNT" }, + "CamelOpenAIImageBackground": { "index": 97, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The background of the generated image (transparent, opaque, auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_BACKGROUND" }, + "CamelOpenAIImageOutputFormat": { "index": 98, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The output format of the generated image (png, jpeg, webp). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_FORMAT" }, + "CamelOpenAIImageOutputCompression": { "index": 99, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The compression level (0-100) for the webp or jpeg output formats. Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_COMPRESSION" }, + "CamelOpenAIImageStyle": { "index": 100, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The style of the generated image (vivid or natural). Only supported by dall-e-3", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_STYLE" }, + "CamelOpenAIImageModeration": { "index": 101, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The content moderation level for image generation (low or auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODERATION" }, + "CamelOpenAIImageInputFidelity": { "index": 102, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "How closely the edit must match the style and features of the input image (high or low). Only supported by the image-edit operation on gpt-image-1 and gpt-image-1.5", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_FIDELITY" }, + "CamelOpenAIImageMask": { "index": 103, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[], java.io.File, java.nio.file.Path or java.io.InputStream", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "An optional PNG mask for the image-edit operation, where the fully transparent areas indicate where the image should be edited", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MASK" }, + "CamelOpenAIImageResultCount": { "index": 104, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images returned in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESULT_COUNT" }, + "CamelOpenAIImageRevisedPrompt": { "index": 105, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt as revised by the model, when a single image is returned (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPT" }, + "CamelOpenAIImageRevisedPrompts": { "index": 106, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompts as revised by the model, one entry per returned image (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPTS" }, + "CamelOpenAIImageInputTokens": { "index": 107, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of input tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_TOKENS" }, + "CamelOpenAIImageOutputTokens": { "index": 108, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of output tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_TOKENS" }, + "CamelOpenAIImageTotalTokens": { "index": 109, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_TOTAL_TOKENS" } }, "bodyTypes": { "consumerOut": { "carriers": [ "pojo" ], "javaType": "com.openai.models.webhooks.UnwrapWebhookEvent", "description": "The event of the webhook operation, verified with webhookSecret, such as a batch or a background response that completed. The event type and the id of the object it is about are in headers" }, @@ -232,29 +233,33 @@ "tags": { "index": 76, "kind": "parameter", "displayName": "Tags", "group": "common", "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 tags for discovering route-based tools registered via the ai-tool component. When set, matching tools from the shared AiToolRegistry are exposed to the model alongside MCP tools." }, "temperature": { "index": 77, "kind": "parameter", "displayName": "Temperature", "group": "common", "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)" }, "toolExecutionErrorStrategy": { "index": 78, "kind": "parameter", "displayName": "Tool Execution Error Strategy", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "org.apache.camel.component.openai.ToolExecutionErrorStrategy", "enum": [ "failExchange", "repromptModel" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "failExchange", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "Strategy for handling exceptions thrown during MCP tool execution. 'failExchange' (default) propagates the exception to the Camel exchange so that standard Camel error handling (onException, dead-letter channel) can process it. This is the safer default because 'repromptModel' sends raw exception messages (which may contain connection strings, hostnames, or internal paths) to a third-party LLM provider. 'repromptModel' catches the error and sends it back to the model as a tool result so the model can attempt to recover." }, - "topP": { "index": 79, "kind": "parameter", "displayName": "Top P", "group": "common", "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": 80, "kind": "parameter", "displayName": "User Message", "group": "common", "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" }, - "writeTimeout": { "index": 81, "kind": "parameter", "displayName": "Write Timeout", "group": "common", "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": "Timeout in milliseconds for writing the request body, which matters for large payloads such as audio and image uploads. When 0 or negative, requestTimeout applies." }, - "httpServerComponent": { "index": 82, "kind": "parameter", "displayName": "Http Server Component", "group": "consumer", "label": "consumer", "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 component, or the bean, that serves the HTTP endpoint of the webhook operation. It must implement RestConsumerFactory, for example platform-http, which is used when it is on the classpath. Also read from the rest configuration when not set." }, - "webhookMaxPayloadSize": { "index": 83, "kind": "parameter", "displayName": "Webhook Max Payload Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The largest webhook request body that is read, in bytes. A bigger request is answered with 413 and is not verified." }, - "webhookPath": { "index": 84, "kind": "parameter", "displayName": "Webhook Path", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "\/openai\/webhook", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The HTTP path the webhook operation listens on." }, - "webhookSecret": { "index": 85, "kind": "parameter", "displayName": "Webhook Secret", "group": "consumer", "label": "consumer", "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 webhook signing secret of the OpenAI dashboard (it starts with whsec_), used to verify the signature of the events. Required by the webhook operation." }, - "bridgeErrorHandler": { "index": 86, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, - "exceptionHandler": { "index": 87, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, - "exchangePattern": { "index": 88, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, - "lazyStartProducer": { "index": 89, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, - "oauthProfile": { "index": 90, "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 Credentials grant. When set, the token is acquired from the configured identity provider and used instead of apiKey. Requires camel-oauth on the classpath. The profile properties are resolved from camel.oauth..client-id, camel.oauth..client-secret, and camel.oauth..token-endpoint." }, - "sslContextParameters": { "index": 91, "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 for configuring SSL\/TLS. When set, takes precedence over the individual sslTruststore, sslKeystore, and sslProtocol options." }, - "sslEndpointAlgorithm": { "index": 92, "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", "description": "The endpoint identification algorithm to validate the server hostname using the server certificate. Set to an empty string or 'none' to disable hostname verification" }, - "sslKeymanagerAlgorithm": { "index": 93, "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 manager factory for SSL connections" }, - "sslKeyPassword": { "index": 94, "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": 95, "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 used for two-way authentication for the OpenAI API" }, - "sslKeystorePassword": { "index": 96, "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": 97, "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": 98, "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": 99, "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 trust manager factory for SSL connections" }, - "sslTruststoreLocation": { "index": 100, "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 server's certificate" }, - "sslTruststorePassword": { "index": 101, "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. If a password is not set, the configured trust store can still be used, but integrity checking is disabled" }, - "sslTruststoreType": { "index": 102, "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" } + "toolSearch": { "index": 79, "kind": "parameter", "displayName": "Tool Search", "group": "common", "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": "When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible tools stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools\/list; it only reduces the definitions sent to the model. When false, every eligible tool is sent as before and the searchable flag has no effect." }, + "toolSearchEmbeddingModel": { "index": 80, "kind": "parameter", "displayName": "Tool Search Embedding Model", "group": "common", "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": "Embedding model used when toolSearchStrategy=vector, for example text-embedding-3-small. Required for vector search. It is not read from the embeddings operation model option." }, + "toolSearchMaxResults": { "index": 81, "kind": "parameter", "displayName": "Tool Search Max Results", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "Maximum number of tools returned by one tool search. Route and MCP tools are ranked together against this limit." }, + "toolSearchStrategy": { "index": 82, "kind": "parameter", "displayName": "Tool Search Strategy", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "org.apache.camel.component.ai.tool.AiToolSearchStrategy", "enum": [ "keyword", "vector" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "keyword", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search." }, + "topP": { "index": 83, "kind": "parameter", "displayName": "Top P", "group": "common", "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": 84, "kind": "parameter", "displayName": "User Message", "group": "common", "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" }, + "writeTimeout": { "index": 85, "kind": "parameter", "displayName": "Write Timeout", "group": "common", "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": "Timeout in milliseconds for writing the request body, which matters for large payloads such as audio and image uploads. When 0 or negative, requestTimeout applies." }, + "httpServerComponent": { "index": 86, "kind": "parameter", "displayName": "Http Server Component", "group": "consumer", "label": "consumer", "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 component, or the bean, that serves the HTTP endpoint of the webhook operation. It must implement RestConsumerFactory, for example platform-http, which is used when it is on the classpath. Also read from the rest configuration when not set." }, + "webhookMaxPayloadSize": { "index": 87, "kind": "parameter", "displayName": "Webhook Max Payload Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The largest webhook request body that is read, in bytes. A bigger request is answered with 413 and is not verified." }, + "webhookPath": { "index": 88, "kind": "parameter", "displayName": "Webhook Path", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "\/openai\/webhook", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The HTTP path the webhook operation listens on." }, + "webhookSecret": { "index": 89, "kind": "parameter", "displayName": "Webhook Secret", "group": "consumer", "label": "consumer", "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 webhook signing secret of the OpenAI dashboard (it starts with whsec_), used to verify the signature of the events. Required by the webhook operation." }, + "bridgeErrorHandler": { "index": 90, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, + "exceptionHandler": { "index": 91, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, + "exchangePattern": { "index": 92, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "lazyStartProducer": { "index": 93, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, + "oauthProfile": { "index": 94, "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 Credentials grant. When set, the token is acquired from the configured identity provider and used instead of apiKey. Requires camel-oauth on the classpath. The profile properties are resolved from camel.oauth..client-id, camel.oauth..client-secret, and camel.oauth..token-endpoint." }, + "sslContextParameters": { "index": 95, "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 for configuring SSL\/TLS. When set, takes precedence over the individual sslTruststore, sslKeystore, and sslProtocol options." }, + "sslEndpointAlgorithm": { "index": 96, "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", "description": "The endpoint identification algorithm to validate the server hostname using the server certificate. Set to an empty string or 'none' to disable hostname verification" }, + "sslKeymanagerAlgorithm": { "index": 97, "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 manager factory for SSL connections" }, + "sslKeyPassword": { "index": 98, "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": 99, "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 used for two-way authentication for the OpenAI API" }, + "sslKeystorePassword": { "index": 100, "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": 101, "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": 102, "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": 103, "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 trust manager factory for SSL connections" }, + "sslTruststoreLocation": { "index": 104, "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 server's certificate" }, + "sslTruststorePassword": { "index": 105, "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. If a password is not set, the configured trust store can still be used, but integrity checking is disabled" }, + "sslTruststoreType": { "index": 106, "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/openai.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/openai.json index 5649360d2032..8b0edefb4f92 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 @@ -49,102 +49,103 @@ "CamelOpenAIMaxTokens": { "index": 10, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The maximum number of tokens to generate in the completion", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MAX_TOKENS" }, "CamelOpenAIPreviousResponseId": { "index": 11, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Previous response id for server-side conversation state on the Responses API", "constantName": "org.apache.camel.component.openai.OpenAIConstants#PREVIOUS_RESPONSE_ID" }, "CamelOpenAIConversationId": { "index": 12, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of a conversation created with the Conversations API to run the Responses API request in", "constantName": "org.apache.camel.component.openai.OpenAIConstants#CONVERSATION_ID" }, - "CamelOpenAIStreaming": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to stream the response back incrementally", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STREAMING" }, - "CamelOpenAIOutputClass": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Java class name (FQCN) to use for structured output parsing", "constantName": "org.apache.camel.component.openai.OpenAIConstants#OUTPUT_CLASS" }, - "CamelOpenAIJsonSchema": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JSON schema to use for structured output validation", "constantName": "org.apache.camel.component.openai.OpenAIConstants#JSON_SCHEMA" }, - "CamelOpenAIStripThinking": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to strip ... blocks from the response body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STRIP_THINKING" }, - "CamelOpenAIMediaType": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The MIME type of the message body when sending a file or binary content (File, WrappedFile, byte or InputStream) to the model. Takes precedence over component content-type headers and automatic MIME type detection", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MEDIA_TYPE" }, - "CamelOpenAIThinkingContent": { "index": 18, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The thinking content extracted from ... blocks in the model response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#THINKING_CONTENT" }, - "CamelOpenAIReasoningContent": { "index": 19, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reasoning content from the model response reasoning_content field, used by thinking models like Qwen3 and DeepSeek-R1", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REASONING_CONTENT" }, - "CamelOpenAIResponseModel": { "index": 20, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model used for the completion response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_MODEL" }, - "CamelOpenAIResponseId": { "index": 21, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier for the completion response. The responses-retrieve and responses-cancel operations read the id of the response to act on from this header", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ID" }, - "CamelOpenAIFinishReason": { "index": 22, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reason the completion finished (e.g., stop, length, content_filter)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#FINISH_REASON" }, - "CamelOpenAIPromptTokens": { "index": 23, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the prompt for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#PROMPT_TOKENS" }, - "CamelOpenAICompletionTokens": { "index": 24, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the completion for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#COMPLETION_TOKENS" }, - "CamelOpenAITotalTokens": { "index": 25, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens used (prompt completion) for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOTAL_TOKENS" }, - "CamelOpenAIResponseAnnotations": { "index": 26, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The annotations attached to the output text of a Responses API answer, such as the url_citation and file_citation citations of web_search and file_search. Each entry is a map of the API fields", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ANNOTATIONS" }, - "CamelOpenAIResponseStatus": { "index": 27, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of a Responses API response: completed, failed, in_progress, cancelled, queued or incomplete", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_STATUS" }, - "CamelOpenAIToolIterations": { "index": 28, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of tool call iterations performed in the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOOL_ITERATIONS" }, - "CamelOpenAIMcpToolCalls": { "index": 29, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of tool names called during the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_TOOL_CALLS" }, - "CamelOpenAIMcpReturnDirect": { "index": 30, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the response came directly from a tool with returnDirect=true, rather than from the LLM", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_RETURN_DIRECT" }, - "CamelOpenAIAgenticPromptTokens": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative prompt tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_PROMPT_TOKENS" }, - "CamelOpenAIAgenticCompletionTokens": { "index": 32, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative completion tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_COMPLETION_TOKENS" }, - "CamelOpenAIAgenticTotalTokens": { "index": 33, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative total tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_TOTAL_TOKENS" }, - "CamelOpenAIResponse": { "index": 34, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.chat.completions.ChatCompletion", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI chat completion response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE" }, - "CamelOpenAIResponsesResponse": { "index": 35, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.responses.Response", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI Responses API response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSES_RESPONSE" }, - "CamelOpenAIModerationResponse": { "index": 36, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.moderations.ModerationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI moderation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE" }, - "CamelOpenAIImageResponse": { "index": 37, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.images.ImagesResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI image generation or edit response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE" }, - "CamelOpenAIEmbeddingsResponse": { "index": 38, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.embeddings.CreateEmbeddingResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI embeddings response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDINGS_RESPONSE" }, - "CamelOpenAIAudioTranscriptionResponse": { "index": 39, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.transcriptions.TranscriptionCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio transcription response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSCRIPTION_RESPONSE" }, - "CamelOpenAIAudioTranslationResponse": { "index": 40, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.translations.TranslationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio translation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSLATION_RESPONSE" }, - "CamelOpenAIBatchId": { "index": 41, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the batch to act on. Set by the batch operation, and read by batch-retrieve, batch-cancel and batch-results", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ID" }, - "CamelOpenAIBatchEndpoint": { "index": 42, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The endpoint every request in the batch calls, such as \/v1\/chat\/completions. Overrides the batchEndpoint option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ENDPOINT" }, - "CamelOpenAIBatchMetadata": { "index": 43, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Metadata to attach to the batch. Overrides the batchMetadata option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_METADATA" }, - "CamelOpenAIBatchCustomId": { "index": 44, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The custom_id of the request that OpenAIBatchAggregationStrategy builds from this message. Defaults to the message id", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_CUSTOM_ID" }, - "CamelOpenAIBatchResultsFile": { "index": 45, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Which result file the batch-results operation downloads: 'output' or 'error'. Overrides the batchResultsFile option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESULTS_FILE" }, - "CamelOpenAIBatchStatus": { "index": 46, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of the batch: validating, failed, in_progress, finalizing, completed, expired, cancelling or cancelled", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_STATUS" }, - "CamelOpenAIBatchInputFileId": { "index": 47, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the uploaded input file of the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_INPUT_FILE_ID" }, - "CamelOpenAIBatchOutputFileId": { "index": 48, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the successful requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_OUTPUT_FILE_ID" }, - "CamelOpenAIBatchErrorFileId": { "index": 49, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the failed requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERROR_FILE_ID" }, - "CamelOpenAIBatchRequestCountTotal": { "index": 50, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total number of requests in the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_TOTAL" }, - "CamelOpenAIBatchRequestCountCompleted": { "index": 51, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that completed successfully", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_COMPLETED" }, - "CamelOpenAIBatchRequestCountFailed": { "index": 52, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that failed", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_FAILED" }, - "CamelOpenAIBatchErrors": { "index": 53, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The errors that made the batch fail validation, each a map of the code, message, param and line fields of the API", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERRORS" }, - "CamelOpenAIBatchResponse": { "index": 54, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.batches.Batch", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI batch object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESPONSE" }, - "CamelOpenAIEmbeddingModel": { "index": 55, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_MODEL" }, - "CamelOpenAIEmbeddingDimensions": { "index": 56, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of output dimensions", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_DIMENSIONS" }, - "CamelOpenAIEmbeddingResponseModel": { "index": 57, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The embedding model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_RESPONSE_MODEL" }, - "CamelOpenAIEmbeddingCount": { "index": 58, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of embeddings returned", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_COUNT" }, - "CamelOpenAIEmbeddingVectorSize": { "index": 59, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Vector dimensions of the embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_VECTOR_SIZE" }, - "CamelOpenAIReferenceEmbedding": { "index": 60, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Reference embedding vector for similarity comparison", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REFERENCE_EMBEDDING" }, - "CamelOpenAISimilarityScore": { "index": 61, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Calculated cosine similarity score (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#SIMILARITY_SCORE" }, - "CamelOpenAIOriginalText": { "index": 62, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String or List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Original text content when embeddings operation is used", "constantName": "org.apache.camel.component.openai.OpenAIConstants#ORIGINAL_TEXT" }, - "CamelOpenAIModerationModel": { "index": 63, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for moderation (e.g., omni-moderation-latest)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_MODEL" }, - "CamelOpenAIModerationText": { "index": 64, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Text to moderate together with an image body, such as the caption the image was posted with. The text and the image are scored as one input and share a single verdict. Ignored when the body is not an image", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_TEXT" }, - "CamelOpenAIModerationFlagged": { "index": 65, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the moderation API flagged the input as violating the usage policies. For a batch of inputs this is true when at least one input was flagged", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_FLAGGED" }, - "CamelOpenAIModerationResults": { "index": 66, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "One verdict per moderated input, in the order of the inputs. Each entry holds the keys 'input', 'flagged', 'categories', 'categoryScores' and, when the provider reports it, 'categoryAppliedInputTypes', so a batch can be split and routed per item", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESULTS" }, - "CamelOpenAIModerationCategories": { "index": 67, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation categories and whether each one was violated, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORIES" }, - "CamelOpenAIModerationCategoryScores": { "index": 68, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation confidence score per category, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORY_SCORES" }, - "CamelOpenAIModerationResponseModel": { "index": 69, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE_MODEL" }, - "CamelOpenAIAudioModel": { "index": 70, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for audio transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_MODEL" }, - "CamelOpenAIAudioLanguage": { "index": 71, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The language of the input audio (ISO-639-1)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGE" }, - "CamelOpenAIAudioResponseFormat": { "index": 72, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format for audio transcription (json, text, srt, verbose_json, vtt, diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_RESPONSE_FORMAT" }, - "CamelOpenAIAudioTemperature": { "index": 73, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sampling temperature for audio transcription (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TEMPERATURE" }, - "CamelOpenAIAudioPrompt": { "index": 74, "kind": "header", "displayName": "", "group": "common", "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": 75, "kind": "header", "displayName": "", "group": "common", "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" }, - "CamelOpenAIAudioChunkingStrategy": { "index": 76, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Chunking strategy for diarized transcription models: auto or vad", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_CHUNKING_STRATEGY" }, - "CamelOpenAIAudioKnownSpeakerNames": { "index": 77, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker names for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_NAMES" }, - "CamelOpenAIAudioKnownSpeakerReferences": { "index": 78, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker reference audio file ids for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_REFERENCES" }, - "CamelOpenAIAudioKeywords": { "index": 79, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated keywords to improve transcription accuracy", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KEYWORDS" }, - "CamelOpenAIAudioLanguages": { "index": 80, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated input audio languages (ISO-639-1 or ISO-639-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGES" }, - "CamelOpenAIAudioInclude": { "index": 81, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated extra response fields to include (e.g. logprobs)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_INCLUDE" }, - "CamelOpenAIAudioDuration": { "index": 82, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Duration of the audio in seconds (verbose_json or diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DURATION" }, - "CamelOpenAIAudioDiarizedSegments": { "index": 83, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Speaker-labelled segments from diarized_json transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DIARIZED_SEGMENTS" }, - "CamelOpenAIAudioDetectedLanguage": { "index": 84, "kind": "header", "displayName": "", "group": "common", "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": 85, "kind": "header", "displayName": "", "group": "common", "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": 86, "kind": "header", "displayName": "", "group": "common", "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": 87, "kind": "header", "displayName": "", "group": "common", "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": 88, "kind": "header", "displayName": "", "group": "common", "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": 89, "kind": "header", "displayName": "", "group": "common", "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" }, - "CamelOpenAIImageModel": { "index": 90, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for image generation or editing (e.g., gpt-image-1, dall-e-3, dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODEL" }, - "CamelOpenAIImagePrompt": { "index": 91, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt describing the image to generate, or the edit to apply. Takes precedence over the imagePrompt endpoint option and, for image-generation, over the message body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_PROMPT" }, - "CamelOpenAIImageSize": { "index": 92, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The size of the generated image (e.g., 1024x1024, 1536x1024, auto)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_SIZE" }, - "CamelOpenAIImageQuality": { "index": 93, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The quality of the generated image (auto, high, medium, low for GPT image models; hd, standard for dall-e-3; standard for dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_QUALITY" }, - "CamelOpenAIImageResponseFormat": { "index": 94, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format of the generated image (url or b64_json). Only supported by dall-e-2 and dall-e-3; GPT image models always return base64", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE_FORMAT" }, - "CamelOpenAIImageCount": { "index": 95, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images to generate", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_COUNT" }, - "CamelOpenAIImageBackground": { "index": 96, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The background of the generated image (transparent, opaque, auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_BACKGROUND" }, - "CamelOpenAIImageOutputFormat": { "index": 97, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The output format of the generated image (png, jpeg, webp). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_FORMAT" }, - "CamelOpenAIImageOutputCompression": { "index": 98, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The compression level (0-100) for the webp or jpeg output formats. Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_COMPRESSION" }, - "CamelOpenAIImageStyle": { "index": 99, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The style of the generated image (vivid or natural). Only supported by dall-e-3", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_STYLE" }, - "CamelOpenAIImageModeration": { "index": 100, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The content moderation level for image generation (low or auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODERATION" }, - "CamelOpenAIImageInputFidelity": { "index": 101, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "How closely the edit must match the style and features of the input image (high or low). Only supported by the image-edit operation on gpt-image-1 and gpt-image-1.5", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_FIDELITY" }, - "CamelOpenAIImageMask": { "index": 102, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[], java.io.File, java.nio.file.Path or java.io.InputStream", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "An optional PNG mask for the image-edit operation, where the fully transparent areas indicate where the image should be edited", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MASK" }, - "CamelOpenAIImageResultCount": { "index": 103, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images returned in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESULT_COUNT" }, - "CamelOpenAIImageRevisedPrompt": { "index": 104, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt as revised by the model, when a single image is returned (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPT" }, - "CamelOpenAIImageRevisedPrompts": { "index": 105, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompts as revised by the model, one entry per returned image (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPTS" }, - "CamelOpenAIImageInputTokens": { "index": 106, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of input tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_TOKENS" }, - "CamelOpenAIImageOutputTokens": { "index": 107, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of output tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_TOKENS" }, - "CamelOpenAIImageTotalTokens": { "index": 108, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_TOTAL_TOKENS" } + "CamelOpenAIToolSearchSessionId": { "index": 13, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Stable identifier used to retain OpenAI tool-search discoveries across exchanges, independently of Responses API conversation state", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOOL_SEARCH_SESSION_ID" }, + "CamelOpenAIStreaming": { "index": 14, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to stream the response back incrementally", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STREAMING" }, + "CamelOpenAIOutputClass": { "index": 15, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Java class name (FQCN) to use for structured output parsing", "constantName": "org.apache.camel.component.openai.OpenAIConstants#OUTPUT_CLASS" }, + "CamelOpenAIJsonSchema": { "index": 16, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The JSON schema to use for structured output validation", "constantName": "org.apache.camel.component.openai.OpenAIConstants#JSON_SCHEMA" }, + "CamelOpenAIStripThinking": { "index": 17, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether to strip ... blocks from the response body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#STRIP_THINKING" }, + "CamelOpenAIMediaType": { "index": 18, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The MIME type of the message body when sending a file or binary content (File, WrappedFile, byte or InputStream) to the model. Takes precedence over component content-type headers and automatic MIME type detection", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MEDIA_TYPE" }, + "CamelOpenAIThinkingContent": { "index": 19, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The thinking content extracted from ... blocks in the model response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#THINKING_CONTENT" }, + "CamelOpenAIReasoningContent": { "index": 20, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reasoning content from the model response reasoning_content field, used by thinking models like Qwen3 and DeepSeek-R1", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REASONING_CONTENT" }, + "CamelOpenAIResponseModel": { "index": 21, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model used for the completion response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_MODEL" }, + "CamelOpenAIResponseId": { "index": 22, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier for the completion response. The responses-retrieve and responses-cancel operations read the id of the response to act on from this header", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ID" }, + "CamelOpenAIFinishReason": { "index": 23, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The reason the completion finished (e.g., stop, length, content_filter)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#FINISH_REASON" }, + "CamelOpenAIPromptTokens": { "index": 24, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the prompt for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#PROMPT_TOKENS" }, + "CamelOpenAICompletionTokens": { "index": 25, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of tokens used in the completion for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#COMPLETION_TOKENS" }, + "CamelOpenAITotalTokens": { "index": 26, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens used (prompt completion) for the latest API call", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOTAL_TOKENS" }, + "CamelOpenAIResponseAnnotations": { "index": 27, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The annotations attached to the output text of a Responses API answer, such as the url_citation and file_citation citations of web_search and file_search. Each entry is a map of the API fields", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_ANNOTATIONS" }, + "CamelOpenAIResponseStatus": { "index": 28, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of a Responses API response: completed, failed, in_progress, cancelled, queued or incomplete", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE_STATUS" }, + "CamelOpenAIToolIterations": { "index": 29, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of tool call iterations performed in the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#TOOL_ITERATIONS" }, + "CamelOpenAIMcpToolCalls": { "index": 30, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of tool names called during the agentic loop", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_TOOL_CALLS" }, + "CamelOpenAIMcpReturnDirect": { "index": 31, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the response came directly from a tool with returnDirect=true, rather than from the LLM", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MCP_RETURN_DIRECT" }, + "CamelOpenAIAgenticPromptTokens": { "index": 32, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative prompt tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_PROMPT_TOKENS" }, + "CamelOpenAIAgenticCompletionTokens": { "index": 33, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative completion tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_COMPLETION_TOKENS" }, + "CamelOpenAIAgenticTotalTokens": { "index": 34, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Cumulative total tokens consumed across all agentic loop iterations", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AGENTIC_TOTAL_TOKENS" }, + "CamelOpenAIResponse": { "index": 35, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.chat.completions.ChatCompletion", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI chat completion response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSE" }, + "CamelOpenAIResponsesResponse": { "index": 36, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.responses.Response", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI Responses API response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#RESPONSES_RESPONSE" }, + "CamelOpenAIModerationResponse": { "index": 37, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.moderations.ModerationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI moderation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE" }, + "CamelOpenAIImageResponse": { "index": 38, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.images.ImagesResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI image generation or edit response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE" }, + "CamelOpenAIEmbeddingsResponse": { "index": 39, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.embeddings.CreateEmbeddingResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI embeddings response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDINGS_RESPONSE" }, + "CamelOpenAIAudioTranscriptionResponse": { "index": 40, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.transcriptions.TranscriptionCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio transcription response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSCRIPTION_RESPONSE" }, + "CamelOpenAIAudioTranslationResponse": { "index": 41, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.audio.translations.TranslationCreateResponse", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI audio translation response object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TRANSLATION_RESPONSE" }, + "CamelOpenAIBatchId": { "index": 42, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the batch to act on. Set by the batch operation, and read by batch-retrieve, batch-cancel and batch-results", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ID" }, + "CamelOpenAIBatchEndpoint": { "index": 43, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The endpoint every request in the batch calls, such as \/v1\/chat\/completions. Overrides the batchEndpoint option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ENDPOINT" }, + "CamelOpenAIBatchMetadata": { "index": 44, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Metadata to attach to the batch. Overrides the batchMetadata option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_METADATA" }, + "CamelOpenAIBatchCustomId": { "index": 45, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The custom_id of the request that OpenAIBatchAggregationStrategy builds from this message. Defaults to the message id", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_CUSTOM_ID" }, + "CamelOpenAIBatchResultsFile": { "index": 46, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Which result file the batch-results operation downloads: 'output' or 'error'. Overrides the batchResultsFile option", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESULTS_FILE" }, + "CamelOpenAIBatchStatus": { "index": 47, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The status of the batch: validating, failed, in_progress, finalizing, completed, expired, cancelling or cancelled", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_STATUS" }, + "CamelOpenAIBatchInputFileId": { "index": 48, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the uploaded input file of the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_INPUT_FILE_ID" }, + "CamelOpenAIBatchOutputFileId": { "index": 49, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the successful requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_OUTPUT_FILE_ID" }, + "CamelOpenAIBatchErrorFileId": { "index": 50, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the file holding the results of the failed requests", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERROR_FILE_ID" }, + "CamelOpenAIBatchRequestCountTotal": { "index": 51, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Total number of requests in the batch", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_TOTAL" }, + "CamelOpenAIBatchRequestCountCompleted": { "index": 52, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that completed successfully", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_COMPLETED" }, + "CamelOpenAIBatchRequestCountFailed": { "index": 53, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of requests in the batch that failed", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_REQUEST_COUNT_FAILED" }, + "CamelOpenAIBatchErrors": { "index": 54, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The errors that made the batch fail validation, each a map of the code, message, param and line fields of the API", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_ERRORS" }, + "CamelOpenAIBatchResponse": { "index": 55, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "com.openai.models.batches.Batch", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The complete OpenAI batch object", "constantName": "org.apache.camel.component.openai.OpenAIConstants#BATCH_RESPONSE" }, + "CamelOpenAIEmbeddingModel": { "index": 56, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_MODEL" }, + "CamelOpenAIEmbeddingDimensions": { "index": 57, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of output dimensions", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_DIMENSIONS" }, + "CamelOpenAIEmbeddingResponseModel": { "index": 58, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The embedding model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_RESPONSE_MODEL" }, + "CamelOpenAIEmbeddingCount": { "index": 59, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Number of embeddings returned", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_COUNT" }, + "CamelOpenAIEmbeddingVectorSize": { "index": 60, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Vector dimensions of the embeddings", "constantName": "org.apache.camel.component.openai.OpenAIConstants#EMBEDDING_VECTOR_SIZE" }, + "CamelOpenAIReferenceEmbedding": { "index": 61, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Reference embedding vector for similarity comparison", "constantName": "org.apache.camel.component.openai.OpenAIConstants#REFERENCE_EMBEDDING" }, + "CamelOpenAISimilarityScore": { "index": 62, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Calculated cosine similarity score (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#SIMILARITY_SCORE" }, + "CamelOpenAIOriginalText": { "index": 63, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String or List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Original text content when embeddings operation is used", "constantName": "org.apache.camel.component.openai.OpenAIConstants#ORIGINAL_TEXT" }, + "CamelOpenAIModerationModel": { "index": 64, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for moderation (e.g., omni-moderation-latest)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_MODEL" }, + "CamelOpenAIModerationText": { "index": 65, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Text to moderate together with an image body, such as the caption the image was posted with. The text and the image are scored as one input and share a single verdict. Ignored when the body is not an image", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_TEXT" }, + "CamelOpenAIModerationFlagged": { "index": 66, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the moderation API flagged the input as violating the usage policies. For a batch of inputs this is true when at least one input was flagged", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_FLAGGED" }, + "CamelOpenAIModerationResults": { "index": 67, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "One verdict per moderated input, in the order of the inputs. Each entry holds the keys 'input', 'flagged', 'categories', 'categoryScores' and, when the provider reports it, 'categoryAppliedInputTypes', so a batch can be split and routed per item", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESULTS" }, + "CamelOpenAIModerationCategories": { "index": 68, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation categories and whether each one was violated, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORIES" }, + "CamelOpenAIModerationCategoryScores": { "index": 69, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation confidence score per category, for a single input. Not set for a list body, where 'CamelOpenAIModerationResults' carries the verdicts", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_CATEGORY_SCORES" }, + "CamelOpenAIModerationResponseModel": { "index": 70, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The moderation model used in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#MODERATION_RESPONSE_MODEL" }, + "CamelOpenAIAudioModel": { "index": 71, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for audio transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_MODEL" }, + "CamelOpenAIAudioLanguage": { "index": 72, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The language of the input audio (ISO-639-1)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGE" }, + "CamelOpenAIAudioResponseFormat": { "index": 73, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format for audio transcription (json, text, srt, verbose_json, vtt, diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_RESPONSE_FORMAT" }, + "CamelOpenAIAudioTemperature": { "index": 74, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sampling temperature for audio transcription (0.0 to 1.0)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_TEMPERATURE" }, + "CamelOpenAIAudioPrompt": { "index": 75, "kind": "header", "displayName": "", "group": "common", "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": 76, "kind": "header", "displayName": "", "group": "common", "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" }, + "CamelOpenAIAudioChunkingStrategy": { "index": 77, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Chunking strategy for diarized transcription models: auto or vad", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_CHUNKING_STRATEGY" }, + "CamelOpenAIAudioKnownSpeakerNames": { "index": 78, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker names for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_NAMES" }, + "CamelOpenAIAudioKnownSpeakerReferences": { "index": 79, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated known speaker reference audio file ids for diarized transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KNOWN_SPEAKER_REFERENCES" }, + "CamelOpenAIAudioKeywords": { "index": 80, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated keywords to improve transcription accuracy", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_KEYWORDS" }, + "CamelOpenAIAudioLanguages": { "index": 81, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated input audio languages (ISO-639-1 or ISO-639-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_LANGUAGES" }, + "CamelOpenAIAudioInclude": { "index": 82, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated extra response fields to include (e.g. logprobs)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_INCLUDE" }, + "CamelOpenAIAudioDuration": { "index": 83, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Duration of the audio in seconds (verbose_json or diarized_json)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DURATION" }, + "CamelOpenAIAudioDiarizedSegments": { "index": 84, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Speaker-labelled segments from diarized_json transcription", "constantName": "org.apache.camel.component.openai.OpenAIConstants#AUDIO_DIARIZED_SEGMENTS" }, + "CamelOpenAIAudioDetectedLanguage": { "index": 85, "kind": "header", "displayName": "", "group": "common", "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": 86, "kind": "header", "displayName": "", "group": "common", "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": 87, "kind": "header", "displayName": "", "group": "common", "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": 88, "kind": "header", "displayName": "", "group": "common", "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": 89, "kind": "header", "displayName": "", "group": "common", "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": 90, "kind": "header", "displayName": "", "group": "common", "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" }, + "CamelOpenAIImageModel": { "index": 91, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The model to use for image generation or editing (e.g., gpt-image-1, dall-e-3, dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODEL" }, + "CamelOpenAIImagePrompt": { "index": 92, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt describing the image to generate, or the edit to apply. Takes precedence over the imagePrompt endpoint option and, for image-generation, over the message body", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_PROMPT" }, + "CamelOpenAIImageSize": { "index": 93, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The size of the generated image (e.g., 1024x1024, 1536x1024, auto)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_SIZE" }, + "CamelOpenAIImageQuality": { "index": 94, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The quality of the generated image (auto, high, medium, low for GPT image models; hd, standard for dall-e-3; standard for dall-e-2)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_QUALITY" }, + "CamelOpenAIImageResponseFormat": { "index": 95, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The response format of the generated image (url or b64_json). Only supported by dall-e-2 and dall-e-3; GPT image models always return base64", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESPONSE_FORMAT" }, + "CamelOpenAIImageCount": { "index": 96, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images to generate", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_COUNT" }, + "CamelOpenAIImageBackground": { "index": 97, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The background of the generated image (transparent, opaque, auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_BACKGROUND" }, + "CamelOpenAIImageOutputFormat": { "index": 98, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The output format of the generated image (png, jpeg, webp). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_FORMAT" }, + "CamelOpenAIImageOutputCompression": { "index": 99, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The compression level (0-100) for the webp or jpeg output formats. Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_COMPRESSION" }, + "CamelOpenAIImageStyle": { "index": 100, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The style of the generated image (vivid or natural). Only supported by dall-e-3", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_STYLE" }, + "CamelOpenAIImageModeration": { "index": 101, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The content moderation level for image generation (low or auto). Only supported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MODERATION" }, + "CamelOpenAIImageInputFidelity": { "index": 102, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "How closely the edit must match the style and features of the input image (high or low). Only supported by the image-edit operation on gpt-image-1 and gpt-image-1.5", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_FIDELITY" }, + "CamelOpenAIImageMask": { "index": 103, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[], java.io.File, java.nio.file.Path or java.io.InputStream", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "An optional PNG mask for the image-edit operation, where the fully transparent areas indicate where the image should be edited", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_MASK" }, + "CamelOpenAIImageResultCount": { "index": 104, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of images returned in the response", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_RESULT_COUNT" }, + "CamelOpenAIImageRevisedPrompt": { "index": 105, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt as revised by the model, when a single image is returned (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPT" }, + "CamelOpenAIImageRevisedPrompts": { "index": 106, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompts as revised by the model, one entry per returned image (dall-e-3)", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_REVISED_PROMPTS" }, + "CamelOpenAIImageInputTokens": { "index": 107, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of input tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_INPUT_TOKENS" }, + "CamelOpenAIImageOutputTokens": { "index": 108, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The number of output tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_OUTPUT_TOKENS" }, + "CamelOpenAIImageTotalTokens": { "index": 109, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The total number of tokens billed for the image request. Only reported by GPT image models", "constantName": "org.apache.camel.component.openai.OpenAIConstants#IMAGE_TOTAL_TOKENS" } }, "bodyTypes": { "consumerOut": { "carriers": [ "pojo" ], "javaType": "com.openai.models.webhooks.UnwrapWebhookEvent", "description": "The event of the webhook operation, verified with webhookSecret, such as a batch or a background response that completed. The event type and the id of the object it is about are in headers" }, @@ -232,29 +233,33 @@ "tags": { "index": 76, "kind": "parameter", "displayName": "Tags", "group": "common", "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 tags for discovering route-based tools registered via the ai-tool component. When set, matching tools from the shared AiToolRegistry are exposed to the model alongside MCP tools." }, "temperature": { "index": 77, "kind": "parameter", "displayName": "Temperature", "group": "common", "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)" }, "toolExecutionErrorStrategy": { "index": 78, "kind": "parameter", "displayName": "Tool Execution Error Strategy", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "org.apache.camel.component.openai.ToolExecutionErrorStrategy", "enum": [ "failExchange", "repromptModel" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "failExchange", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "Strategy for handling exceptions thrown during MCP tool execution. 'failExchange' (default) propagates the exception to the Camel exchange so that standard Camel error handling (onException, dead-letter channel) can process it. This is the safer default because 'repromptModel' sends raw exception messages (which may contain connection strings, hostnames, or internal paths) to a third-party LLM provider. 'repromptModel' catches the error and sends it back to the model as a tool result so the model can attempt to recover." }, - "topP": { "index": 79, "kind": "parameter", "displayName": "Top P", "group": "common", "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": 80, "kind": "parameter", "displayName": "User Message", "group": "common", "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" }, - "writeTimeout": { "index": 81, "kind": "parameter", "displayName": "Write Timeout", "group": "common", "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": "Timeout in milliseconds for writing the request body, which matters for large payloads such as audio and image uploads. When 0 or negative, requestTimeout applies." }, - "httpServerComponent": { "index": 82, "kind": "parameter", "displayName": "Http Server Component", "group": "consumer", "label": "consumer", "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 component, or the bean, that serves the HTTP endpoint of the webhook operation. It must implement RestConsumerFactory, for example platform-http, which is used when it is on the classpath. Also read from the rest configuration when not set." }, - "webhookMaxPayloadSize": { "index": 83, "kind": "parameter", "displayName": "Webhook Max Payload Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The largest webhook request body that is read, in bytes. A bigger request is answered with 413 and is not verified." }, - "webhookPath": { "index": 84, "kind": "parameter", "displayName": "Webhook Path", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "\/openai\/webhook", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The HTTP path the webhook operation listens on." }, - "webhookSecret": { "index": 85, "kind": "parameter", "displayName": "Webhook Secret", "group": "consumer", "label": "consumer", "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 webhook signing secret of the OpenAI dashboard (it starts with whsec_), used to verify the signature of the events. Required by the webhook operation." }, - "bridgeErrorHandler": { "index": 86, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, - "exceptionHandler": { "index": 87, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, - "exchangePattern": { "index": 88, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, - "lazyStartProducer": { "index": 89, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, - "oauthProfile": { "index": 90, "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 Credentials grant. When set, the token is acquired from the configured identity provider and used instead of apiKey. Requires camel-oauth on the classpath. The profile properties are resolved from camel.oauth..client-id, camel.oauth..client-secret, and camel.oauth..token-endpoint." }, - "sslContextParameters": { "index": 91, "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 for configuring SSL\/TLS. When set, takes precedence over the individual sslTruststore, sslKeystore, and sslProtocol options." }, - "sslEndpointAlgorithm": { "index": 92, "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", "description": "The endpoint identification algorithm to validate the server hostname using the server certificate. Set to an empty string or 'none' to disable hostname verification" }, - "sslKeymanagerAlgorithm": { "index": 93, "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 manager factory for SSL connections" }, - "sslKeyPassword": { "index": 94, "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": 95, "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 used for two-way authentication for the OpenAI API" }, - "sslKeystorePassword": { "index": 96, "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": 97, "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": 98, "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": 99, "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 trust manager factory for SSL connections" }, - "sslTruststoreLocation": { "index": 100, "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 server's certificate" }, - "sslTruststorePassword": { "index": 101, "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. If a password is not set, the configured trust store can still be used, but integrity checking is disabled" }, - "sslTruststoreType": { "index": 102, "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" } + "toolSearch": { "index": 79, "kind": "parameter", "displayName": "Tool Search", "group": "common", "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": "When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible tools stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools\/list; it only reduces the definitions sent to the model. When false, every eligible tool is sent as before and the searchable flag has no effect." }, + "toolSearchEmbeddingModel": { "index": 80, "kind": "parameter", "displayName": "Tool Search Embedding Model", "group": "common", "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": "Embedding model used when toolSearchStrategy=vector, for example text-embedding-3-small. Required for vector search. It is not read from the embeddings operation model option." }, + "toolSearchMaxResults": { "index": 81, "kind": "parameter", "displayName": "Tool Search Max Results", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "Maximum number of tools returned by one tool search. Route and MCP tools are ranked together against this limit." }, + "toolSearchStrategy": { "index": 82, "kind": "parameter", "displayName": "Tool Search Strategy", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "org.apache.camel.component.ai.tool.AiToolSearchStrategy", "enum": [ "keyword", "vector" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "keyword", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search." }, + "topP": { "index": 83, "kind": "parameter", "displayName": "Top P", "group": "common", "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": 84, "kind": "parameter", "displayName": "User Message", "group": "common", "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" }, + "writeTimeout": { "index": 85, "kind": "parameter", "displayName": "Write Timeout", "group": "common", "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": "Timeout in milliseconds for writing the request body, which matters for large payloads such as audio and image uploads. When 0 or negative, requestTimeout applies." }, + "httpServerComponent": { "index": 86, "kind": "parameter", "displayName": "Http Server Component", "group": "consumer", "label": "consumer", "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 component, or the bean, that serves the HTTP endpoint of the webhook operation. It must implement RestConsumerFactory, for example platform-http, which is used when it is on the classpath. Also read from the rest configuration when not set." }, + "webhookMaxPayloadSize": { "index": 87, "kind": "parameter", "displayName": "Webhook Max Payload Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The largest webhook request body that is read, in bytes. A bigger request is answered with 413 and is not verified." }, + "webhookPath": { "index": 88, "kind": "parameter", "displayName": "Webhook Path", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "\/openai\/webhook", "configurationClass": "org.apache.camel.component.openai.OpenAIConfiguration", "configurationField": "configuration", "description": "The HTTP path the webhook operation listens on." }, + "webhookSecret": { "index": 89, "kind": "parameter", "displayName": "Webhook Secret", "group": "consumer", "label": "consumer", "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 webhook signing secret of the OpenAI dashboard (it starts with whsec_), used to verify the signature of the events. Required by the webhook operation." }, + "bridgeErrorHandler": { "index": 90, "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, + "exceptionHandler": { "index": 91, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, + "exchangePattern": { "index": 92, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "lazyStartProducer": { "index": 93, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, + "oauthProfile": { "index": 94, "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 Credentials grant. When set, the token is acquired from the configured identity provider and used instead of apiKey. Requires camel-oauth on the classpath. The profile properties are resolved from camel.oauth..client-id, camel.oauth..client-secret, and camel.oauth..token-endpoint." }, + "sslContextParameters": { "index": 95, "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 for configuring SSL\/TLS. When set, takes precedence over the individual sslTruststore, sslKeystore, and sslProtocol options." }, + "sslEndpointAlgorithm": { "index": 96, "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", "description": "The endpoint identification algorithm to validate the server hostname using the server certificate. Set to an empty string or 'none' to disable hostname verification" }, + "sslKeymanagerAlgorithm": { "index": 97, "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 manager factory for SSL connections" }, + "sslKeyPassword": { "index": 98, "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": 99, "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 used for two-way authentication for the OpenAI API" }, + "sslKeystorePassword": { "index": 100, "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": 101, "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": 102, "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": 103, "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 trust manager factory for SSL connections" }, + "sslTruststoreLocation": { "index": 104, "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 server's certificate" }, + "sslTruststorePassword": { "index": 105, "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. If a password is not set, the configured trust store can still be used, but integrity checking is disabled" }, + "sslTruststoreType": { "index": 106, "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/spring-ai-chat.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-ai-chat.json index 0eb3953d05d5..3ce6042c6041 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-ai-chat.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-ai-chat.json @@ -74,34 +74,38 @@ "systemMessage": { "index": 4, "kind": "parameter", "displayName": "System Message", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Default system message to set context for the conversation. Can be overridden by the CamelSpringAiChatSystemMessage header." }, "tags": { "index": 5, "kind": "parameter", "displayName": "Tags", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Tags for discovering and calling Camel route tools" }, "toolNames": { "index": 6, "kind": "parameter", "displayName": "Tool Names", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Comma-separated tool names for selecting tools by name. Names are resolved against a ToolCallbackResolver bound in the registry (Spring Boot applications get Spring AI's auto-configured one), then against the tools discovered via tags and configured via toolCallbacks, and finally against a ToolCallback bound in the registry under that name. An unresolvable name fails the exchange." }, - "userMessage": { "index": 7, "kind": "parameter", "displayName": "User Message", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Default user message text for multimodal requests. Can be combined with media data in the message body." }, - "lazyStartProducer": { "index": 8, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, - "advisors": { "index": 9, "kind": "parameter", "displayName": "Advisors", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "List of custom advisors to add to the ChatClient. These advisors will be added after the built-in advisors (SimpleLogger, SafeGuard, ChatMemory, QuestionAnswer) in the order they are provided in the list." }, - "chatMemory": { "index": 10, "kind": "parameter", "displayName": "Chat Memory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.ai.chat.memory.ChatMemory", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "ChatMemory instance for maintaining conversation history across requests. When provided, conversation context will be automatically managed using MessageChatMemoryAdvisor." }, - "chatMemoryVectorStore": { "index": 11, "kind": "parameter", "displayName": "Chat Memory Vector Store", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.ai.vectorstore.VectorStore", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "VectorStore instance for maintaining conversation history using semantic search. When provided, conversation context will be automatically managed using VectorStoreChatMemoryAdvisor. This is an alternative to chatMemory that uses vector embeddings for long-term memory with semantic retrieval." }, - "entityClass": { "index": 12, "kind": "parameter", "displayName": "Entity Class", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.Class", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "The Java class to use for entity response conversion using ChatClient.entity(Class). When specified, the response will be automatically converted to this type instead of returning a String." }, - "maxFileSize": { "index": 13, "kind": "parameter", "displayName": "Max File Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum file size in bytes for multimodal content (images, audio, PDFs, etc.). Files exceeding this size will be rejected with an exception. Default is 1048576 bytes (1MB). Set to 0 to disable size checking (not recommended)." }, - "maxTokens": { "index": 14, "kind": "parameter", "displayName": "Max Tokens", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum tokens in the response." }, - "mcpServer": { "index": 15, "kind": "parameter", "displayName": "Mcp Server", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "mcpServer.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "MCP server configurations. Define servers using prefix notation: mcpServer..transportType=stdiosse, mcpServer..command= (stdio), mcpServer..args= (stdio), mcpServer..url= (sse), mcpServer..oauthProfile= (OAuth profile for HTTP auth, requires camel-oauth). This is a multi-value option with prefix: mcpServer." }, - "mcpTimeout": { "index": 16, "kind": "parameter", "displayName": "Mcp Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 20, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Timeout in seconds for MCP operations including tool execution and initialization" }, - "outputClass": { "index": 17, "kind": "parameter", "displayName": "Output Class", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.Class", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "The Java class to use for BEAN output format conversion. Required when outputFormat is BEAN." }, - "outputFormat": { "index": 18, "kind": "parameter", "displayName": "Output Format", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "The output format for structured output conversion (BEAN, MAP, LIST). Used in conjunction with outputClass for BEAN format." }, - "structuredOutputConverter": { "index": 19, "kind": "parameter", "displayName": "Structured Output Converter", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.ai.converter.StructuredOutputConverter", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "A StructuredOutputConverter for converting the chat response to structured output (e.g., BeanOutputConverter, MapOutputConverter, ListOutputConverter). When provided, the converter will be used to transform the response into the desired format." }, - "structuredOutputValidation": { "index": 20, "kind": "parameter", "displayName": "Structured Output Validation", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Enable structured output validation with automatic retry on validation failure. When enabled, the StructuredOutputValidationAdvisor validates the response against a JSON Schema and re-prompts the LLM with validation errors if the output is invalid." }, - "structuredOutputValidationMaxAttempts": { "index": 21, "kind": "parameter", "displayName": "Structured Output Validation Max Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum number of retry attempts for structured output validation" }, - "systemMetadata": { "index": 22, "kind": "parameter", "displayName": "System Metadata", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Metadata to attach to system messages. This metadata can be used for tracking system prompt versions, model configurations, or other application-specific data." }, - "temperature": { "index": 23, "kind": "parameter", "displayName": "Temperature", "group": "advanced", "label": "advanced", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Temperature parameter for response randomness (0.0-2.0)." }, - "toolCallbacks": { "index": 24, "kind": "parameter", "displayName": "Tool Callbacks", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "List of ToolCallback instances to register alongside Camel route tools. Use MethodToolCallbackProvider.builder().toolObjects(bean).build().getToolCallbacks() to resolve callbacks from Tool-annotated beans." }, - "toolContext": { "index": 25, "kind": "parameter", "displayName": "Tool Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Context map to pass to tools during execution. Tool methods accepting a ToolContext parameter will receive these values." }, - "topKSampling": { "index": 26, "kind": "parameter", "displayName": "Top KSampling", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Top K parameter for sampling." }, - "topP": { "index": 27, "kind": "parameter", "displayName": "Top P", "group": "advanced", "label": "advanced", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Top P parameter for nucleus sampling." }, - "userMetadata": { "index": 28, "kind": "parameter", "displayName": "User Metadata", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Metadata to attach to user messages. This metadata can be used for tracking conversation context, message identifiers, or other application-specific data." }, - "ragTemplate": { "index": 29, "kind": "parameter", "displayName": "Rag Template", "group": "rag", "label": "rag", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Context:\\n\\{context}\\n\\nQuestion: \\{question}", "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Template for formatting RAG (Retrieval Augmented Generation) prompts when augmented data is provided. The template supports two placeholders: {context} for the retrieved documents and {question} for the user's question. Default template is Context:\\n{context}\\n\\nQuestion: {question}." }, - "similarityThreshold": { "index": 30, "kind": "parameter", "displayName": "Similarity Threshold", "group": "rag", "label": "rag", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.7, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Similarity threshold for RAG retrieval (default: 0.7)." }, - "topK": { "index": 31, "kind": "parameter", "displayName": "Top K", "group": "rag", "label": "rag", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Number of top documents to retrieve for RAG (default: 5)." }, - "vectorStore": { "index": 32, "kind": "parameter", "displayName": "Vector Store", "group": "rag", "label": "rag", "required": false, "type": "object", "javaType": "org.springframework.ai.vectorstore.VectorStore", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "VectorStore for automatic RAG retrieval." }, - "safeguardFailureResponse": { "index": 33, "kind": "parameter", "displayName": "Safeguard Failure Response", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Failure response message for SafeGuard advisor when sensitive content is detected. If not specified, a default message will be used." }, - "safeguardSensitiveWords": { "index": 34, "kind": "parameter", "displayName": "Safeguard Sensitive Words", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Comma-separated list of sensitive words for SafeGuard advisor. When provided, the SafeGuard advisor will be enabled to prevent generation of content containing these words." }, - "safeguardOrder": { "index": 35, "kind": "parameter", "displayName": "Safeguard Order", "group": "security (advanced)", "label": "security,advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Order of execution for SafeGuard advisor. Lower numbers execute first. Default is 0." } + "toolSearch": { "index": 7, "kind": "parameter", "displayName": "Tool Search", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible route tools and toolCallbacks stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools\/list. Camel must build the ChatClient from chatModel." }, + "toolSearchEmbeddingModel": { "index": 8, "kind": "parameter", "displayName": "Tool Search Embedding Model", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.springframework.ai.embedding.EmbeddingModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Spring AI embedding model used when toolSearchStrategy=vector. Required for vector search." }, + "toolSearchMaxResults": { "index": 9, "kind": "parameter", "displayName": "Tool Search Max Results", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum number of tools returned by one tool search. Route and MCP tools are ranked together." }, + "toolSearchStrategy": { "index": 10, "kind": "parameter", "displayName": "Tool Search Strategy", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "org.apache.camel.component.ai.tool.AiToolSearchStrategy", "enum": [ "keyword", "vector" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "keyword", "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search." }, + "userMessage": { "index": 11, "kind": "parameter", "displayName": "User Message", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Default user message text for multimodal requests. Can be combined with media data in the message body." }, + "lazyStartProducer": { "index": 12, "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 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 then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, + "advisors": { "index": 13, "kind": "parameter", "displayName": "Advisors", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "List of custom advisors to add to the ChatClient. These advisors will be added after the built-in advisors (SimpleLogger, SafeGuard, ChatMemory, QuestionAnswer) in the order they are provided in the list." }, + "chatMemory": { "index": 14, "kind": "parameter", "displayName": "Chat Memory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.ai.chat.memory.ChatMemory", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "ChatMemory instance for maintaining conversation history across requests. When provided, conversation context will be automatically managed using MessageChatMemoryAdvisor." }, + "chatMemoryVectorStore": { "index": 15, "kind": "parameter", "displayName": "Chat Memory Vector Store", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.ai.vectorstore.VectorStore", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "VectorStore instance for maintaining conversation history using semantic search. When provided, conversation context will be automatically managed using VectorStoreChatMemoryAdvisor. This is an alternative to chatMemory that uses vector embeddings for long-term memory with semantic retrieval." }, + "entityClass": { "index": 16, "kind": "parameter", "displayName": "Entity Class", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.Class", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "The Java class to use for entity response conversion using ChatClient.entity(Class). When specified, the response will be automatically converted to this type instead of returning a String." }, + "maxFileSize": { "index": 17, "kind": "parameter", "displayName": "Max File Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum file size in bytes for multimodal content (images, audio, PDFs, etc.). Files exceeding this size will be rejected with an exception. Default is 1048576 bytes (1MB). Set to 0 to disable size checking (not recommended)." }, + "maxTokens": { "index": 18, "kind": "parameter", "displayName": "Max Tokens", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum tokens in the response." }, + "mcpServer": { "index": 19, "kind": "parameter", "displayName": "Mcp Server", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "mcpServer.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "MCP server configurations. Define servers using prefix notation: mcpServer..transportType=stdiosse, mcpServer..command= (stdio), mcpServer..args= (stdio), mcpServer..url= (sse), mcpServer..oauthProfile= (OAuth profile for HTTP auth, requires camel-oauth). This is a multi-value option with prefix: mcpServer." }, + "mcpTimeout": { "index": 20, "kind": "parameter", "displayName": "Mcp Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 20, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Timeout in seconds for MCP operations including tool execution and initialization" }, + "outputClass": { "index": 21, "kind": "parameter", "displayName": "Output Class", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.Class", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "The Java class to use for BEAN output format conversion. Required when outputFormat is BEAN." }, + "outputFormat": { "index": 22, "kind": "parameter", "displayName": "Output Format", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "The output format for structured output conversion (BEAN, MAP, LIST). Used in conjunction with outputClass for BEAN format." }, + "structuredOutputConverter": { "index": 23, "kind": "parameter", "displayName": "Structured Output Converter", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.springframework.ai.converter.StructuredOutputConverter", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "A StructuredOutputConverter for converting the chat response to structured output (e.g., BeanOutputConverter, MapOutputConverter, ListOutputConverter). When provided, the converter will be used to transform the response into the desired format." }, + "structuredOutputValidation": { "index": 24, "kind": "parameter", "displayName": "Structured Output Validation", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Enable structured output validation with automatic retry on validation failure. When enabled, the StructuredOutputValidationAdvisor validates the response against a JSON Schema and re-prompts the LLM with validation errors if the output is invalid." }, + "structuredOutputValidationMaxAttempts": { "index": 25, "kind": "parameter", "displayName": "Structured Output Validation Max Attempts", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Maximum number of retry attempts for structured output validation" }, + "systemMetadata": { "index": 26, "kind": "parameter", "displayName": "System Metadata", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Metadata to attach to system messages. This metadata can be used for tracking system prompt versions, model configurations, or other application-specific data." }, + "temperature": { "index": 27, "kind": "parameter", "displayName": "Temperature", "group": "advanced", "label": "advanced", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Temperature parameter for response randomness (0.0-2.0)." }, + "toolCallbacks": { "index": 28, "kind": "parameter", "displayName": "Tool Callbacks", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "List of ToolCallback instances to register alongside Camel route tools. Use MethodToolCallbackProvider.builder().toolObjects(bean).build().getToolCallbacks() to resolve callbacks from Tool-annotated beans." }, + "toolContext": { "index": 29, "kind": "parameter", "displayName": "Tool Context", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Context map to pass to tools during execution. Tool methods accepting a ToolContext parameter will receive these values." }, + "topKSampling": { "index": 30, "kind": "parameter", "displayName": "Top KSampling", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Top K parameter for sampling." }, + "topP": { "index": 31, "kind": "parameter", "displayName": "Top P", "group": "advanced", "label": "advanced", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Top P parameter for nucleus sampling." }, + "userMetadata": { "index": 32, "kind": "parameter", "displayName": "User Metadata", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Metadata to attach to user messages. This metadata can be used for tracking conversation context, message identifiers, or other application-specific data." }, + "ragTemplate": { "index": 33, "kind": "parameter", "displayName": "Rag Template", "group": "rag", "label": "rag", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Context:\\n\\{context}\\n\\nQuestion: \\{question}", "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Template for formatting RAG (Retrieval Augmented Generation) prompts when augmented data is provided. The template supports two placeholders: {context} for the retrieved documents and {question} for the user's question. Default template is Context:\\n{context}\\n\\nQuestion: {question}." }, + "similarityThreshold": { "index": 34, "kind": "parameter", "displayName": "Similarity Threshold", "group": "rag", "label": "rag", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.7, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Similarity threshold for RAG retrieval (default: 0.7)." }, + "topK": { "index": 35, "kind": "parameter", "displayName": "Top K", "group": "rag", "label": "rag", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Number of top documents to retrieve for RAG (default: 5)." }, + "vectorStore": { "index": 36, "kind": "parameter", "displayName": "Vector Store", "group": "rag", "label": "rag", "required": false, "type": "object", "javaType": "org.springframework.ai.vectorstore.VectorStore", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "VectorStore for automatic RAG retrieval." }, + "safeguardFailureResponse": { "index": 37, "kind": "parameter", "displayName": "Safeguard Failure Response", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Failure response message for SafeGuard advisor when sensitive content is detected. If not specified, a default message will be used." }, + "safeguardSensitiveWords": { "index": 38, "kind": "parameter", "displayName": "Safeguard Sensitive Words", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Comma-separated list of sensitive words for SafeGuard advisor. When provided, the SafeGuard advisor will be enabled to prevent generation of content containing these words." }, + "safeguardOrder": { "index": 39, "kind": "parameter", "displayName": "Safeguard Order", "group": "security (advanced)", "label": "security,advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.springai.chat.SpringAiChatConfiguration", "configurationField": "configuration", "description": "Order of execution for SafeGuard advisor. Lower numbers execute first. Default is 0." } } } diff --git a/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json b/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json index 9116d6866773..ca460e436b32 100644 --- a/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json +++ b/components-starter/camel-ai-tool-starter/src/main/docs/ai-tool.json @@ -122,6 +122,13 @@ "sourceType": "org.apache.camel.component.ai.tool.springboot.AiToolComponentConfiguration", "defaultValue": false }, + { + "name": "camel.component.ai-tool.searchable", + "type": "java.lang.Boolean", + "description": "When true, this route tool is eligible for tool search and is omitted from the initial model request while the producer has tool search enabled. When false, the tool stays directly visible to the model. Searchability is a visibility policy, not an authorization policy, and has no effect when tool search is disabled.", + "sourceType": "org.apache.camel.component.ai.tool.springboot.AiToolComponentConfiguration", + "defaultValue": false + }, { "name": "camel.component.ai-tool.tags", "type": "java.lang.String", diff --git a/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java b/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java index 81bc8e6d5de2..7548a40f0bed 100644 --- a/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java +++ b/components-starter/camel-ai-tool-starter/src/main/java/org/apache/camel/component/ai/tool/springboot/AiToolComponentConfiguration.java @@ -127,6 +127,14 @@ public class AiToolComponentConfiguration * when the tool is exposed via camel-mcp-server. */ private Boolean returnDirect = false; + /** + * When true, this route tool is eligible for tool search and is omitted + * from the initial model request while the producer has tool search + * enabled. When false, the tool stays directly visible to the model. + * Searchability is a visibility policy, not an authorization policy, and + * has no effect when tool search is disabled. + */ + private Boolean searchable = false; /** * Comma-separated list of tags used to group tools. Producers filter the * registry by these tags to select which tools to expose to the LLM. When @@ -266,6 +274,14 @@ public void setReturnDirect(Boolean returnDirect) { this.returnDirect = returnDirect; } + public Boolean getSearchable() { + return searchable; + } + + public void setSearchable(Boolean searchable) { + this.searchable = searchable; + } + public String getTags() { return tags; } diff --git a/components-starter/camel-langchain4j-agent-starter/src/main/docs/langchain4j-agent.json b/components-starter/camel-langchain4j-agent-starter/src/main/docs/langchain4j-agent.json index efbe8ac6e7a7..0702459ee7d9 100644 --- a/components-starter/camel-langchain4j-agent-starter/src/main/docs/langchain4j-agent.json +++ b/components-starter/camel-langchain4j-agent-starter/src/main/docs/langchain4j-agent.json @@ -160,6 +160,33 @@ "type": "java.time.Duration", "description": "The request timeout of the model (30s, 2m), when the model is created from the provider.", "sourceType": "org.apache.camel.component.langchain4j.agent.springboot.LangChain4jAgentComponentConfiguration" + }, + { + "name": "camel.component.langchain4j-agent.tool-search", + "type": "java.lang.Boolean", + "description": "When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible route tools and customTools stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools\/list. A dynamic tool provider registered outside Camel is not searched. Only supported in inline agent creation mode.", + "sourceType": "org.apache.camel.component.langchain4j.agent.springboot.LangChain4jAgentComponentConfiguration", + "defaultValue": false + }, + { + "name": "camel.component.langchain4j-agent.tool-search-embedding-model", + "type": "dev.langchain4j.model.embedding.EmbeddingModel", + "description": "LangChain4j embedding model used when toolSearchStrategy=vector. Required for vector search. The option is a dev.langchain4j.model.embedding.EmbeddingModel type.", + "sourceType": "org.apache.camel.component.langchain4j.agent.springboot.LangChain4jAgentComponentConfiguration" + }, + { + "name": "camel.component.langchain4j-agent.tool-search-max-results", + "type": "java.lang.Integer", + "description": "Maximum number of tools returned by one tool search. Route and MCP tools are ranked together.", + "sourceType": "org.apache.camel.component.langchain4j.agent.springboot.LangChain4jAgentComponentConfiguration", + "defaultValue": 5 + }, + { + "name": "camel.component.langchain4j-agent.tool-search-strategy", + "type": "org.apache.camel.component.ai.tool.AiToolSearchStrategy", + "description": "How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search.", + "sourceType": "org.apache.camel.component.langchain4j.agent.springboot.LangChain4jAgentComponentConfiguration", + "defaultValue": "keyword" } ], "hints": [], diff --git a/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConfiguration.java b/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConfiguration.java index c12230c4648d..c320386a5aef 100644 --- a/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConfiguration.java +++ b/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConfiguration.java @@ -20,6 +20,9 @@ import java.util.List; import java.util.Map; import dev.langchain4j.mcp.client.McpClient; +import dev.langchain4j.model.embedding.EmbeddingModel; +import org.apache.camel.component.ai.tool.AiToolSearchStrategy; +import org.apache.camel.component.langchain4j.agent.LangChain4jAgentComponent; import org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration; import org.apache.camel.component.langchain4j.agent.api.Agent; import org.apache.camel.component.langchain4j.agent.api.AgentConfiguration; @@ -121,6 +124,33 @@ public class LangChain4jAgentComponentConfiguration * Tags for discovering and calling Camel route tools */ private String tags; + /** + * When true, route tools marked searchable and remote MCP tools are omitted + * from the initial model request and exposed through one synthetic search + * tool. Directly visible route tools and customTools stay in the request. + * Search is a visibility policy, not authorization. Enabling it does not + * skip MCP tools/list. A dynamic tool provider registered outside Camel is + * not searched. Only supported in inline agent creation mode. + */ + private Boolean toolSearch = false; + /** + * LangChain4j embedding model used when toolSearchStrategy=vector. Required + * for vector search. The option is a + * dev.langchain4j.model.embedding.EmbeddingModel type. + */ + private EmbeddingModel toolSearchEmbeddingModel; + /** + * Maximum number of tools returned by one tool search. Route and MCP tools + * are ranked together. + */ + private Integer toolSearchMaxResults = 5; + /** + * How tool search ranks route and MCP tools. 'keyword' matches the tool + * name and description. 'vector' uses cosine similarity and requires + * toolSearchEmbeddingModel. Vector search does not fall back to keyword + * search. + */ + private AiToolSearchStrategy toolSearchStrategy = AiToolSearchStrategy.KEYWORD; /** * Whether autowiring is enabled. This is used for automatic autowiring * options (the option must be marked as autowired) by looking up in the @@ -286,6 +316,39 @@ public void setTags(String tags) { this.tags = tags; } + public Boolean getToolSearch() { + return toolSearch; + } + + public void setToolSearch(Boolean toolSearch) { + this.toolSearch = toolSearch; + } + + public EmbeddingModel getToolSearchEmbeddingModel() { + return toolSearchEmbeddingModel; + } + + public void setToolSearchEmbeddingModel( + EmbeddingModel toolSearchEmbeddingModel) { + this.toolSearchEmbeddingModel = toolSearchEmbeddingModel; + } + + public Integer getToolSearchMaxResults() { + return toolSearchMaxResults; + } + + public void setToolSearchMaxResults(Integer toolSearchMaxResults) { + this.toolSearchMaxResults = toolSearchMaxResults; + } + + public AiToolSearchStrategy getToolSearchStrategy() { + return toolSearchStrategy; + } + + public void setToolSearchStrategy(AiToolSearchStrategy toolSearchStrategy) { + this.toolSearchStrategy = toolSearchStrategy; + } + public Boolean getAutowiredEnabled() { return autowiredEnabled; } diff --git a/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConverter.java b/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConverter.java index 26e551b0f653..183b6eecbabc 100644 --- a/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConverter.java +++ b/components-starter/camel-langchain4j-agent-starter/src/main/java/org/apache/camel/component/langchain4j/agent/springboot/LangChain4jAgentComponentConverter.java @@ -44,6 +44,7 @@ public Set getConvertibleTypes() { answer.add(new ConvertiblePair(String.class, org.apache.camel.component.langchain4j.agent.api.AgentConfiguration.class)); answer.add(new ConvertiblePair(String.class, org.apache.camel.component.langchain4j.agent.api.AgentFactory.class)); answer.add(new ConvertiblePair(String.class, org.apache.camel.component.langchain4j.agent.LangChain4jAgentConfiguration.class)); + answer.add(new ConvertiblePair(String.class, dev.langchain4j.model.embedding.EmbeddingModel.class)); return answer; } diff --git a/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc b/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc index d5b9668c6c07..6121da43479e 100644 --- a/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc +++ b/docs/spring-boot/modules/ROOT/pages/starters/ai-tool.adoc @@ -23,7 +23,7 @@ Please refer to the above links for usage and configuration details. == Spring Boot Auto-Configuration -The starter supports 18 options, which are listed below. +The starter supports 19 options, which are listed below. [width="100%",cols="2,5,^1,2",options="header"] |=== @@ -44,6 +44,7 @@ The starter supports 18 options, which are listed below. | camel.component.ai-tool.parameters | Tool input parameters. Format: parameter.NAME=TYPE, parameter.NAME.description=TEXT, parameter.NAME.required=true or false, parameter.NAME.enum=val1,val2. Supported types: string, integer, number, boolean. Mutually exclusive with argSchema. This is a multi-value option with prefix: parameter. | | String> | camel.component.ai-tool.read-only-hint | MCP hint that the tool only reads data and does not modify state. Advisory for MCP clients; not enforced by Camel. | false | Boolean | camel.component.ai-tool.return-direct | When true, AI producers that support agentic tool loops (such as camel-openai) return this tool's result directly to the caller without sending it back to the model. Also published as an MCP tool annotation when the tool is exposed via camel-mcp-server. | false | Boolean +| camel.component.ai-tool.searchable | When true, this route tool is eligible for tool search and is omitted from the initial model request while the producer has tool search enabled. When false, the tool stays directly visible to the model. Searchability is a visibility policy, not an authorization policy, and has no effect when tool search is disabled. | false | Boolean | camel.component.ai-tool.tags | Comma-separated list of tags used to group tools. Producers filter the registry by these tags to select which tools to expose to the LLM. When omitted, the tool goes into a default pool available to all producers. | | String | camel.component.ai-tool.title | Optional display title for MCP tool listings. Advisory hint for MCP clients only. | | String |=== diff --git a/docs/spring-boot/modules/ROOT/pages/starters/langchain4j-agent.adoc b/docs/spring-boot/modules/ROOT/pages/starters/langchain4j-agent.adoc index 7f495393df2a..6b7b86c8594b 100644 --- a/docs/spring-boot/modules/ROOT/pages/starters/langchain4j-agent.adoc +++ b/docs/spring-boot/modules/ROOT/pages/starters/langchain4j-agent.adoc @@ -34,7 +34,7 @@ See the https://docs.langchain4j.dev/tutorials/spring-boot-integration[LangChain integration documentation] for provider configuration, and the component documentation for creating and configuring a Camel agent. -The starter supports 23 options, which are listed below. +The starter supports 27 options, which are listed below. [width="100%",cols="2,5,^1,2",options="header"] |=== @@ -62,4 +62,8 @@ The starter supports 23 options, which are listed below. | camel.component.langchain4j-agent.tags | Tags for discovering and calling Camel route tools | | String | camel.component.langchain4j-agent.temperature | The sampling temperature of the model, when the model is created from the provider. | | Double | camel.component.langchain4j-agent.timeout | The request timeout of the model (30s, 2m), when the model is created from the provider. | | Duration +| camel.component.langchain4j-agent.tool-search | When true, route tools marked searchable and remote MCP tools are omitted from the initial model request and exposed through one synthetic search tool. Directly visible route tools and customTools stay in the request. Search is a visibility policy, not authorization. Enabling it does not skip MCP tools/list. A dynamic tool provider registered outside Camel is not searched. Only supported in inline agent creation mode. | false | Boolean +| camel.component.langchain4j-agent.tool-search-embedding-model | LangChain4j embedding model used when toolSearchStrategy=vector. Required for vector search. The option is a dev.langchain4j.model.embedding.EmbeddingModel type. | | EmbeddingModel +| camel.component.langchain4j-agent.tool-search-max-results | Maximum number of tools returned by one tool search. Route and MCP tools are ranked together. | 5 | Integer +| camel.component.langchain4j-agent.tool-search-strategy | How tool search ranks route and MCP tools. 'keyword' matches the tool name and description. 'vector' uses cosine similarity and requires toolSearchEmbeddingModel. Vector search does not fall back to keyword search. | keyword | AiToolSearchStrategy |=== diff --git a/tooling/camel-spring-boot-dependencies/pom.xml b/tooling/camel-spring-boot-dependencies/pom.xml index 19a4ae522a24..411a19d0dfb6 100644 --- a/tooling/camel-spring-boot-dependencies/pom.xml +++ b/tooling/camel-spring-boot-dependencies/pom.xml @@ -280,37 +280,37 @@ io.micrometer micrometer-commons - 1.17.1 + 1.17.2 io.micrometer micrometer-observation - 1.17.1 + 1.17.2 io.micrometer micrometer-registry-jmx - 1.17.1 + 1.17.2 io.micrometer micrometer-registry-prometheus - 1.17.1 + 1.17.2 io.micrometer micrometer-tracing - 1.7.1 + 1.7.2 io.micrometer micrometer-tracing-bridge-otel - 1.7.1 + 1.7.2 io.micrometer micrometer-tracing-test - 1.7.1 + 1.7.2 io.opentelemetry.proto @@ -3669,6 +3669,11 @@ camel-health 4.24.0-SNAPSHOT + + org.apache.camel + camel-hibernate + 4.24.0-SNAPSHOT + org.apache.camel camel-hivemq diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java index 387d5e7d2372..f4423412edac 100644 --- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java +++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java @@ -300,7 +300,7 @@ private void createEipModelConfigurationSource(String packageName, EipModel mode prop.getField().setLiteralInitializer(option.getDefaultValue().toString()); } else if (!isBlank(option.getEnums())) { String enumShortName = type.substring(type.lastIndexOf(".") + 1); - prop.getField().setLiteralInitializer(enumShortName + "." + option.getDefaultValue()); + prop.getField().setLiteralInitializer(enumShortName + "." + enumConstantName(type, option.getDefaultValue().toString())); commonClass.addImport(model.getJavaType()); } } @@ -412,7 +412,7 @@ private void createRestConfigurationSource(String packageName, EipModel model, S prop.getField().setLiteralInitializer(option.getDefaultValue().toString()); } else if (!isBlank(option.getEnums())) { String enumShortName = type.substring(type.lastIndexOf(".") + 1); - prop.getField().setLiteralInitializer(enumShortName + "." + option.getDefaultValue()); + prop.getField().setLiteralInitializer(enumShortName + "." + enumConstantName(type, option.getDefaultValue().toString())); javaClass.addImport(model.getJavaType()); } } @@ -773,7 +773,7 @@ private void createComponentConfigurationSource(String packageName, ComponentMod prop.getField().setLiteralInitializer(option.getDefaultValue().toString()); } else if (!isBlank(option.getEnums())) { String enumShortName = type.substring(type.lastIndexOf(".") + 1); - prop.getField().setLiteralInitializer(enumShortName + "." + option.getDefaultValue()); + prop.getField().setLiteralInitializer(enumShortName + "." + enumConstantName(type, option.getDefaultValue().toString())); javaClass.addImport(model.getJavaType()); } } @@ -888,6 +888,24 @@ private GenericType loadType(String type) throws MojoFailureException { } } + // the enum constant matching the default value, as the documented enum values may use another case + private String enumConstantName(String enumType, String value) { + try { + Class clazz = loadClass(enumType); + if (clazz.isEnum()) { + for (Object constant : clazz.getEnumConstants()) { + String name = ((Enum) constant).name(); + if (name.equalsIgnoreCase(value)) { + return name; + } + } + } + } catch (MojoFailureException e) { + // ignore and use the value as-is + } + return value; + } + // try loading class, looking for inner classes if needed private Class loadClass(String loadClassName) throws MojoFailureException { Class optionClass; @@ -1238,7 +1256,7 @@ private void createDataFormatConfigurationSource(String packageName, DataFormatM prop.getField().setLiteralInitializer(defaultValue.toString()); } else if (!isBlank(option.getEnums())) { String enumShortName = type.substring(type.lastIndexOf(".") + 1); - prop.getField().setLiteralInitializer(enumShortName + "." + defaultValue); + prop.getField().setLiteralInitializer(enumShortName + "." + enumConstantName(type, defaultValue.toString())); javaClass.addImport(model.getJavaType()); } } @@ -1368,7 +1386,7 @@ private void createLanguageConfigurationSource(String packageName, LanguageModel prop.getField().setLiteralInitializer(option.getDefaultValue().toString()); } else if (isBlank(option.getEnums())) { String enumShortName = type.substring(type.lastIndexOf(".") + 1); - prop.getField().setLiteralInitializer(enumShortName + "." + option.getDefaultValue()); + prop.getField().setLiteralInitializer(enumShortName + "." + enumConstantName(type, option.getDefaultValue().toString())); javaClass.addImport(model.getJavaType()); } }