You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/10/01 10:31:08 UTC
(camel) branch main updated: CAMEL-21269: make the tokenizer usable in YAML DSL
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 2649814c1de CAMEL-21269: make the tokenizer usable in YAML DSL
2649814c1de is described below
commit 2649814c1de0b5a0453ae824403f62908aeffcf3
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Wed Sep 25 16:31:38 2024 -0300
CAMEL-21269: make the tokenizer usable in YAML DSL
- use names without dashes
- refreshed catalog
- added missing models
- avoid creating invalid catalog files
---
.../org/apache/camel/catalog/models.properties | 7 +-
.../org/apache/camel/catalog/models/aggregate.json | 2 +-
.../camel/catalog/models/circuitBreaker.json | 2 +-
.../org/apache/camel/catalog/models/doCatch.json | 2 +-
.../org/apache/camel/catalog/models/doFinally.json | 2 +-
.../org/apache/camel/catalog/models/doTry.json | 2 +-
.../org/apache/camel/catalog/models/filter.json | 2 +-
.../camel/catalog/models/idempotentConsumer.json | 2 +-
.../org/apache/camel/catalog/models/intercept.json | 2 +-
.../apache/camel/catalog/models/interceptFrom.json | 2 +-
.../catalog/models/interceptSendToEndpoint.json | 2 +-
.../org/apache/camel/catalog/models/kamelet.json | 2 +-
.../models/langChain4jCharacterTokenizer.json | 20 +
.../catalog/models/langChain4jLineTokenizer.json | 20 +
.../models/langChain4jParagraphTokenizer.json | 20 +
.../models/langChain4jSentenceTokenizer.json | 20 +
.../catalog/models/langChain4jWordTokenizer.json | 20 +
.../apache/camel/catalog/models/loadBalance.json | 2 +-
.../org/apache/camel/catalog/models/loop.json | 2 +-
.../org/apache/camel/catalog/models/multicast.json | 2 +-
.../apache/camel/catalog/models/onCompletion.json | 2 +-
.../apache/camel/catalog/models/onException.json | 2 +-
.../apache/camel/catalog/models/onFallback.json | 2 +-
.../org/apache/camel/catalog/models/otherwise.json | 2 +-
.../org/apache/camel/catalog/models/pipeline.json | 2 +-
.../apache/camel/catalog/models/resequence.json | 2 +-
.../org/apache/camel/catalog/models/route.json | 2 +-
.../org/apache/camel/catalog/models/saga.json | 2 +-
.../org/apache/camel/catalog/models/split.json | 2 +-
.../org/apache/camel/catalog/models/step.json | 2 +-
.../org/apache/camel/catalog/models/tokenizer.json | 12 +-
.../org/apache/camel/catalog/models/when.json | 2 +-
.../catalog/models/whenSkipSendToEndpoint.json | 2 +-
.../apache/camel/catalog/schemas/camel-spring.xsd | 211 +++++++---
...n4j-character => langChain4jCharacterTokenizer} | 0
.../{langchain4j-line => langChain4jLineTokenizer} | 0
...n4j-paragraph => langChain4jParagraphTokenizer} | 0
...ain4j-sentence => langChain4jSentenceTokenizer} | 0
.../{langchain4j-word => langChain4jWordTokenizer} | 0
.../tokenizer/LangChain4JCharacterTokenizer.java | 2 +-
.../tokenizer/LangChain4JLineTokenizer.java | 2 +-
.../tokenizer/LangChain4JParagraphTokenizer.java | 2 +-
.../tokenizer/LangChain4JSentenceTokenizer.java | 2 +-
.../tokenizer/LangChain4JWordTokenizer.java | 2 +-
.../modules/eips/examples/json/langChain4j.json | 1 -
.../json/langChain4jCharacterTokenizer.json | 1 +
.../examples/json/langChain4jLineTokenizer.json | 1 +
.../json/langChain4jParagraphTokenizer.json | 1 +
.../json/langChain4jSentenceTokenizer.json | 1 +
.../examples/json/langChain4jWordTokenizer.json | 1 +
.../docs/modules/eips/examples/json/tokenizer.json | 1 +
.../META-INF/org/apache/camel/model/aggregate.json | 2 +-
.../org/apache/camel/model/circuitBreaker.json | 2 +-
.../META-INF/org/apache/camel/model/doCatch.json | 2 +-
.../META-INF/org/apache/camel/model/doFinally.json | 2 +-
.../META-INF/org/apache/camel/model/doTry.json | 2 +-
.../META-INF/org/apache/camel/model/filter.json | 2 +-
.../org/apache/camel/model/idempotentConsumer.json | 2 +-
.../META-INF/org/apache/camel/model/intercept.json | 2 +-
.../org/apache/camel/model/interceptFrom.json | 2 +-
.../camel/model/interceptSendToEndpoint.json | 2 +-
.../META-INF/org/apache/camel/model/kamelet.json | 2 +-
.../org/apache/camel/model/loadBalance.json | 2 +-
.../META-INF/org/apache/camel/model/loop.json | 2 +-
.../META-INF/org/apache/camel/model/multicast.json | 2 +-
.../org/apache/camel/model/onCompletion.json | 2 +-
.../org/apache/camel/model/onException.json | 2 +-
.../org/apache/camel/model/onFallback.json | 2 +-
.../META-INF/org/apache/camel/model/otherwise.json | 2 +-
.../META-INF/org/apache/camel/model/pipeline.json | 2 +-
.../org/apache/camel/model/resequence.json | 2 +-
.../META-INF/org/apache/camel/model/route.json | 2 +-
.../META-INF/org/apache/camel/model/saga.json | 2 +-
.../META-INF/org/apache/camel/model/split.json | 2 +-
.../META-INF/org/apache/camel/model/step.json | 2 +-
.../META-INF/org/apache/camel/model/tokenizer.json | 12 +-
.../tokenizer/langChain4jCharacterTokenizer.json | 20 +
.../model/tokenizer/langChain4jLineTokenizer.json | 20 +
.../tokenizer/langChain4jParagraphTokenizer.json | 20 +
.../tokenizer/langChain4jSentenceTokenizer.json | 20 +
.../model/tokenizer/langChain4jWordTokenizer.json | 20 +
.../META-INF/org/apache/camel/model/when.json | 2 +-
.../apache/camel/model/whenSkipSendToEndpoint.json | 2 +-
.../services/org/apache/camel/model.properties | 7 +-
.../resources/org/apache/camel/model/jaxb.index | 2 +
.../org/apache/camel/model/tokenizer/jaxb.index | 5 +
.../org/apache/camel/builder/TokenizerBuilder.java | 4 +-
.../camel/builder/TokenizerBuilderFactory.java | 26 +-
.../apache/camel/model/ProcessorDefinition.java | 4 +-
.../apache/camel/model/TokenizerDefinition.java | 52 ++-
...java => TokenizerImplementationDefinition.java} | 27 +-
.../LangChain4jCharacterTokenizerDefinition.java | 58 +++
.../LangChain4jLineTokenizerDefinition.java | 60 +++
.../LangChain4jParagraphTokenizerDefinition.java | 59 +++
.../LangChain4jSentenceTokenizerDefinition.java | 58 +++
.../tokenizer/LangChain4jTokenizerDefinition.java | 65 +--
.../LangChain4jWordTokenizerDefinition.java | 58 +++
.../org/apache/camel/reifier/ProcessorReifier.java | 8 +-
.../tokenizer/LangChain4JTokenizerReifier.java | 48 ---
.../camel/reifier/tokenizer/TokenizerReifier.java | 20 +-
.../java/org/apache/camel/xml/in/ModelParser.java | 45 ++-
.../java/org/apache/camel/xml/out/ModelWriter.java | 74 +++-
.../org/apache/camel/yaml/out/ModelWriter.java | 74 +++-
.../dsl/yaml/deserializers/ModelDeserializers.java | 438 ++++++++++++++++++++-
.../deserializers/ModelDeserializersResolver.java | 20 +-
.../generated/resources/schema/camelYamlDsl.json | 247 +++++++++++-
106 files changed, 1690 insertions(+), 332 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
index 86f0df048c0..9631a0ce180 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
@@ -83,7 +83,11 @@ jsonpath
jtaTransactionErrorHandler
kamelet
kubernetesServiceDiscovery
-langChain4j
+langChain4jCharacterTokenizer
+langChain4jLineTokenizer
+langChain4jParagraphTokenizer
+langChain4jSentenceTokenizer
+langChain4jWordTokenizer
language
loadBalance
loadBalancerConfiguration
@@ -206,6 +210,7 @@ tidyMarkup
to
toD
tokenize
+tokenizer
topicLoadBalancer
transacted
transform
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
index f09f476ed7f..c5ba62caba3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
@@ -42,7 +42,7 @@
"discardOnAggregationFailure": { "index": 27, "kind": "attribute", "displayName": "Discard On Aggregation Failure", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Discards the aggregated message when aggregation failed (an exception was thrown from AggregationStrategy . This means the partly aggregated message is dropped an [...]
"forceCompletionOnStop": { "index": 28, "kind": "attribute", "displayName": "Force Completion On Stop", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Indicates to complete all current aggregated exchanges when the context is stopped" },
"completeAllOnStop": { "index": 29, "kind": "attribute", "displayName": "Complete All On Stop", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Indicates to wait to complete all current and partial (pending) aggregated exchanges when the context is stopped. This also means that we will wait for all pending exchanges which ar [...]
- "outputs": { "index": 30, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 30, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelAggregatedSize": { "index": 0, "kind": "exchangeProperty", "displayName": "Aggregated Size", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Number of exchanges that was grouped together." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json
index 3b36f0542e0..07e52af0bab 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json
@@ -19,7 +19,7 @@
"resilience4jConfiguration": { "index": 4, "kind": "element", "displayName": "Resilience4j Configuration", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.Resilience4jConfigurationDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Configures the circuit breaker to use Resilience4j with the given configuration." },
"faultToleranceConfiguration": { "index": 5, "kind": "element", "displayName": "Fault Tolerance Configuration", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.FaultToleranceConfigurationDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Configures the circuit breaker to use MicroProfile Fault Tolerance with the given configuration." },
"onFallback": { "index": 6, "kind": "element", "displayName": "On Fallback", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.OnFallbackDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "The fallback route path to execute that does not go over the network. This should be a static or cached result that can immediately be returned upon failure. If the fallback requires network connection then use onFallbackV [...]
- "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelResponseSuccessfulExecution": { "index": 0, "kind": "exchangeProperty", "displayName": "Response Successful Execution", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "description": "Whether the exchange was processed successfully by the circuit breaker" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doCatch.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doCatch.json
index dbfd34ac5bc..d01e1c42323 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doCatch.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doCatch.json
@@ -17,7 +17,7 @@
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"exception": { "index": 3, "kind": "element", "displayName": "Exception", "group": "common", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "The exception(s) to catch." },
"onWhen": { "index": 4, "kind": "element", "displayName": "On When", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.WhenDefinition", "deprecated": false, "autowired": false, "secret": false, "asPredicate": true, "description": "Sets an additional predicate that should be true before the onCatch is triggered. To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not." },
- "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", "displayName": "Exception Caught", "label": "producer", "required": false, "javaType": "java.lang.Exception", "deprecated": false, "autowired": false, "secret": false, "description": "Stores the caught exception due to a processing error of the current Exchange" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doFinally.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doFinally.json
index 5cd2667dfd4..f2d5ea840d4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doFinally.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doFinally.json
@@ -15,7 +15,7 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", "displayName": "Exception Caught", "label": "producer", "required": false, "javaType": "java.lang.Exception", "deprecated": false, "autowired": false, "secret": false, "description": "Stores the caught exception due to a processing error of the current Exchange" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
index d6c0deb7f4e..2c45cdce01e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
index e82c0cb64eb..695783bf688 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
@@ -17,6 +17,6 @@
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
"statusPropertyName": { "index": 4, "kind": "attribute", "displayName": "Status Property Name", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of exchange property to use for storing the status of the filtering. Setting this allows to know if the filter predicate evaluated as true or false." },
- "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
index 0dafef75724..cdcd48bcb71 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
@@ -21,7 +21,7 @@
"completionEager": { "index": 6, "kind": "attribute", "displayName": "Completion Eager", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether to complete the idempotent consumer eager or when the exchange is done. If this option is true to complete eager, then the idempotent consumer will trigger its completion when [...]
"skipDuplicate": { "index": 7, "kind": "attribute", "displayName": "Skip Duplicate", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets whether to skip duplicates or not. The default behavior is to skip duplicates. A duplicate message would have the Exchange property org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Bool [...]
"removeOnFailure": { "index": 8, "kind": "attribute", "displayName": "Remove On Failure", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure." },
- "outputs": { "index": 9, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 9, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
},
"exchangeProperties": {
"CamelDuplicateMessage": { "index": 0, "kind": "exchangeProperty", "displayName": "Duplicate Message", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "description": "Whether this exchange is a duplicate detected by the Idempotent Consumer EIP" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/intercept.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/intercept.json
index 2202eb95284..36755ef4184 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/intercept.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/intercept.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptFrom.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptFrom.json
index 1f0cbd2bd1e..64a0c8447ec 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptFrom.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptFrom.json
@@ -16,7 +16,7 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"uri": { "index": 3, "kind": "attribute", "displayName": "Uri", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Intercept incoming messages from the uri or uri pattern. If this option is not configured, then all incoming messages is intercepted." },
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelInterceptedEndpoint": { "index": 0, "kind": "exchangeProperty", "displayName": "Intercepted Endpoint", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint URI that was intercepted" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptSendToEndpoint.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptSendToEndpoint.json
index 179f35aaeab..a37858c6e63 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptSendToEndpoint.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/interceptSendToEndpoint.json
@@ -18,7 +18,7 @@
"uri": { "index": 3, "kind": "attribute", "displayName": "Uri", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Intercept sending to the uri or uri pattern." },
"skipSendToOriginalEndpoint": { "index": 4, "kind": "attribute", "displayName": "Skip Send To Original Endpoint", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If set to true then the message is not sent to the original endpoint. By default (false) the message is both intercepted and then sent to the original endpoint." },
"afterUri": { "index": 5, "kind": "attribute", "displayName": "After Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "After sending to the endpoint then send the message to this uri which allows to process its result." },
- "outputs": { "index": 6, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 6, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelInterceptedEndpoint": { "index": 0, "kind": "exchangeProperty", "displayName": "Intercepted Endpoint", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint URI that was intercepted" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/kamelet.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/kamelet.json
index 214fc8e2ad6..96257f19695 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/kamelet.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/kamelet.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"name": { "index": 3, "kind": "attribute", "displayName": "Name", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of the Kamelet (templateId\/routeId) to call. Options for the kamelet can be specified using uri syntax, eg mynamecount=4&type=gold." },
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jCharacterTokenizer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jCharacterTokenizer.json
new file mode 100644
index 00000000000..0daad24bd95
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jCharacterTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jCharacterTokenizer",
+ "title": "LangChain4J Tokenizer with character splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jLineTokenizer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jLineTokenizer.json
new file mode 100644
index 00000000000..d4b999bce1b
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jLineTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jLineTokenizer",
+ "title": "LangChain4J Tokenizer with line splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jParagraphTokenizer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jParagraphTokenizer.json
new file mode 100644
index 00000000000..e103c995d54
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jParagraphTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jParagraphTokenizer",
+ "title": "LangChain4J Tokenizer with paragraph splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jSentenceTokenizer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jSentenceTokenizer.json
new file mode 100644
index 00000000000..3ed719e9174
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jSentenceTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jSentenceTokenizer",
+ "title": "LangChain4J Tokenizer with sentence splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jWordTokenizer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jWordTokenizer.json
new file mode 100644
index 00000000000..87a00c85fdd
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4jWordTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jWordTokenizer",
+ "title": "LangChain4J Tokenizer with word splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json
index a189e258e42..af303fdf8bc 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json
@@ -16,7 +16,7 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"loadBalancerType": { "index": 3, "kind": "element", "displayName": "Load Balancer Type", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.LoadBalancerDefinition", "oneOf": [ "customLoadBalancer", "failoverLoadBalancer", "randomLoadBalancer", "roundRobinLoadBalancer", "stickyLoadBalancer", "topicLoadBalancer", "weightedLoadBalancer" ], "deprecated": false, "autowired": false, "secret": false, "description": "The load balancer to be used" },
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
"inheritErrorHandler": { "index": 5, "kind": "attribute", "displayName": "Inherit Error Handler", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether or not to inherit the configured error handler. The default value is true. You can use this to disable using the inherited error handler for a given DSL such as a load balancer where you wan [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
index 7155bfefe9b..0288392a30e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
@@ -19,7 +19,7 @@
"copy": { "index": 4, "kind": "attribute", "displayName": "Copy", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the copy attribute is true, a copy of the input Exchange is used for each iteration. That means each iteration will start from a copy of the same message. By default loop will loop the same exchange all over, [...]
"doWhile": { "index": 5, "kind": "attribute", "displayName": "Do While", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enables the while loop that loops until the predicate evaluates to false or null." },
"breakOnShutdown": { "index": 6, "kind": "attribute", "displayName": "Break On Shutdown", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down." },
- "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
},
"exchangeProperties": {
"CamelLoopIndex": { "index": 0, "kind": "exchangeProperty", "displayName": "Loop Index", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Index of the current iteration (0 based)." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json
index f733d527c54..28dfdf0eefa 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json
@@ -27,7 +27,7 @@
"executorService": { "index": 12, "kind": "attribute", "displayName": "Executor Service", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well." },
"onPrepare": { "index": 13, "kind": "attribute", "displayName": "On Prepare", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.Processor", "deprecated": false, "autowired": false, "secret": false, "description": "Uses the Processor when preparing the org.apache.camel.Exchange to be send. This can be used to deep-clone messages that should be send, or any custom logic needed before the exchange is send." },
"shareUnitOfWork": { "index": 14, "kind": "attribute", "displayName": "Share Unit Of Work", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Multicast will by default not share unit of work between the parent exchange and each multicasted [...]
- "outputs": { "index": 15, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 15, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelMulticastIndex": { "index": 0, "kind": "exchangeProperty", "displayName": "Multicast Index", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "An index counter that increases for each Exchange being multicasted. The counter starts from 0." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onCompletion.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onCompletion.json
index f28e0274735..d1e3f0fe99f 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onCompletion.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onCompletion.json
@@ -22,7 +22,7 @@
"executorService": { "index": 7, "kind": "attribute", "displayName": "Executor Service", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well." },
"useOriginalMessage": { "index": 8, "kind": "attribute", "displayName": "Use Original Message", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will use the original input message body when an org.apache.camel.Exchange for this on completion. The original input message is defensively copied, and the copied message body is co [...]
"onWhen": { "index": 9, "kind": "element", "displayName": "On When", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.WhenDefinition", "deprecated": false, "autowired": false, "secret": false, "asPredicate": true, "description": "Sets an additional predicate that should be true before the onCompletion is triggered. To be used for fine grained controlling whether a completion callback should be invoked or not" },
- "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelOnCompletion": { "index": 0, "kind": "exchangeProperty", "displayName": "On Completion", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "description": "Flag to mark that this exchange is currently being executed as onCompletion" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json
index 93c51757f2c..111fcacf400 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json
@@ -26,7 +26,7 @@
"onExceptionOccurredRef": { "index": 11, "kind": "attribute", "displayName": "On Exception Occurred Ref", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Importan [...]
"useOriginalMessage": { "index": 12, "kind": "attribute", "displayName": "Use Original Message", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when [...]
"useOriginalBody": { "index": 13, "kind": "attribute", "displayName": "Use Original Body", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all rede [...]
- "outputs": { "index": 14, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 14, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", "displayName": "Exception Caught", "label": "producer", "required": false, "javaType": "java.lang.Exception", "deprecated": false, "autowired": false, "secret": false, "description": "Stores the caught exception due to a processing error of the current Exchange" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json
index f01cf58f094..16d5801558b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"fallbackViaNetwork": { "index": 3, "kind": "attribute", "displayName": "Fallback Via Network", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the fallback goes over the network. If the fallback will go over the network it is another possible point of failure. It is important to execute the fallback command on a sep [...]
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/otherwise.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/otherwise.json
index 4614430aabb..643067b2c1e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/otherwise.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/otherwise.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json
index 86177d6b2e7..42bff4e4ec1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json
index b52bd448c80..351a07ff1d4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json
@@ -17,6 +17,6 @@
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
"resequencerConfig": { "index": 4, "kind": "element", "displayName": "Resequencer Config", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.config.ResequencerConfig", "oneOf": [ "batchConfig", "streamConfig" ], "deprecated": false, "autowired": false, "secret": false, "description": "To configure the resequencer in using either batch or stream configuration. Will by default use batch configuration." },
- "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/route.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/route.json
index 518efb9a209..2073da80c76 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/route.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/route.json
@@ -33,6 +33,6 @@
"inputType": { "index": 18, "kind": "element", "displayName": "Input Type", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.InputTypeDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Declare the expected data type of the input message. If the actual message type is different at runtime, camel look for a required org.apache.camel.spi.Transformer and apply if exists. The type name co [...]
"outputType": { "index": 19, "kind": "element", "displayName": "Output Type", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.OutputTypeDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Declare the expected data type of the output message. If the actual message type is different at runtime, camel look for a required org.apache.camel.spi.Transformer and apply if exists. The type nam [...]
"input": { "index": 20, "kind": "element", "displayName": "Input", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.FromDefinition", "oneOf": [ "from" ], "deprecated": false, "autowired": false, "secret": false, "description": "Input to the route." },
- "outputs": { "index": 21, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint [...]
+ "outputs": { "index": 21, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json
index 25351fc1792..31a84c17c6e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json
@@ -22,6 +22,6 @@
"compensation": { "index": 7, "kind": "element", "displayName": "Compensation", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.SagaActionUriDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "The compensation endpoint URI that must be called to compensate all changes done in the route. The route corresponding to the compensation URI must perform compensation and complete without error. If errors occur dur [...]
"completion": { "index": 8, "kind": "element", "displayName": "Completion", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.SagaActionUriDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "The completion endpoint URI that will be called when the Saga is completed successfully. The route corresponding to the completion URI must perform completion tasks and terminate without error. If errors occur during com [...]
"option": { "index": 9, "kind": "element", "displayName": "Option", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.PropertyExpressionDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Allows to save properties of the current exchange in order to re-use them in a compensation\/completion callback route. Options are usually helpful e.g. to store and retrieve identifier [...]
- "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
index a15317e635f..9c3e153b4c7 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
@@ -29,7 +29,7 @@
"executorService": { "index": 14, "kind": "attribute", "displayName": "Executor Service", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatically implied, and you do not have to enable that option as well." },
"onPrepare": { "index": 15, "kind": "attribute", "displayName": "On Prepare", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.Processor", "deprecated": false, "autowired": false, "secret": false, "description": "Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or any custom logic needed before the exchange is sent." },
"shareUnitOfWork": { "index": 16, "kind": "attribute", "displayName": "Share Unit Of Work", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Splitter will by default not share unit of work between the parent exchange and each split exchan [...]
- "outputs": { "index": 17, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercep [...]
+ "outputs": { "index": 17, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercep [...]
},
"exchangeProperties": {
"CamelSplitIndex": { "index": 0, "kind": "exchangeProperty", "displayName": "Split Index", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "A split counter that increases for each Exchange being split. The counter starts from 0." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/step.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/step.json
index b4b6ed345f6..902e748a23b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/step.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/step.json
@@ -15,7 +15,7 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelStepId": { "index": 0, "kind": "exchangeProperty", "displayName": "Step Id", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of the Step EIP" }
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4j.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/tokenizer.json
similarity index 50%
rename from core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4j.json
rename to catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/tokenizer.json
index 058b23baf82..d89aa314882 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4j.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/tokenizer.json
@@ -1,13 +1,13 @@
{
"model": {
"kind": "model",
- "name": "langChain4j",
- "title": "LangChain4J Tokenizer",
- "description": "Tokenizer that uses LangChain4j for tokenization.",
+ "name": "tokenizer",
+ "title": "Specialized tokenizer for AI applications",
+ "description": "Represents a Camel tokenizer for AI.",
"deprecated": false,
"firstVersion": "4.8.0",
"label": "eip,transformation,ai",
- "javaType": "org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition",
+ "javaType": "org.apache.camel.model.TokenizerDefinition",
"abstract": false,
"input": true,
"output": false
@@ -16,8 +16,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "tokenizerType": { "index": 3, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
- "maxTokens": { "index": 4, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
- "maxOverlap": { "index": 5, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ "tokenizerImplementation": { "index": 3, "kind": "element", "displayName": "Tokenizer Implementation", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.TokenizerImplementationDefinition", "oneOf": [ "langChain4jCharacterTokenizer", "langChain4jLineTokenizer", "langChain4jParagraphTokenizer", "langChain4jSentenceTokenizer", "langChain4jWordTokenizer" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenize [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json
index 2bc68a63e3f..c79d6dd706d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json
index 4b9a4bd815a..bd682e6c8f7 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index 56ef280c647..2986039e6e9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -857,11 +857,47 @@ Deprecated: null
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="langChain4j" type="tns:langChain4JTokenizerDefinition">
+ <xs:element name="langChain4jCharacterTokenizer" type="tns:langChain4JCharacterTokenizerDefinition">
<xs:annotation>
<xs:documentation xml:lang="en">
<![CDATA[
-Tokenizer that uses LangChain4j for tokenization.
+null
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="langChain4jLineTokenizer" type="tns:langChain4JLineTokenizerDefinition">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+null
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="langChain4jParagraphTokenizer" type="tns:langChain4JParagraphTokenizerDefinition">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+null
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="langChain4jSentenceTokenizer" type="tns:langChain4JSentenceTokenizerDefinition">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+null
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="langChain4jWordTokenizer" type="tns:langChain4JWordTokenizerDefinition">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+null
]]>
</xs:documentation>
</xs:annotation>
@@ -2092,6 +2128,15 @@ Sends the message to a dynamic endpoint
<xs:documentation xml:lang="en">
<![CDATA[
Tokenize text payloads using delimiter patterns.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="tokenizer" type="tns:tokenizerDefinition">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Represents a Camel tokenizer for AI.
]]>
</xs:documentation>
</xs:annotation>
@@ -3646,6 +3691,7 @@ will fallback to use the fixed value if the Expression result was null or 0.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -3653,7 +3699,6 @@ will fallback to use the fixed value if the Expression result was null or 0.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="parallelProcessing" type="xs:string">
@@ -4289,6 +4334,7 @@ controlling whether a thrown exception should be intercepted by this exception t
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -4296,7 +4342,6 @@ controlling whether a thrown exception should be intercepted by this exception t
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -4401,6 +4446,7 @@ controlling whether a thrown exception should be intercepted by this exception t
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -4408,7 +4454,6 @@ controlling whether a thrown exception should be intercepted by this exception t
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -4504,6 +4549,7 @@ during startup to keep at runtime only the branch that matched. Default value: f
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -4511,7 +4557,6 @@ during startup to keep at runtime only the branch that matched. Default value: f
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -4590,6 +4635,7 @@ during startup to keep at runtime only the branch that matched. Default value: f
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -4597,7 +4643,6 @@ during startup to keep at runtime only the branch that matched. Default value: f
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="configuration" type="xs:string">
@@ -5065,6 +5110,7 @@ References to a custom thread pool to use when bulkhead is enabled.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -5072,7 +5118,6 @@ References to a custom thread pool to use when bulkhead is enabled.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="fallbackViaNetwork" type="xs:string">
@@ -6236,6 +6281,7 @@ Sets the logging level to use for logging transactional rollback. This option is
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6243,7 +6289,6 @@ Sets the logging level to use for logging transactional rollback. This option is
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="statusPropertyName" type="xs:string">
@@ -6329,6 +6374,7 @@ predicate evaluated as true or false.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6336,7 +6382,6 @@ predicate evaluated as true or false.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -6493,6 +6538,7 @@ Global option value.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6500,7 +6546,6 @@ Global option value.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="idempotentRepository" type="xs:string" use="required">
@@ -6656,6 +6701,7 @@ Whether if validation is required for this input type. Default value: false
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6663,7 +6709,6 @@ Whether if validation is required for this input type. Default value: false
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -6756,6 +6801,7 @@ intercepted.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6763,7 +6809,6 @@ intercepted.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="uri" type="xs:string" use="required">
@@ -6867,6 +6912,7 @@ After sending to the endpoint then send the message to this uri which allows to
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6874,7 +6920,6 @@ After sending to the endpoint then send the message to this uri which allows to
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required">
@@ -6969,6 +7014,7 @@ mynamecount=4&type=gold.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -6976,7 +7022,6 @@ mynamecount=4&type=gold.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -7290,6 +7335,7 @@ To refer to a custom logger instance to lookup from the registry.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -7297,7 +7343,6 @@ To refer to a custom logger instance to lookup from the registry.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="copy" type="xs:string">
@@ -10720,6 +10765,7 @@ maximum decompressed size. Default value: 1073741824
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -10727,7 +10773,6 @@ maximum decompressed size. Default value: 1073741824
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="aggregationStrategy" type="xs:string">
@@ -10946,6 +10991,7 @@ controlling whether a completion callback should be invoked or not.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -10953,7 +10999,6 @@ controlling whether a completion callback should be invoked or not.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="mode" type="xs:string">
@@ -11147,6 +11192,7 @@ its considered handled as well.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -11154,7 +11200,6 @@ its considered handled as well.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="redeliveryPolicyRef" type="xs:string">
@@ -11408,6 +11453,7 @@ one of the available events. Implementations should not assume the predicate to
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -11415,7 +11461,6 @@ one of the available events. Implementations should not assume the predicate to
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -11491,6 +11536,7 @@ one of the available events. Implementations should not assume the predicate to
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -11498,7 +11544,6 @@ one of the available events. Implementations should not assume the predicate to
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="ref" type="xs:string" use="required">
@@ -12167,6 +12212,7 @@ Name of variable to remove.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -12174,7 +12220,6 @@ Name of variable to remove.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -12519,6 +12564,7 @@ Reference to the routes in the xml dsl.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -12526,7 +12572,6 @@ Reference to the routes in the xml dsl.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="autoStartup" type="xs:string">
@@ -12959,6 +13004,7 @@ actions. Option values will be transformed into input headers of the compensatio
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -12966,7 +13012,6 @@ actions. Option values will be transformed into input headers of the compensatio
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="sagaService" type="xs:string">
@@ -13419,6 +13464,7 @@ Sets the comparator to use for sorting.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -13426,7 +13472,6 @@ Sets the comparator to use for sorting.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="delimiter" type="xs:string">
@@ -13652,6 +13697,7 @@ individual unit of work. Default value: false
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -13659,7 +13705,6 @@ individual unit of work. Default value: false
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -14200,9 +14245,86 @@ Whether to auto startup components when toD is starting up. Default value: true
</xs:extension>
</xs:complexContent>
</xs:complexType>
- <xs:complexType abstract="true" name="tokenizerDefinition">
+ <xs:complexType name="tokenizerDefinition">
<xs:complexContent>
<xs:extension base="tns:noOutputDefinition">
+ <xs:sequence>
+ <xs:choice minOccurs="0">
+ <xs:element ref="tns:langChain4jCharacterTokenizer"/>
+ <xs:element name="langChain4jLineTokenizer" type="tns:langChain4jTokenizerImplementation"/>
+ <xs:element ref="tns:langChain4jParagraphTokenizer"/>
+ <xs:element ref="tns:langChain4jSentenceTokenizer"/>
+ <xs:element ref="tns:langChain4jWordTokenizer"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="langChain4JCharacterTokenizerDefinition">
+ <xs:complexContent>
+ <xs:extension base="tns:langChain4jTokenizerImplementation">
+ <xs:sequence/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="langChain4jTokenizerImplementation">
+ <xs:complexContent>
+ <xs:extension base="tns:tokenizerImplementation">
+ <xs:sequence/>
+ <xs:attribute name="tokenizerType" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the tokenizer type.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="maxTokens" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum number of tokens on each segment.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="maxOverlap" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the maximum number of tokens that can overlap in each segment.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="tokenizerImplementation">
+ <xs:complexContent>
+ <xs:extension base="tns:identifiedType">
+ <xs:sequence/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="langChain4JParagraphTokenizerDefinition">
+ <xs:complexContent>
+ <xs:extension base="tns:langChain4jTokenizerImplementation">
+ <xs:sequence/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="langChain4JSentenceTokenizerDefinition">
+ <xs:complexContent>
+ <xs:extension base="tns:langChain4jTokenizerImplementation">
+ <xs:sequence/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="langChain4JWordTokenizerDefinition">
+ <xs:complexContent>
+ <xs:extension base="tns:langChain4jTokenizerImplementation">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
@@ -14277,6 +14399,7 @@ Whether to auto startup components when toD is starting up. Default value: true
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -14284,7 +14407,6 @@ Whether to auto startup components when toD is starting up. Default value: true
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="ref" type="xs:string">
@@ -14422,6 +14544,7 @@ To type used as a target data type in the transformation.
<xs:element ref="tns:throwException"/>
<xs:element ref="tns:to"/>
<xs:element ref="tns:toD"/>
+ <xs:element ref="tns:tokenizer"/>
<xs:element ref="tns:transacted"/>
<xs:element ref="tns:transform"/>
<xs:element ref="tns:doTry"/>
@@ -14429,7 +14552,6 @@ To type used as a target data type in the transformation.
<xs:element ref="tns:validate"/>
<xs:element ref="tns:wireTap"/>
<xs:element ref="tns:serviceCall"/>
- <xs:element ref="tns:langChain4j"/>
</xs:choice>
</xs:sequence>
</xs:extension>
@@ -17387,37 +17509,10 @@ Sets the component name that this definition will apply to.
</xs:extension>
</xs:complexContent>
</xs:complexType>
- <xs:complexType name="langChain4JTokenizerDefinition">
+ <xs:complexType name="langChain4JLineTokenizerDefinition">
<xs:complexContent>
- <xs:extension base="tns:tokenizerDefinition">
+ <xs:extension base="tns:langChain4jTokenizerImplementation">
<xs:sequence/>
- <xs:attribute name="tokenizerType" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Sets the tokenizer type.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="maxTokens" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Sets the maximum number of tokens on each segment.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="maxOverlap" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Sets the maximum number of tokens that can overlap in each segment.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-character b/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jCharacterTokenizer
similarity index 100%
rename from components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-character
rename to components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jCharacterTokenizer
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-line b/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jLineTokenizer
similarity index 100%
rename from components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-line
rename to components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jLineTokenizer
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-paragraph b/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jParagraphTokenizer
similarity index 100%
rename from components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-paragraph
rename to components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jParagraphTokenizer
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-sentence b/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jSentenceTokenizer
similarity index 100%
rename from components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-sentence
rename to components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jSentenceTokenizer
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-word b/components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jWordTokenizer
similarity index 100%
rename from components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langchain4j-word
rename to components/camel-ai/camel-langchain4j-tokenizer/src/generated/resources/META-INF/services/org/apache/camel/tokenizer/langChain4jWordTokenizer
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JCharacterTokenizer.java b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JCharacterTokenizer.java
index 0e57cef0030..d7ec1238b56 100644
--- a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JCharacterTokenizer.java
+++ b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JCharacterTokenizer.java
@@ -20,7 +20,7 @@ package org.apache.camel.component.langchain4j.tokenizer;
import org.apache.camel.component.langchain4j.tokenizer.config.LangChain4JConfiguration;
import org.apache.camel.component.langchain4j.tokenizer.util.SplitterTypes;
-@org.apache.camel.spi.annotations.Tokenizer("langchain4j-character")
+@org.apache.camel.spi.annotations.Tokenizer("langChain4jCharacterTokenizer")
public class LangChain4JCharacterTokenizer extends AbstractLangChain4JTokenizer<LangChain4JConfiguration> {
@Override
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JLineTokenizer.java b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JLineTokenizer.java
index d7b1d18b709..098ae56c21d 100644
--- a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JLineTokenizer.java
+++ b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JLineTokenizer.java
@@ -20,7 +20,7 @@ package org.apache.camel.component.langchain4j.tokenizer;
import org.apache.camel.component.langchain4j.tokenizer.config.LangChain4JConfiguration;
import org.apache.camel.component.langchain4j.tokenizer.util.SplitterTypes;
-@org.apache.camel.spi.annotations.Tokenizer("langchain4j-line")
+@org.apache.camel.spi.annotations.Tokenizer("langChain4jLineTokenizer")
public class LangChain4JLineTokenizer extends AbstractLangChain4JTokenizer<LangChain4JConfiguration> {
@Override
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JParagraphTokenizer.java b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JParagraphTokenizer.java
index 4c0a4ef8b1e..7d0b9f314f4 100644
--- a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JParagraphTokenizer.java
+++ b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JParagraphTokenizer.java
@@ -20,7 +20,7 @@ package org.apache.camel.component.langchain4j.tokenizer;
import org.apache.camel.component.langchain4j.tokenizer.config.LangChain4JConfiguration;
import org.apache.camel.component.langchain4j.tokenizer.util.SplitterTypes;
-@org.apache.camel.spi.annotations.Tokenizer("langchain4j-paragraph")
+@org.apache.camel.spi.annotations.Tokenizer("langChain4jParagraphTokenizer")
public class LangChain4JParagraphTokenizer extends AbstractLangChain4JTokenizer<LangChain4JConfiguration> {
@Override
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JSentenceTokenizer.java b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JSentenceTokenizer.java
index fb94dfcc939..e16f5884461 100644
--- a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JSentenceTokenizer.java
+++ b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JSentenceTokenizer.java
@@ -20,7 +20,7 @@ package org.apache.camel.component.langchain4j.tokenizer;
import org.apache.camel.component.langchain4j.tokenizer.config.LangChain4JConfiguration;
import org.apache.camel.component.langchain4j.tokenizer.util.SplitterTypes;
-@org.apache.camel.spi.annotations.Tokenizer("langchain4j-sentence")
+@org.apache.camel.spi.annotations.Tokenizer("langChain4jSentenceTokenizer")
public class LangChain4JSentenceTokenizer extends AbstractLangChain4JTokenizer<LangChain4JConfiguration> {
@Override
diff --git a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JWordTokenizer.java b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JWordTokenizer.java
index 4b2bf2ca7b3..d6cfa158663 100644
--- a/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JWordTokenizer.java
+++ b/components/camel-ai/camel-langchain4j-tokenizer/src/main/java/org/apache/camel/component/langchain4j/tokenizer/LangChain4JWordTokenizer.java
@@ -20,7 +20,7 @@ package org.apache.camel.component.langchain4j.tokenizer;
import org.apache.camel.component.langchain4j.tokenizer.config.LangChain4JConfiguration;
import org.apache.camel.component.langchain4j.tokenizer.util.SplitterTypes;
-@org.apache.camel.spi.annotations.Tokenizer("langchain4j-word")
+@org.apache.camel.spi.annotations.Tokenizer("langChain4jWordTokenizer")
public class LangChain4JWordTokenizer extends AbstractLangChain4JTokenizer<LangChain4JConfiguration> {
@Override
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4j.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4j.json
deleted file mode 120000
index ec32999be9b..00000000000
--- a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4j.json
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4j.json
\ No newline at end of file
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jCharacterTokenizer.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jCharacterTokenizer.json
new file mode 120000
index 00000000000..4f1c7438acf
--- /dev/null
+++ b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jCharacterTokenizer.json
@@ -0,0 +1 @@
+../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jCharacterTokenizer.json
\ No newline at end of file
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jLineTokenizer.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jLineTokenizer.json
new file mode 120000
index 00000000000..751dbf2dfaa
--- /dev/null
+++ b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jLineTokenizer.json
@@ -0,0 +1 @@
+../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jLineTokenizer.json
\ No newline at end of file
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jParagraphTokenizer.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jParagraphTokenizer.json
new file mode 120000
index 00000000000..2aa2d633f2b
--- /dev/null
+++ b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jParagraphTokenizer.json
@@ -0,0 +1 @@
+../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jParagraphTokenizer.json
\ No newline at end of file
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jSentenceTokenizer.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jSentenceTokenizer.json
new file mode 120000
index 00000000000..ac4f7c9cca2
--- /dev/null
+++ b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jSentenceTokenizer.json
@@ -0,0 +1 @@
+../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jSentenceTokenizer.json
\ No newline at end of file
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jWordTokenizer.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jWordTokenizer.json
new file mode 120000
index 00000000000..6d590618d9d
--- /dev/null
+++ b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/langChain4jWordTokenizer.json
@@ -0,0 +1 @@
+../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jWordTokenizer.json
\ No newline at end of file
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/examples/json/tokenizer.json b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/tokenizer.json
new file mode 120000
index 00000000000..07625043d46
--- /dev/null
+++ b/core/camel-core-engine/src/main/docs/modules/eips/examples/json/tokenizer.json
@@ -0,0 +1 @@
+../../../../../../../../camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer.json
\ No newline at end of file
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
index f09f476ed7f..c5ba62caba3 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
@@ -42,7 +42,7 @@
"discardOnAggregationFailure": { "index": 27, "kind": "attribute", "displayName": "Discard On Aggregation Failure", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Discards the aggregated message when aggregation failed (an exception was thrown from AggregationStrategy . This means the partly aggregated message is dropped an [...]
"forceCompletionOnStop": { "index": 28, "kind": "attribute", "displayName": "Force Completion On Stop", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Indicates to complete all current aggregated exchanges when the context is stopped" },
"completeAllOnStop": { "index": 29, "kind": "attribute", "displayName": "Complete All On Stop", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Indicates to wait to complete all current and partial (pending) aggregated exchanges when the context is stopped. This also means that we will wait for all pending exchanges which ar [...]
- "outputs": { "index": 30, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 30, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelAggregatedSize": { "index": 0, "kind": "exchangeProperty", "displayName": "Aggregated Size", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Number of exchanges that was grouped together." },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
index 3b36f0542e0..07e52af0bab 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
@@ -19,7 +19,7 @@
"resilience4jConfiguration": { "index": 4, "kind": "element", "displayName": "Resilience4j Configuration", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.Resilience4jConfigurationDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Configures the circuit breaker to use Resilience4j with the given configuration." },
"faultToleranceConfiguration": { "index": 5, "kind": "element", "displayName": "Fault Tolerance Configuration", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.FaultToleranceConfigurationDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Configures the circuit breaker to use MicroProfile Fault Tolerance with the given configuration." },
"onFallback": { "index": 6, "kind": "element", "displayName": "On Fallback", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.OnFallbackDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "The fallback route path to execute that does not go over the network. This should be a static or cached result that can immediately be returned upon failure. If the fallback requires network connection then use onFallbackV [...]
- "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelResponseSuccessfulExecution": { "index": 0, "kind": "exchangeProperty", "displayName": "Response Successful Execution", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "description": "Whether the exchange was processed successfully by the circuit breaker" },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
index dbfd34ac5bc..d01e1c42323 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
@@ -17,7 +17,7 @@
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"exception": { "index": 3, "kind": "element", "displayName": "Exception", "group": "common", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "The exception(s) to catch." },
"onWhen": { "index": 4, "kind": "element", "displayName": "On When", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.WhenDefinition", "deprecated": false, "autowired": false, "secret": false, "asPredicate": true, "description": "Sets an additional predicate that should be true before the onCatch is triggered. To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not." },
- "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", "displayName": "Exception Caught", "label": "producer", "required": false, "javaType": "java.lang.Exception", "deprecated": false, "autowired": false, "secret": false, "description": "Stores the caught exception due to a processing error of the current Exchange" },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
index 5cd2667dfd4..f2d5ea840d4 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
@@ -15,7 +15,7 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", "displayName": "Exception Caught", "label": "producer", "required": false, "javaType": "java.lang.Exception", "deprecated": false, "autowired": false, "secret": false, "description": "Stores the caught exception due to a processing error of the current Exchange" },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
index d6c0deb7f4e..2c45cdce01e 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
index e82c0cb64eb..695783bf688 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
@@ -17,6 +17,6 @@
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
"statusPropertyName": { "index": 4, "kind": "attribute", "displayName": "Status Property Name", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of exchange property to use for storing the status of the filtering. Setting this allows to know if the filter predicate evaluated as true or false." },
- "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
index 0dafef75724..cdcd48bcb71 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
@@ -21,7 +21,7 @@
"completionEager": { "index": 6, "kind": "attribute", "displayName": "Completion Eager", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether to complete the idempotent consumer eager or when the exchange is done. If this option is true to complete eager, then the idempotent consumer will trigger its completion when [...]
"skipDuplicate": { "index": 7, "kind": "attribute", "displayName": "Skip Duplicate", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets whether to skip duplicates or not. The default behavior is to skip duplicates. A duplicate message would have the Exchange property org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Bool [...]
"removeOnFailure": { "index": 8, "kind": "attribute", "displayName": "Remove On Failure", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure." },
- "outputs": { "index": 9, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 9, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
},
"exchangeProperties": {
"CamelDuplicateMessage": { "index": 0, "kind": "exchangeProperty", "displayName": "Duplicate Message", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "description": "Whether this exchange is a duplicate detected by the Idempotent Consumer EIP" }
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
index 2202eb95284..36755ef4184 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
index 1f0cbd2bd1e..64a0c8447ec 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
@@ -16,7 +16,7 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"uri": { "index": 3, "kind": "attribute", "displayName": "Uri", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Intercept incoming messages from the uri or uri pattern. If this option is not configured, then all incoming messages is intercepted." },
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelInterceptedEndpoint": { "index": 0, "kind": "exchangeProperty", "displayName": "Intercepted Endpoint", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint URI that was intercepted" }
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
index 179f35aaeab..a37858c6e63 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
@@ -18,7 +18,7 @@
"uri": { "index": 3, "kind": "attribute", "displayName": "Uri", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Intercept sending to the uri or uri pattern." },
"skipSendToOriginalEndpoint": { "index": 4, "kind": "attribute", "displayName": "Skip Send To Original Endpoint", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "If set to true then the message is not sent to the original endpoint. By default (false) the message is both intercepted and then sent to the original endpoint." },
"afterUri": { "index": 5, "kind": "attribute", "displayName": "After Uri", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "After sending to the endpoint then send the message to this uri which allows to process its result." },
- "outputs": { "index": 6, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 6, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelInterceptedEndpoint": { "index": 0, "kind": "exchangeProperty", "displayName": "Intercepted Endpoint", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "autowired": false, "secret": false, "description": "The endpoint URI that was intercepted" }
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
index 214fc8e2ad6..96257f19695 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"name": { "index": 3, "kind": "attribute", "displayName": "Name", "group": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of the Kamelet (templateId\/routeId) to call. Options for the kamelet can be specified using uri syntax, eg mynamecount=4&type=gold." },
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
index a189e258e42..af303fdf8bc 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
@@ -16,7 +16,7 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"loadBalancerType": { "index": 3, "kind": "element", "displayName": "Load Balancer Type", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.LoadBalancerDefinition", "oneOf": [ "customLoadBalancer", "failoverLoadBalancer", "randomLoadBalancer", "roundRobinLoadBalancer", "stickyLoadBalancer", "topicLoadBalancer", "weightedLoadBalancer" ], "deprecated": false, "autowired": false, "secret": false, "description": "The load balancer to be used" },
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
"inheritErrorHandler": { "index": 5, "kind": "attribute", "displayName": "Inherit Error Handler", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether or not to inherit the configured error handler. The default value is true. You can use this to disable using the inherited error handler for a given DSL such as a load balancer where you wan [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
index 7155bfefe9b..0288392a30e 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
@@ -19,7 +19,7 @@
"copy": { "index": 4, "kind": "attribute", "displayName": "Copy", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the copy attribute is true, a copy of the input Exchange is used for each iteration. That means each iteration will start from a copy of the same message. By default loop will loop the same exchange all over, [...]
"doWhile": { "index": 5, "kind": "attribute", "displayName": "Do While", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enables the while loop that loops until the predicate evaluates to false or null." },
"breakOnShutdown": { "index": 6, "kind": "attribute", "displayName": "Break On Shutdown", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down." },
- "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
},
"exchangeProperties": {
"CamelLoopIndex": { "index": 0, "kind": "exchangeProperty", "displayName": "Loop Index", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Index of the current iteration (0 based)." },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
index f733d527c54..28dfdf0eefa 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
@@ -27,7 +27,7 @@
"executorService": { "index": 12, "kind": "attribute", "displayName": "Executor Service", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well." },
"onPrepare": { "index": 13, "kind": "attribute", "displayName": "On Prepare", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.Processor", "deprecated": false, "autowired": false, "secret": false, "description": "Uses the Processor when preparing the org.apache.camel.Exchange to be send. This can be used to deep-clone messages that should be send, or any custom logic needed before the exchange is send." },
"shareUnitOfWork": { "index": 14, "kind": "attribute", "displayName": "Share Unit Of Work", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Multicast will by default not share unit of work between the parent exchange and each multicasted [...]
- "outputs": { "index": 15, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 15, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelMulticastIndex": { "index": 0, "kind": "exchangeProperty", "displayName": "Multicast Index", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "An index counter that increases for each Exchange being multicasted. The counter starts from 0." },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
index f28e0274735..d1e3f0fe99f 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
@@ -22,7 +22,7 @@
"executorService": { "index": 7, "kind": "attribute", "displayName": "Executor Service", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well." },
"useOriginalMessage": { "index": 8, "kind": "attribute", "displayName": "Use Original Message", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will use the original input message body when an org.apache.camel.Exchange for this on completion. The original input message is defensively copied, and the copied message body is co [...]
"onWhen": { "index": 9, "kind": "element", "displayName": "On When", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.WhenDefinition", "deprecated": false, "autowired": false, "secret": false, "asPredicate": true, "description": "Sets an additional predicate that should be true before the onCompletion is triggered. To be used for fine grained controlling whether a completion callback should be invoked or not" },
- "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelOnCompletion": { "index": 0, "kind": "exchangeProperty", "displayName": "On Completion", "label": "producer", "required": false, "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "description": "Flag to mark that this exchange is currently being executed as onCompletion" }
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
index 93c51757f2c..111fcacf400 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
@@ -26,7 +26,7 @@
"onExceptionOccurredRef": { "index": 11, "kind": "attribute", "displayName": "On Exception Occurred Ref", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Importan [...]
"useOriginalMessage": { "index": 12, "kind": "attribute", "displayName": "Use Original Message", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when [...]
"useOriginalBody": { "index": 13, "kind": "attribute", "displayName": "Use Original Body", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all rede [...]
- "outputs": { "index": 14, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 14, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
},
"exchangeProperties": {
"CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", "displayName": "Exception Caught", "label": "producer", "required": false, "javaType": "java.lang.Exception", "deprecated": false, "autowired": false, "secret": false, "description": "Stores the caught exception due to a processing error of the current Exchange" },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
index f01cf58f094..16d5801558b 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"fallbackViaNetwork": { "index": 3, "kind": "attribute", "displayName": "Fallback Via Network", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the fallback goes over the network. If the fallback will go over the network it is another possible point of failure. It is important to execute the fallback command on a sep [...]
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
index 4614430aabb..643067b2c1e 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
index 86177d6b2e7..42bff4e4ec1 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
@@ -15,6 +15,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
index b52bd448c80..351a07ff1d4 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
@@ -17,6 +17,6 @@
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
"resequencerConfig": { "index": 4, "kind": "element", "displayName": "Resequencer Config", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.config.ResequencerConfig", "oneOf": [ "batchConfig", "streamConfig" ], "deprecated": false, "autowired": false, "secret": false, "description": "To configure the resequencer in using either batch or stream configuration. Will by default use batch configuration." },
- "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
index 518efb9a209..2073da80c76 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
@@ -33,6 +33,6 @@
"inputType": { "index": 18, "kind": "element", "displayName": "Input Type", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.InputTypeDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Declare the expected data type of the input message. If the actual message type is different at runtime, camel look for a required org.apache.camel.spi.Transformer and apply if exists. The type name co [...]
"outputType": { "index": 19, "kind": "element", "displayName": "Output Type", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.OutputTypeDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Declare the expected data type of the output message. If the actual message type is different at runtime, camel look for a required org.apache.camel.spi.Transformer and apply if exists. The type nam [...]
"input": { "index": 20, "kind": "element", "displayName": "Input", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.FromDefinition", "oneOf": [ "from" ], "deprecated": false, "autowired": false, "secret": false, "description": "Input to the route." },
- "outputs": { "index": 21, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint [...]
+ "outputs": { "index": 21, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
index 25351fc1792..31a84c17c6e 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
@@ -22,6 +22,6 @@
"compensation": { "index": 7, "kind": "element", "displayName": "Compensation", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.SagaActionUriDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "The compensation endpoint URI that must be called to compensate all changes done in the route. The route corresponding to the compensation URI must perform compensation and complete without error. If errors occur dur [...]
"completion": { "index": 8, "kind": "element", "displayName": "Completion", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.model.SagaActionUriDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "The completion endpoint URI that will be called when the Saga is completed successfully. The route corresponding to the completion URI must perform completion tasks and terminate without error. If errors occur during com [...]
"option": { "index": 9, "kind": "element", "displayName": "Option", "group": "advanced", "label": "advanced", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.PropertyExpressionDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Allows to save properties of the current exchange in order to re-use them in a compensation\/completion callback route. Options are usually helpful e.g. to store and retrieve identifier [...]
- "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "lo [...]
+ "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "ma [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
index a15317e635f..9c3e153b4c7 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
@@ -29,7 +29,7 @@
"executorService": { "index": 14, "kind": "attribute", "displayName": "Executor Service", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatically implied, and you do not have to enable that option as well." },
"onPrepare": { "index": 15, "kind": "attribute", "displayName": "On Prepare", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.Processor", "deprecated": false, "autowired": false, "secret": false, "description": "Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or any custom logic needed before the exchange is sent." },
"shareUnitOfWork": { "index": 16, "kind": "attribute", "displayName": "Share Unit Of Work", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Splitter will by default not share unit of work between the parent exchange and each split exchan [...]
- "outputs": { "index": 17, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercep [...]
+ "outputs": { "index": 17, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercep [...]
},
"exchangeProperties": {
"CamelSplitIndex": { "index": 0, "kind": "exchangeProperty", "displayName": "Split Index", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "A split counter that increases for each Exchange being split. The counter starts from 0." },
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
index b4b6ed345f6..902e748a23b 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
@@ -15,7 +15,7 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "langChain4j", "loadBalance", "log [...]
+ "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "mar [...]
},
"exchangeProperties": {
"CamelStepId": { "index": 0, "kind": "exchangeProperty", "displayName": "Step Id", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of the Step EIP" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4j.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer.json
similarity index 50%
rename from catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4j.json
rename to core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer.json
index 058b23baf82..d89aa314882 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/langChain4j.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer.json
@@ -1,13 +1,13 @@
{
"model": {
"kind": "model",
- "name": "langChain4j",
- "title": "LangChain4J Tokenizer",
- "description": "Tokenizer that uses LangChain4j for tokenization.",
+ "name": "tokenizer",
+ "title": "Specialized tokenizer for AI applications",
+ "description": "Represents a Camel tokenizer for AI.",
"deprecated": false,
"firstVersion": "4.8.0",
"label": "eip,transformation,ai",
- "javaType": "org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition",
+ "javaType": "org.apache.camel.model.TokenizerDefinition",
"abstract": false,
"input": true,
"output": false
@@ -16,8 +16,6 @@
"id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the id of this node" },
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
- "tokenizerType": { "index": 3, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
- "maxTokens": { "index": 4, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
- "maxOverlap": { "index": 5, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ "tokenizerImplementation": { "index": 3, "kind": "element", "displayName": "Tokenizer Implementation", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.TokenizerImplementationDefinition", "oneOf": [ "langChain4jCharacterTokenizer", "langChain4jLineTokenizer", "langChain4jParagraphTokenizer", "langChain4jSentenceTokenizer", "langChain4jWordTokenizer" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenize [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jCharacterTokenizer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jCharacterTokenizer.json
new file mode 100644
index 00000000000..0daad24bd95
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jCharacterTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jCharacterTokenizer",
+ "title": "LangChain4J Tokenizer with character splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jLineTokenizer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jLineTokenizer.json
new file mode 100644
index 00000000000..d4b999bce1b
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jLineTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jLineTokenizer",
+ "title": "LangChain4J Tokenizer with line splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jParagraphTokenizer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jParagraphTokenizer.json
new file mode 100644
index 00000000000..e103c995d54
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jParagraphTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jParagraphTokenizer",
+ "title": "LangChain4J Tokenizer with paragraph splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jSentenceTokenizer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jSentenceTokenizer.json
new file mode 100644
index 00000000000..3ed719e9174
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jSentenceTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jSentenceTokenizer",
+ "title": "LangChain4J Tokenizer with sentence splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jWordTokenizer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jWordTokenizer.json
new file mode 100644
index 00000000000..87a00c85fdd
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/tokenizer/langChain4jWordTokenizer.json
@@ -0,0 +1,20 @@
+{
+ "model": {
+ "kind": "model",
+ "name": "langChain4jWordTokenizer",
+ "title": "LangChain4J Tokenizer with word splitter",
+ "deprecated": false,
+ "firstVersion": "4.8.0",
+ "label": "eip,transformation,ai",
+ "javaType": "org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition",
+ "abstract": false,
+ "input": false,
+ "output": false
+ },
+ "properties": {
+ "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" },
+ "tokenizerType": { "index": 1, "kind": "attribute", "displayName": "Tokenizer Type", "group": "common", "required": true, "type": "enum", "javaType": "org.apache.camel.model.tokenizer.TokenizerType", "enum": [ "OPEN_AI", "AZURE", "QWEN" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the tokenizer type" },
+ "maxTokens": { "index": 2, "kind": "attribute", "displayName": "Max Tokens", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens on each segment" },
+ "maxOverlap": { "index": 3, "kind": "attribute", "displayName": "Max Overlap", "group": "common", "required": true, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the maximum number of tokens that can overlap in each segment" }
+ }
+}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
index 2bc68a63e3f..c79d6dd706d 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/whenSkipSendToEndpoint.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/whenSkipSendToEndpoint.json
index 4b9a4bd815a..bd682e6c8f7 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/whenSkipSendToEndpoint.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/whenSkipSendToEndpoint.json
@@ -16,6 +16,6 @@
"description": { "index": 1, "kind": "attribute", "displayName": "Description", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"expression": { "index": 3, "kind": "expression", "displayName": "Expression", "group": "common", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "variable", "wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
- "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+ "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", "group": "common", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
}
}
diff --git a/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties b/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
index b1585b43e5d..d7144297bbf 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
+++ b/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
@@ -84,7 +84,11 @@ jsonpath
jtaTransactionErrorHandler
kamelet
kubernetesServiceDiscovery
-langChain4j
+langChain4jCharacterTokenizer
+langChain4jLineTokenizer
+langChain4jParagraphTokenizer
+langChain4jSentenceTokenizer
+langChain4jWordTokenizer
language
loadBalance
loadBalancerConfiguration
@@ -207,6 +211,7 @@ tidyMarkup
to
toD
tokenize
+tokenizer
topicLoadBalancer
transacted
transform
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
index 4f55d169683..f98bc32b5af 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
@@ -104,6 +104,8 @@ ThrottlingMode
ThrowExceptionDefinition
ToDefinition
ToDynamicDefinition
+TokenizerDefinition
+TokenizerImplementationDefinition
TransactedDefinition
TransformDefinition
TryDefinition
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/tokenizer/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/tokenizer/jaxb.index
index 76266b4088e..345a85a06a9 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/tokenizer/jaxb.index
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/tokenizer/jaxb.index
@@ -1,2 +1,7 @@
# Generated by camel build tools - do NOT edit this file!
+LangChain4jCharacterTokenizerDefinition
+LangChain4jLineTokenizerDefinition
+LangChain4jParagraphTokenizerDefinition
+LangChain4jSentenceTokenizerDefinition
LangChain4jTokenizerDefinition
+LangChain4jWordTokenizerDefinition
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilder.java
index 6b96b2390c1..89d314194c1 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilder.java
@@ -17,12 +17,12 @@
package org.apache.camel.builder;
-import org.apache.camel.model.TokenizerDefinition;
+import org.apache.camel.model.TokenizerImplementationDefinition;
/**
* {@code TokenizerBuilder} defines the contract of tokenizer builder.
*/
-public interface TokenizerBuilder<T extends TokenizerDefinition> {
+public interface TokenizerBuilder<T extends TokenizerImplementationDefinition> {
/**
* Ends the build of the tokenizer
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilderFactory.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilderFactory.java
index 099422cb7ab..2ce7a936cce 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilderFactory.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/TokenizerBuilderFactory.java
@@ -17,7 +17,11 @@
package org.apache.camel.builder;
-import org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition;
/**
* {@code TokenizerBuilderFactory} is a factory class of builder of all supported tokenizers.
@@ -27,35 +31,35 @@ public class TokenizerBuilderFactory {
/**
* Creates a new tokenizer builder for a tokenizer that splits texts in segments separated by paragraphs
*/
- public LangChain4jTokenizerDefinition.ParagraphBuilder byParagraph() {
- return new LangChain4jTokenizerDefinition.ParagraphBuilder();
+ public LangChain4jParagraphTokenizerDefinition.ParagraphBuilder byParagraph() {
+ return new LangChain4jParagraphTokenizerDefinition.ParagraphBuilder();
}
/**
* Creates a new tokenizer builder for a tokenizer that splits texts in segments separated by line
*/
- public LangChain4jTokenizerDefinition.LineBuilder byLine() {
- return new LangChain4jTokenizerDefinition.LineBuilder();
+ public LangChain4jLineTokenizerDefinition.LineBuilder byLine() {
+ return new LangChain4jLineTokenizerDefinition.LineBuilder();
}
/**
* Creates a new tokenizer builder for a tokenizer that splits texts in segments separated by word
*/
- public LangChain4jTokenizerDefinition.WordBuilder byWord() {
- return new LangChain4jTokenizerDefinition.WordBuilder();
+ public LangChain4jWordTokenizerDefinition.WordBuilder byWord() {
+ return new LangChain4jWordTokenizerDefinition.WordBuilder();
}
/**
* Creates a new tokenizer builder for a tokenizer that splits texts in segments separated by sentence
*/
- public LangChain4jTokenizerDefinition.SentenceBuilder bySentence() {
- return new LangChain4jTokenizerDefinition.SentenceBuilder();
+ public LangChain4jSentenceTokenizerDefinition.SentenceBuilder bySentence() {
+ return new LangChain4jSentenceTokenizerDefinition.SentenceBuilder();
}
/**
* Creates a new tokenizer builder for a tokenizer that splits texts in segments separated by character
*/
- public LangChain4jTokenizerDefinition.CharacterBuilder byCharacter() {
- return new LangChain4jTokenizerDefinition.CharacterBuilder();
+ public LangChain4jCharacterTokenizerDefinition.CharacterBuilder byCharacter() {
+ return new LangChain4jCharacterTokenizerDefinition.CharacterBuilder();
}
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
index 3260bd9065d..6a5ea3e68e5 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
@@ -4222,8 +4222,8 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
* @param tokenizerDefinition The tokenizer
* @return the builder
*/
- public Type tokenize(TokenizerDefinition tokenizerDefinition) {
- addOutput(tokenizerDefinition);
+ public Type tokenize(TokenizerImplementationDefinition tokenizerDefinition) {
+ addOutput(new TokenizerDefinition(tokenizerDefinition));
return asType();
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java
index 31e73bede0f..8637be524e1 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java
@@ -16,26 +16,51 @@
*/
package org.apache.camel.model;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlTransient;
-import org.apache.camel.spi.Tokenizer;
+import org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition;
+import org.apache.camel.spi.Metadata;
/**
* Represents a Camel tokenizer for AI.
*/
-public abstract class TokenizerDefinition extends NoOutputDefinition<TokenizerDefinition> {
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "Specialized tokenizer for AI applications")
+@XmlRootElement(name = "tokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class TokenizerDefinition extends NoOutputDefinition<TokenizerDefinition> {
+
+ @XmlElements({
+ @XmlElement(name = "langChain4jCharacterTokenizer", type = LangChain4jCharacterTokenizerDefinition.class),
+ @XmlElement(name = "langChain4jLineTokenizer", type = LangChain4jTokenizerDefinition.class),
+ @XmlElement(name = "langChain4jParagraphTokenizer", type = LangChain4jParagraphTokenizerDefinition.class),
+ @XmlElement(name = "langChain4jSentenceTokenizer", type = LangChain4jSentenceTokenizerDefinition.class),
+ @XmlElement(name = "langChain4jWordTokenizer", type = LangChain4jWordTokenizerDefinition.class),
+ })
+ private TokenizerImplementationDefinition tokenizerImplementation;
@XmlTransient
private String tokenizerName;
- @XmlTransient
- private Tokenizer.Configuration configuration;
public TokenizerDefinition() {
}
protected TokenizerDefinition(TokenizerDefinition source) {
this.tokenizerName = source.tokenizerName;
- this.configuration = source.configuration;
+ this.tokenizerImplementation = source.tokenizerImplementation;
+ }
+
+ public TokenizerDefinition(TokenizerImplementationDefinition tokenizerImplementation) {
+ this.tokenizerImplementation = tokenizerImplementation;
+ this.tokenizerName = tokenizerImplementation.tokenizerName();
}
/**
@@ -53,17 +78,17 @@ public abstract class TokenizerDefinition extends NoOutputDefinition<TokenizerDe
}
/**
- * Gets the tokenizer configuration
+ * Gets the tokenizer implementation
*/
- public Tokenizer.Configuration configuration() {
- return configuration;
+ public TokenizerImplementationDefinition getTokenizerImplementation() {
+ return tokenizerImplementation;
}
/**
- * Sets the tokenizer configuration
+ * Sets the tokenizer implementation
*/
- public void setConfiguration(Tokenizer.Configuration configuration) {
- this.configuration = configuration;
+ public void setTokenizerImplementation(TokenizerImplementationDefinition tokenizerImplementation) {
+ this.tokenizerImplementation = tokenizerImplementation;
}
@Override
@@ -75,4 +100,9 @@ public abstract class TokenizerDefinition extends NoOutputDefinition<TokenizerDe
public String getLabel() {
return "tokenizer";
}
+
+ @Override
+ public TokenizerDefinition copyDefinition() {
+ return new TokenizerDefinition(this);
+ }
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerImplementationDefinition.java
similarity index 68%
copy from core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java
copy to core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerImplementationDefinition.java
index 31e73bede0f..574f0def0f9 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/TokenizerImplementationDefinition.java
@@ -14,26 +14,32 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.camel.model;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
+import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.Tokenizer;
-/**
- * Represents a Camel tokenizer for AI.
- */
-public abstract class TokenizerDefinition extends NoOutputDefinition<TokenizerDefinition> {
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "tokenizerImplementation")
+public class TokenizerImplementationDefinition extends IdentifiedType
+ implements CopyableDefinition<TokenizerImplementationDefinition> {
@XmlTransient
private String tokenizerName;
@XmlTransient
private Tokenizer.Configuration configuration;
- public TokenizerDefinition() {
+ public TokenizerImplementationDefinition() {
}
- protected TokenizerDefinition(TokenizerDefinition source) {
+ protected TokenizerImplementationDefinition(TokenizerImplementationDefinition source) {
this.tokenizerName = source.tokenizerName;
this.configuration = source.configuration;
}
@@ -67,12 +73,7 @@ public abstract class TokenizerDefinition extends NoOutputDefinition<TokenizerDe
}
@Override
- public String getShortName() {
- return "tokenizer";
- }
-
- @Override
- public String getLabel() {
- return "tokenizer";
+ public TokenizerImplementationDefinition copyDefinition() {
+ throw new UnsupportedOperationException("Must be implemented in the concrete classes");
}
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jCharacterTokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jCharacterTokenizerDefinition.java
new file mode 100644
index 00000000000..351255b67c5
--- /dev/null
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jCharacterTokenizerDefinition.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.model.tokenizer;
+
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+
+import org.apache.camel.spi.Metadata;
+
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer with character splitter")
+@XmlRootElement(name = "langChain4jCharacterTokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class LangChain4jCharacterTokenizerDefinition extends LangChain4jTokenizerDefinition {
+ public LangChain4jCharacterTokenizerDefinition() {
+ }
+
+ public LangChain4jCharacterTokenizerDefinition(LangChain4jTokenizerDefinition source) {
+ super(source);
+ }
+
+ @Override
+ public LangChain4jCharacterTokenizerDefinition copyDefinition() {
+ return new LangChain4jCharacterTokenizerDefinition(this);
+ }
+
+ @XmlTransient
+ public static class CharacterBuilder extends Builder {
+ @Override
+ protected String name() {
+ return toName("CharacterTokenizer");
+ }
+
+ @Override
+ public LangChain4jCharacterTokenizerDefinition end() {
+ LangChain4jCharacterTokenizerDefinition definition = new LangChain4jCharacterTokenizerDefinition();
+
+ setup(definition);
+ return definition;
+ }
+ }
+}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jLineTokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jLineTokenizerDefinition.java
new file mode 100644
index 00000000000..63f176a8d23
--- /dev/null
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jLineTokenizerDefinition.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.model.tokenizer;
+
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+
+import org.apache.camel.spi.Metadata;
+
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer with line splitter")
+@XmlRootElement(name = "langChain4jLineTokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class LangChain4jLineTokenizerDefinition extends LangChain4jTokenizerDefinition {
+
+ public LangChain4jLineTokenizerDefinition() {
+ }
+
+ public LangChain4jLineTokenizerDefinition(LangChain4jTokenizerDefinition source) {
+ super(source);
+ }
+
+ @Override
+ public LangChain4jLineTokenizerDefinition copyDefinition() {
+ return new LangChain4jLineTokenizerDefinition(this);
+ }
+
+ @XmlTransient
+ public static class LineBuilder extends Builder {
+ @Override
+ protected String name() {
+ return toName("LineTokenizer");
+ }
+
+ @Override
+ public LangChain4jLineTokenizerDefinition end() {
+ LangChain4jLineTokenizerDefinition definition = new LangChain4jLineTokenizerDefinition();
+
+ setup(definition);
+
+ return definition;
+ }
+ }
+}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jParagraphTokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jParagraphTokenizerDefinition.java
new file mode 100644
index 00000000000..e4c8bd6de57
--- /dev/null
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jParagraphTokenizerDefinition.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.model.tokenizer;
+
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+
+import org.apache.camel.spi.Metadata;
+
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer with paragraph splitter")
+@XmlRootElement(name = "langChain4jParagraphTokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class LangChain4jParagraphTokenizerDefinition extends LangChain4jTokenizerDefinition {
+
+ public LangChain4jParagraphTokenizerDefinition() {
+ }
+
+ public LangChain4jParagraphTokenizerDefinition(LangChain4jTokenizerDefinition source) {
+ super(source);
+ }
+
+ @Override
+ public LangChain4jParagraphTokenizerDefinition copyDefinition() {
+ return new LangChain4jParagraphTokenizerDefinition(this);
+ }
+
+ @XmlTransient
+ public static class ParagraphBuilder extends Builder {
+ @Override
+ protected String name() {
+ return toName("ParagraphTokenizer");
+ }
+
+ @Override
+ public LangChain4jParagraphTokenizerDefinition end() {
+ LangChain4jParagraphTokenizerDefinition definition = new LangChain4jParagraphTokenizerDefinition();
+
+ setup(definition);
+ return definition;
+ }
+ }
+}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jSentenceTokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jSentenceTokenizerDefinition.java
new file mode 100644
index 00000000000..cc11d629622
--- /dev/null
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jSentenceTokenizerDefinition.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.model.tokenizer;
+
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+
+import org.apache.camel.spi.Metadata;
+
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer with sentence splitter")
+@XmlRootElement(name = "langChain4jSentenceTokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class LangChain4jSentenceTokenizerDefinition extends LangChain4jTokenizerDefinition {
+ public LangChain4jSentenceTokenizerDefinition() {
+ }
+
+ public LangChain4jSentenceTokenizerDefinition(LangChain4jTokenizerDefinition source) {
+ super(source);
+ }
+
+ @Override
+ public LangChain4jSentenceTokenizerDefinition copyDefinition() {
+ return new LangChain4jSentenceTokenizerDefinition(this);
+ }
+
+ @XmlTransient
+ public static class SentenceBuilder extends Builder {
+ @Override
+ protected String name() {
+ return toName("SentenceTokenizer");
+ }
+
+ @Override
+ public LangChain4jSentenceTokenizerDefinition end() {
+ LangChain4jSentenceTokenizerDefinition definition = new LangChain4jSentenceTokenizerDefinition();
+
+ setup(definition);
+ return definition;
+ }
+ }
+}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jTokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jTokenizerDefinition.java
index 0c184798b9d..d4fe865c411 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jTokenizerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jTokenizerDefinition.java
@@ -19,21 +19,22 @@ package org.apache.camel.model.tokenizer;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
-import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
import org.apache.camel.builder.TokenizerBuilder;
-import org.apache.camel.model.TokenizerDefinition;
+import org.apache.camel.model.TokenizerImplementationDefinition;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.Tokenizer;
+import org.apache.camel.util.StringHelper;
/**
* Tokenizer that uses LangChain4j for tokenization.
*/
@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer")
-@XmlRootElement(name = "langChain4j")
@XmlAccessorType(XmlAccessType.FIELD)
-public class LangChain4jTokenizerDefinition extends TokenizerDefinition {
+@XmlType(name = "langChain4jTokenizerImplementation")
+public class LangChain4jTokenizerDefinition extends TokenizerImplementationDefinition {
@XmlAttribute(required = true)
@Metadata(javaType = "org.apache.camel.model.tokenizer.TokenizerType", required = true,
@@ -100,13 +101,13 @@ public class LangChain4jTokenizerDefinition extends TokenizerDefinition {
this.tokenizerType = tokenizerType;
}
- private static String toName(String name) {
- return "langchain4j-" + name;
- }
-
@Override
public LangChain4jTokenizerDefinition copyDefinition() {
- return new LangChain4jTokenizerDefinition(this);
+ throw new UnsupportedOperationException("Must be implemented in the concrete classes");
+ }
+
+ protected static String toName(String name) {
+ return "langChain4j" + StringHelper.capitalize(name);
}
@XmlTransient
@@ -153,10 +154,7 @@ public class LangChain4jTokenizerDefinition extends TokenizerDefinition {
return this;
}
- @Override
- public LangChain4jTokenizerDefinition end() {
- LangChain4jTokenizerDefinition tokenizer = new LangChain4jTokenizerDefinition();
-
+ protected void setup(LangChain4jTokenizerDefinition tokenizer) {
if (configuration != null) {
tokenizer.setConfiguration(configuration);
} else {
@@ -166,50 +164,9 @@ public class LangChain4jTokenizerDefinition extends TokenizerDefinition {
}
tokenizer.setTokenizerName(name());
-
- return tokenizer;
}
protected abstract String name();
}
- @XmlTransient
- public static class ParagraphBuilder extends Builder {
- @Override
- protected String name() {
- return toName("paragraph");
- }
- }
-
- @XmlTransient
- public static class WordBuilder extends Builder {
- @Override
- protected String name() {
- return toName("word");
- }
- }
-
- @XmlTransient
- public static class SentenceBuilder extends Builder {
- @Override
- protected String name() {
- return toName("sentence");
- }
- }
-
- @XmlTransient
- public static class LineBuilder extends Builder {
- @Override
- protected String name() {
- return toName("line");
- }
- }
-
- @XmlTransient
- public static class CharacterBuilder extends Builder {
- @Override
- protected String name() {
- return toName("character");
- }
- }
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jWordTokenizerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jWordTokenizerDefinition.java
new file mode 100644
index 00000000000..993c3003320
--- /dev/null
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/tokenizer/LangChain4jWordTokenizerDefinition.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.model.tokenizer;
+
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+
+import org.apache.camel.spi.Metadata;
+
+@Metadata(firstVersion = "4.8.0", label = "eip,transformation,ai", title = "LangChain4J Tokenizer with word splitter")
+@XmlRootElement(name = "langChain4jWordTokenizer")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class LangChain4jWordTokenizerDefinition extends LangChain4jTokenizerDefinition {
+ public LangChain4jWordTokenizerDefinition() {
+ }
+
+ public LangChain4jWordTokenizerDefinition(LangChain4jTokenizerDefinition source) {
+ super(source);
+ }
+
+ @Override
+ public LangChain4jWordTokenizerDefinition copyDefinition() {
+ return new LangChain4jWordTokenizerDefinition(this);
+ }
+
+ @XmlTransient
+ public static class WordBuilder extends Builder {
+ @Override
+ protected String name() {
+ return toName("WordTokenizer");
+ }
+
+ @Override
+ public LangChain4jWordTokenizerDefinition end() {
+ LangChain4jWordTokenizerDefinition definition = new LangChain4jWordTokenizerDefinition();
+
+ setup(definition);
+ return definition;
+ }
+ }
+}
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 23ee99751b7..eca76cc2436 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -104,6 +104,7 @@ import org.apache.camel.model.ThrottleDefinition;
import org.apache.camel.model.ThrowExceptionDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.model.ToDynamicDefinition;
+import org.apache.camel.model.TokenizerDefinition;
import org.apache.camel.model.TransactedDefinition;
import org.apache.camel.model.TransformDefinition;
import org.apache.camel.model.TryDefinition;
@@ -113,12 +114,11 @@ import org.apache.camel.model.WhenDefinition;
import org.apache.camel.model.WhenSkipSendToEndpointDefinition;
import org.apache.camel.model.WireTapDefinition;
import org.apache.camel.model.cloud.ServiceCallDefinition;
-import org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition;
import org.apache.camel.processor.InterceptEndpointProcessor;
import org.apache.camel.processor.Pipeline;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
import org.apache.camel.processor.aggregate.AggregationStrategyBiFunctionAdapter;
-import org.apache.camel.reifier.tokenizer.LangChain4JTokenizerReifier;
+import org.apache.camel.reifier.tokenizer.TokenizerReifier;
import org.apache.camel.spi.ErrorHandlerAware;
import org.apache.camel.spi.ExecutorServiceManager;
import org.apache.camel.spi.IdAware;
@@ -352,8 +352,8 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
return new ResumableReifier(route, definition);
} else if (definition instanceof PausableDefinition) {
return new PausableReifier(route, definition);
- } else if (definition instanceof LangChain4jTokenizerDefinition) {
- return new LangChain4JTokenizerReifier(route, definition);
+ } else if (definition instanceof TokenizerDefinition td) {
+ return new TokenizerReifier<>(route, td);
}
return null;
}
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/LangChain4JTokenizerReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/LangChain4JTokenizerReifier.java
deleted file mode 100644
index 7fb788b236a..00000000000
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/LangChain4JTokenizerReifier.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.camel.reifier.tokenizer;
-
-import org.apache.camel.Route;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.TokenizerDefinition;
-import org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition;
-import org.apache.camel.spi.Tokenizer;
-
-public class LangChain4JTokenizerReifier extends TokenizerReifier<LangChain4jTokenizerDefinition> {
- public LangChain4JTokenizerReifier(Route route, ProcessorDefinition definition) {
- this(route, (LangChain4jTokenizerDefinition) definition);
- }
-
- public LangChain4JTokenizerReifier(Route route, TokenizerDefinition definition) {
- super(route, (LangChain4jTokenizerDefinition) definition);
- }
-
- @Override
- protected void configure(Tokenizer tokenizer) {
- Tokenizer.Configuration configuration = definition.configuration();
- if (configuration == null) {
- configuration = tokenizer.newConfiguration();
-
- configuration.setMaxOverlap(Integer.valueOf(definition.getMaxOverlap()));
- configuration.setMaxTokens(Integer.valueOf(definition.getMaxTokens()));
- configuration.setType(definition.getTokenizerType());
- }
-
- tokenizer.configure(configuration);
- }
-}
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/TokenizerReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/TokenizerReifier.java
index ab5da3b4851..251fe9c6285 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/TokenizerReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/tokenizer/TokenizerReifier.java
@@ -23,6 +23,8 @@ import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.TokenizerDefinition;
+import org.apache.camel.model.TokenizerImplementationDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition;
import org.apache.camel.processor.TokenizerProcessor;
import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.spi.FactoryFinder;
@@ -30,7 +32,7 @@ import org.apache.camel.spi.Tokenizer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public abstract class TokenizerReifier<T extends TokenizerDefinition> extends ProcessorReifier<T> {
+public class TokenizerReifier<T extends TokenizerDefinition> extends ProcessorReifier<T> {
private static final Logger LOG = LoggerFactory.getLogger(TokenizerReifier.class);
private static final String TOKENIZER_PATH = FactoryFinder.DEFAULT_PATH + "tokenizer/";
@@ -59,5 +61,19 @@ public abstract class TokenizerReifier<T extends TokenizerDefinition> extends Pr
return new TokenizerProcessor(childProcessor, tokenizer);
}
- protected abstract void configure(Tokenizer tokenizer);
+ protected void configure(Tokenizer tokenizer) {
+ final TokenizerImplementationDefinition tokenizerImplementation = definition.getTokenizerImplementation();
+ Tokenizer.Configuration configuration = tokenizerImplementation.configuration();
+ if (configuration == null) {
+ configuration = tokenizer.newConfiguration();
+
+ if (tokenizerImplementation instanceof LangChain4jTokenizerDefinition ltd) {
+ configuration.setMaxOverlap(Integer.valueOf(ltd.getMaxOverlap()));
+ configuration.setMaxTokens(Integer.valueOf(ltd.getMaxTokens()));
+ configuration.setType(ltd.getTokenizerType());
+ }
+ }
+
+ tokenizer.configure(configuration);
+ }
}
diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index c9f5b5c45f3..527ad865f4b 100644
--- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -1241,6 +1241,19 @@ public class ModelParser extends BaseParser {
protected ToDynamicDefinition doParseToDynamicDefinition() throws IOException, XmlPullParserException {
return doParse(new ToDynamicDefinition(), toDynamicDefinitionAttributeHandler(), optionalIdentifiedDefinitionElementHandler(), noValueHandler());
}
+ protected TokenizerDefinition doParseTokenizerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new TokenizerDefinition(), processorDefinitionAttributeHandler(), (def, key) -> switch (key) {
+ case "langChain4jCharacterTokenizer": def.setTokenizerImplementation(doParseLangChain4jCharacterTokenizerDefinition()); yield true;
+ case "langChain4jLineTokenizer": def.setTokenizerImplementation(doParseLangChain4jTokenizerDefinition()); yield true;
+ case "langChain4jParagraphTokenizer": def.setTokenizerImplementation(doParseLangChain4jParagraphTokenizerDefinition()); yield true;
+ case "langChain4jSentenceTokenizer": def.setTokenizerImplementation(doParseLangChain4jSentenceTokenizerDefinition()); yield true;
+ case "langChain4jWordTokenizer": def.setTokenizerImplementation(doParseLangChain4jWordTokenizerDefinition()); yield true;
+ default: yield optionalIdentifiedDefinitionElementHandler().accept(def, key);
+ }, noValueHandler());
+ }
+ protected TokenizerImplementationDefinition doParseTokenizerImplementationDefinition() throws IOException, XmlPullParserException {
+ return doParse(new TokenizerImplementationDefinition(), identifiedTypeAttributeHandler(), noElementHandler(), noValueHandler());
+ }
protected TransactedDefinition doParseTransactedDefinition() throws IOException, XmlPullParserException {
return doParse(new TransactedDefinition(), (def, key, val) -> switch (key) {
case "ref": def.setRef(val); yield true;
@@ -2623,13 +2636,31 @@ public class ModelParser extends BaseParser {
}
return Optional.empty();
}
+ protected LangChain4jCharacterTokenizerDefinition doParseLangChain4jCharacterTokenizerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new LangChain4jCharacterTokenizerDefinition(), langChain4jTokenizerDefinitionAttributeHandler(), noElementHandler(), noValueHandler());
+ }
+ protected <T extends LangChain4jTokenizerDefinition> AttributeHandler<T> langChain4jTokenizerDefinitionAttributeHandler() {
+ return (def, key, val) -> switch (key) {
+ case "maxOverlap": def.setMaxOverlap(val); yield true;
+ case "maxTokens": def.setMaxTokens(val); yield true;
+ case "tokenizerType": def.setTokenizerType(val); yield true;
+ default: yield identifiedTypeAttributeHandler().accept(def, key, val);
+ };
+ }
protected LangChain4jTokenizerDefinition doParseLangChain4jTokenizerDefinition() throws IOException, XmlPullParserException {
- return doParse(new LangChain4jTokenizerDefinition(), (def, key, val) -> switch (key) {
- case "maxOverlap": def.setMaxOverlap(val); yield true;
- case "maxTokens": def.setMaxTokens(val); yield true;
- case "tokenizerType": def.setTokenizerType(val); yield true;
- default: yield processorDefinitionAttributeHandler().accept(def, key, val);
- }, optionalIdentifiedDefinitionElementHandler(), noValueHandler());
+ return doParse(new LangChain4jTokenizerDefinition(), langChain4jTokenizerDefinitionAttributeHandler(), noElementHandler(), noValueHandler());
+ }
+ protected LangChain4jLineTokenizerDefinition doParseLangChain4jLineTokenizerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new LangChain4jLineTokenizerDefinition(), langChain4jTokenizerDefinitionAttributeHandler(), noElementHandler(), noValueHandler());
+ }
+ protected LangChain4jParagraphTokenizerDefinition doParseLangChain4jParagraphTokenizerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new LangChain4jParagraphTokenizerDefinition(), langChain4jTokenizerDefinitionAttributeHandler(), noElementHandler(), noValueHandler());
+ }
+ protected LangChain4jSentenceTokenizerDefinition doParseLangChain4jSentenceTokenizerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new LangChain4jSentenceTokenizerDefinition(), langChain4jTokenizerDefinitionAttributeHandler(), noElementHandler(), noValueHandler());
+ }
+ protected LangChain4jWordTokenizerDefinition doParseLangChain4jWordTokenizerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new LangChain4jWordTokenizerDefinition(), langChain4jTokenizerDefinitionAttributeHandler(), noElementHandler(), noValueHandler());
}
protected CustomTransformerDefinition doParseCustomTransformerDefinition() throws IOException, XmlPullParserException {
return doParse(new CustomTransformerDefinition(), (def, key, val) -> switch (key) {
@@ -2785,6 +2816,7 @@ public class ModelParser extends BaseParser {
case "throwException": return doParseThrowExceptionDefinition();
case "to": return doParseToDefinition();
case "toD": return doParseToDynamicDefinition();
+ case "tokenizer": return doParseTokenizerDefinition();
case "transacted": return doParseTransactedDefinition();
case "transform": return doParseTransformDefinition();
case "doTry": return doParseTryDefinition();
@@ -2792,7 +2824,6 @@ public class ModelParser extends BaseParser {
case "validate": return doParseValidateDefinition();
case "wireTap": return doParseWireTapDefinition();
case "serviceCall": return doParseServiceCallDefinition();
- case "langChain4j": return doParseLangChain4jTokenizerDefinition();
default: return null;
}
}
diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index ee62f2e8d44..4f4439aaff9 100644
--- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
+++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
@@ -337,6 +337,9 @@ public class ModelWriter extends BaseWriter {
public void writeToDynamicDefinition(ToDynamicDefinition def) throws IOException {
doWriteToDynamicDefinition("toD", def);
}
+ public void writeTokenizerDefinition(TokenizerDefinition def) throws IOException {
+ doWriteTokenizerDefinition("tokenizer", def);
+ }
public void writeTransactedDefinition(TransactedDefinition def) throws IOException {
doWriteTransactedDefinition("transacted", def);
}
@@ -754,8 +757,20 @@ public class ModelWriter extends BaseWriter {
public void writeSecurityDefinition(SecurityDefinition def) throws IOException {
doWriteSecurityDefinition("security", def);
}
- public void writeLangChain4jTokenizerDefinition(LangChain4jTokenizerDefinition def) throws IOException {
- doWriteLangChain4jTokenizerDefinition("langChain4j", def);
+ public void writeLangChain4jCharacterTokenizerDefinition(LangChain4jCharacterTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jCharacterTokenizerDefinition("langChain4jCharacterTokenizer", def);
+ }
+ public void writeLangChain4jLineTokenizerDefinition(LangChain4jLineTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jLineTokenizerDefinition("langChain4jLineTokenizer", def);
+ }
+ public void writeLangChain4jParagraphTokenizerDefinition(LangChain4jParagraphTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jParagraphTokenizerDefinition("langChain4jParagraphTokenizer", def);
+ }
+ public void writeLangChain4jSentenceTokenizerDefinition(LangChain4jSentenceTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jSentenceTokenizerDefinition("langChain4jSentenceTokenizer", def);
+ }
+ public void writeLangChain4jWordTokenizerDefinition(LangChain4jWordTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jWordTokenizerDefinition("langChain4jWordTokenizer", def);
}
public void writeTransformersDefinition(TransformersDefinition def) throws IOException {
doWriteTransformersDefinition("transformers", def);
@@ -1830,6 +1845,25 @@ public class ModelWriter extends BaseWriter {
doWriteToDynamicDefinitionAttributes(def);
endElement(name);
}
+ protected void doWriteTokenizerDefinition(String name, TokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteProcessorDefinitionAttributes(def);
+ doWriteElement(null, def.getTokenizerImplementation(), (n, v) -> {
+ switch (v.getClass().getSimpleName()) {
+ case "LangChain4jCharacterTokenizerDefinition" -> doWriteLangChain4jCharacterTokenizerDefinition("langChain4jCharacterTokenizer", (LangChain4jCharacterTokenizerDefinition) v);
+ case "LangChain4jTokenizerDefinition" -> doWriteLangChain4jTokenizerDefinition("langChain4jLineTokenizer", (LangChain4jTokenizerDefinition) v);
+ case "LangChain4jParagraphTokenizerDefinition" -> doWriteLangChain4jParagraphTokenizerDefinition("langChain4jParagraphTokenizer", (LangChain4jParagraphTokenizerDefinition) v);
+ case "LangChain4jSentenceTokenizerDefinition" -> doWriteLangChain4jSentenceTokenizerDefinition("langChain4jSentenceTokenizer", (LangChain4jSentenceTokenizerDefinition) v);
+ case "LangChain4jWordTokenizerDefinition" -> doWriteLangChain4jWordTokenizerDefinition("langChain4jWordTokenizer", (LangChain4jWordTokenizerDefinition) v);
+ }
+ });
+ endElement(name);
+ }
+ protected void doWriteTokenizerImplementationDefinition(String name, TokenizerImplementationDefinition def) throws IOException {
+ startElement(name);
+ doWriteIdentifiedTypeAttributes(def);
+ endElement(name);
+ }
protected void doWriteTransactedDefinition(String name, TransactedDefinition def) throws IOException {
startElement(name);
doWriteProcessorDefinitionAttributes(def);
@@ -3471,12 +3505,40 @@ public class ModelWriter extends BaseWriter {
doWriteVerbDefinitionElements(def);
endElement(name);
}
- protected void doWriteLangChain4jTokenizerDefinition(String name, LangChain4jTokenizerDefinition def) throws IOException {
+ protected void doWriteLangChain4jCharacterTokenizerDefinition(String name, LangChain4jCharacterTokenizerDefinition def) throws IOException {
startElement(name);
- doWriteProcessorDefinitionAttributes(def);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jLineTokenizerDefinition(String name, LangChain4jLineTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jParagraphTokenizerDefinition(String name, LangChain4jParagraphTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jSentenceTokenizerDefinition(String name, LangChain4jSentenceTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jTokenizerDefinitionAttributes(LangChain4jTokenizerDefinition def) throws IOException {
+ doWriteIdentifiedTypeAttributes(def);
doWriteAttribute("maxTokens", def.getMaxTokens());
doWriteAttribute("tokenizerType", def.getTokenizerType());
doWriteAttribute("maxOverlap", def.getMaxOverlap());
+ }
+ protected void doWriteLangChain4jTokenizerDefinition(String name, LangChain4jTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jWordTokenizerDefinition(String name, LangChain4jWordTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
endElement(name);
}
protected void doWriteCustomTransformerDefinition(String name, CustomTransformerDefinition def) throws IOException {
@@ -3704,6 +3766,7 @@ public class ModelWriter extends BaseWriter {
case "ThrowExceptionDefinition" -> doWriteThrowExceptionDefinition("throwException", (ThrowExceptionDefinition) v);
case "ToDefinition" -> doWriteToDefinition("to", (ToDefinition) v);
case "ToDynamicDefinition" -> doWriteToDynamicDefinition("toD", (ToDynamicDefinition) v);
+ case "TokenizerDefinition" -> doWriteTokenizerDefinition("tokenizer", (TokenizerDefinition) v);
case "TransactedDefinition" -> doWriteTransactedDefinition("transacted", (TransactedDefinition) v);
case "TransformDefinition" -> doWriteTransformDefinition("transform", (TransformDefinition) v);
case "TryDefinition" -> doWriteTryDefinition("doTry", (TryDefinition) v);
@@ -3722,7 +3785,6 @@ public class ModelWriter extends BaseWriter {
case "RestBindingDefinition" -> doWriteRestBindingDefinition("restBinding", (RestBindingDefinition) v);
case "RestDefinition" -> doWriteRestDefinition("rest", (RestDefinition) v);
case "RestsDefinition" -> doWriteRestsDefinition("rests", (RestsDefinition) v);
- case "LangChain4jTokenizerDefinition" -> doWriteLangChain4jTokenizerDefinition("langChain4j", (LangChain4jTokenizerDefinition) v);
}
}
}
@@ -3800,6 +3862,7 @@ public class ModelWriter extends BaseWriter {
case "ThrowExceptionDefinition" -> doWriteThrowExceptionDefinition("throwException", (ThrowExceptionDefinition) v);
case "ToDefinition" -> doWriteToDefinition("to", (ToDefinition) v);
case "ToDynamicDefinition" -> doWriteToDynamicDefinition("toD", (ToDynamicDefinition) v);
+ case "TokenizerDefinition" -> doWriteTokenizerDefinition("tokenizer", (TokenizerDefinition) v);
case "TransactedDefinition" -> doWriteTransactedDefinition("transacted", (TransactedDefinition) v);
case "TransformDefinition" -> doWriteTransformDefinition("transform", (TransformDefinition) v);
case "TryDefinition" -> doWriteTryDefinition("doTry", (TryDefinition) v);
@@ -3808,7 +3871,6 @@ public class ModelWriter extends BaseWriter {
case "WhenDefinition" -> doWriteWhenDefinition("when", (WhenDefinition) v);
case "WireTapDefinition" -> doWriteWireTapDefinition("wireTap", (WireTapDefinition) v);
case "ServiceCallDefinition" -> doWriteServiceCallDefinition("serviceCall", (ServiceCallDefinition) v);
- case "LangChain4jTokenizerDefinition" -> doWriteLangChain4jTokenizerDefinition("langChain4j", (LangChain4jTokenizerDefinition) v);
}
}
}
diff --git a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
index 82a4938581d..adfa2f9d241 100644
--- a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
+++ b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
@@ -337,6 +337,9 @@ public class ModelWriter extends BaseWriter {
public void writeToDynamicDefinition(ToDynamicDefinition def) throws IOException {
doWriteToDynamicDefinition("toD", def);
}
+ public void writeTokenizerDefinition(TokenizerDefinition def) throws IOException {
+ doWriteTokenizerDefinition("tokenizer", def);
+ }
public void writeTransactedDefinition(TransactedDefinition def) throws IOException {
doWriteTransactedDefinition("transacted", def);
}
@@ -754,8 +757,20 @@ public class ModelWriter extends BaseWriter {
public void writeSecurityDefinition(SecurityDefinition def) throws IOException {
doWriteSecurityDefinition("security", def);
}
- public void writeLangChain4jTokenizerDefinition(LangChain4jTokenizerDefinition def) throws IOException {
- doWriteLangChain4jTokenizerDefinition("langChain4j", def);
+ public void writeLangChain4jCharacterTokenizerDefinition(LangChain4jCharacterTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jCharacterTokenizerDefinition("langChain4jCharacterTokenizer", def);
+ }
+ public void writeLangChain4jLineTokenizerDefinition(LangChain4jLineTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jLineTokenizerDefinition("langChain4jLineTokenizer", def);
+ }
+ public void writeLangChain4jParagraphTokenizerDefinition(LangChain4jParagraphTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jParagraphTokenizerDefinition("langChain4jParagraphTokenizer", def);
+ }
+ public void writeLangChain4jSentenceTokenizerDefinition(LangChain4jSentenceTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jSentenceTokenizerDefinition("langChain4jSentenceTokenizer", def);
+ }
+ public void writeLangChain4jWordTokenizerDefinition(LangChain4jWordTokenizerDefinition def) throws IOException {
+ doWriteLangChain4jWordTokenizerDefinition("langChain4jWordTokenizer", def);
}
public void writeTransformersDefinition(TransformersDefinition def) throws IOException {
doWriteTransformersDefinition("transformers", def);
@@ -1830,6 +1845,25 @@ public class ModelWriter extends BaseWriter {
doWriteToDynamicDefinitionAttributes(def);
endElement(name);
}
+ protected void doWriteTokenizerDefinition(String name, TokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteProcessorDefinitionAttributes(def);
+ doWriteElement(null, def.getTokenizerImplementation(), (n, v) -> {
+ switch (v.getClass().getSimpleName()) {
+ case "LangChain4jCharacterTokenizerDefinition" -> doWriteLangChain4jCharacterTokenizerDefinition("langChain4jCharacterTokenizer", (LangChain4jCharacterTokenizerDefinition) v);
+ case "LangChain4jTokenizerDefinition" -> doWriteLangChain4jTokenizerDefinition("langChain4jLineTokenizer", (LangChain4jTokenizerDefinition) v);
+ case "LangChain4jParagraphTokenizerDefinition" -> doWriteLangChain4jParagraphTokenizerDefinition("langChain4jParagraphTokenizer", (LangChain4jParagraphTokenizerDefinition) v);
+ case "LangChain4jSentenceTokenizerDefinition" -> doWriteLangChain4jSentenceTokenizerDefinition("langChain4jSentenceTokenizer", (LangChain4jSentenceTokenizerDefinition) v);
+ case "LangChain4jWordTokenizerDefinition" -> doWriteLangChain4jWordTokenizerDefinition("langChain4jWordTokenizer", (LangChain4jWordTokenizerDefinition) v);
+ }
+ });
+ endElement(name);
+ }
+ protected void doWriteTokenizerImplementationDefinition(String name, TokenizerImplementationDefinition def) throws IOException {
+ startElement(name);
+ doWriteIdentifiedTypeAttributes(def);
+ endElement(name);
+ }
protected void doWriteTransactedDefinition(String name, TransactedDefinition def) throws IOException {
startElement(name);
doWriteProcessorDefinitionAttributes(def);
@@ -3471,12 +3505,40 @@ public class ModelWriter extends BaseWriter {
doWriteVerbDefinitionElements(def);
endElement(name);
}
- protected void doWriteLangChain4jTokenizerDefinition(String name, LangChain4jTokenizerDefinition def) throws IOException {
+ protected void doWriteLangChain4jCharacterTokenizerDefinition(String name, LangChain4jCharacterTokenizerDefinition def) throws IOException {
startElement(name);
- doWriteProcessorDefinitionAttributes(def);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jLineTokenizerDefinition(String name, LangChain4jLineTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jParagraphTokenizerDefinition(String name, LangChain4jParagraphTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jSentenceTokenizerDefinition(String name, LangChain4jSentenceTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jTokenizerDefinitionAttributes(LangChain4jTokenizerDefinition def) throws IOException {
+ doWriteIdentifiedTypeAttributes(def);
doWriteAttribute("maxTokens", def.getMaxTokens());
doWriteAttribute("tokenizerType", def.getTokenizerType());
doWriteAttribute("maxOverlap", def.getMaxOverlap());
+ }
+ protected void doWriteLangChain4jTokenizerDefinition(String name, LangChain4jTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
+ endElement(name);
+ }
+ protected void doWriteLangChain4jWordTokenizerDefinition(String name, LangChain4jWordTokenizerDefinition def) throws IOException {
+ startElement(name);
+ doWriteLangChain4jTokenizerDefinitionAttributes(def);
endElement(name);
}
protected void doWriteCustomTransformerDefinition(String name, CustomTransformerDefinition def) throws IOException {
@@ -3704,6 +3766,7 @@ public class ModelWriter extends BaseWriter {
case "ThrowExceptionDefinition" -> doWriteThrowExceptionDefinition("throwException", (ThrowExceptionDefinition) v);
case "ToDefinition" -> doWriteToDefinition("to", (ToDefinition) v);
case "ToDynamicDefinition" -> doWriteToDynamicDefinition("toD", (ToDynamicDefinition) v);
+ case "TokenizerDefinition" -> doWriteTokenizerDefinition("tokenizer", (TokenizerDefinition) v);
case "TransactedDefinition" -> doWriteTransactedDefinition("transacted", (TransactedDefinition) v);
case "TransformDefinition" -> doWriteTransformDefinition("transform", (TransformDefinition) v);
case "TryDefinition" -> doWriteTryDefinition("doTry", (TryDefinition) v);
@@ -3722,7 +3785,6 @@ public class ModelWriter extends BaseWriter {
case "RestBindingDefinition" -> doWriteRestBindingDefinition("restBinding", (RestBindingDefinition) v);
case "RestDefinition" -> doWriteRestDefinition("rest", (RestDefinition) v);
case "RestsDefinition" -> doWriteRestsDefinition("rests", (RestsDefinition) v);
- case "LangChain4jTokenizerDefinition" -> doWriteLangChain4jTokenizerDefinition("langChain4j", (LangChain4jTokenizerDefinition) v);
}
}
}
@@ -3800,6 +3862,7 @@ public class ModelWriter extends BaseWriter {
case "ThrowExceptionDefinition" -> doWriteThrowExceptionDefinition("throwException", (ThrowExceptionDefinition) v);
case "ToDefinition" -> doWriteToDefinition("to", (ToDefinition) v);
case "ToDynamicDefinition" -> doWriteToDynamicDefinition("toD", (ToDynamicDefinition) v);
+ case "TokenizerDefinition" -> doWriteTokenizerDefinition("tokenizer", (TokenizerDefinition) v);
case "TransactedDefinition" -> doWriteTransactedDefinition("transacted", (TransactedDefinition) v);
case "TransformDefinition" -> doWriteTransformDefinition("transform", (TransformDefinition) v);
case "TryDefinition" -> doWriteTryDefinition("doTry", (TryDefinition) v);
@@ -3808,7 +3871,6 @@ public class ModelWriter extends BaseWriter {
case "WhenDefinition" -> doWriteWhenDefinition("when", (WhenDefinition) v);
case "WireTapDefinition" -> doWriteWireTapDefinition("wireTap", (WireTapDefinition) v);
case "ServiceCallDefinition" -> doWriteServiceCallDefinition("serviceCall", (ServiceCallDefinition) v);
- case "LangChain4jTokenizerDefinition" -> doWriteLangChain4jTokenizerDefinition("langChain4j", (LangChain4jTokenizerDefinition) v);
}
}
}
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index 2de7a0d5c41..8398a8bb91b 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -97,6 +97,8 @@ import org.apache.camel.model.ThrottleDefinition;
import org.apache.camel.model.ThrowExceptionDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.model.ToDynamicDefinition;
+import org.apache.camel.model.TokenizerDefinition;
+import org.apache.camel.model.TokenizerImplementationDefinition;
import org.apache.camel.model.TransactedDefinition;
import org.apache.camel.model.TransformDefinition;
import org.apache.camel.model.TryDefinition;
@@ -240,7 +242,12 @@ import org.apache.camel.model.rest.RestPropertyDefinition;
import org.apache.camel.model.rest.RestSecuritiesDefinition;
import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.model.rest.SecurityDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition;
import org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition;
+import org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition;
import org.apache.camel.model.transformer.CustomTransformerDefinition;
import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
import org.apache.camel.model.transformer.EndpointTransformerDefinition;
@@ -8826,24 +8833,250 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
@YamlType(
nodes = {
- "lang-chain4j",
- "langChain4j"
+ "lang-chain4j-character-tokenizer",
+ "langChain4jCharacterTokenizer"
},
- types = org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition.class,
+ types = org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition.class,
order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
- displayName = "LangChain4J Tokenizer",
- description = "Tokenizer that uses LangChain4j for tokenization.",
+ displayName = "LangChain4J Tokenizer with character splitter",
deprecated = false,
properties = {
- @YamlProperty(name = "description", type = "string", description = "Sets the description of this node", displayName = "Description"),
- @YamlProperty(name = "disabled", type = "boolean", description = "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.", displayName = "Disabled"),
- @YamlProperty(name = "id", type = "string", description = "Sets the id of this node", displayName = "Id"),
- @YamlProperty(name = "inheritErrorHandler", type = "boolean"),
+ @YamlProperty(name = "id", type = "string", description = "The id of this node", displayName = "Id"),
+ @YamlProperty(name = "maxOverlap", type = "number", required = true, description = "Sets the maximum number of tokens that can overlap in each segment", displayName = "Max Overlap"),
+ @YamlProperty(name = "maxTokens", type = "number", required = true, description = "Sets the maximum number of tokens on each segment", displayName = "Max Tokens"),
+ @YamlProperty(name = "tokenizerType", type = "enum:OPEN_AI,AZURE,QWEN", description = "Sets the tokenizer type", displayName = "Tokenizer Type")
+ }
+ )
+ public static class LangChain4jCharacterTokenizerDefinitionDeserializer extends YamlDeserializerBase<LangChain4jCharacterTokenizerDefinition> {
+ public LangChain4jCharacterTokenizerDefinitionDeserializer() {
+ super(LangChain4jCharacterTokenizerDefinition.class);
+ }
+
+ @Override
+ protected LangChain4jCharacterTokenizerDefinition newInstance() {
+ return new LangChain4jCharacterTokenizerDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(LangChain4jCharacterTokenizerDefinition target,
+ String propertyKey, String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ case "maxOverlap": {
+ String val = asText(node);
+ target.setMaxOverlap(val);
+ break;
+ }
+ case "maxTokens": {
+ String val = asText(node);
+ target.setMaxTokens(val);
+ break;
+ }
+ case "tokenizerType": {
+ String val = asText(node);
+ target.setTokenizerType(val);
+ break;
+ }
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ @YamlType(
+ nodes = {
+ "lang-chain4j-line-tokenizer",
+ "langChain4jLineTokenizer"
+ },
+ types = org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ displayName = "LangChain4J Tokenizer with line splitter",
+ deprecated = false,
+ properties = {
+ @YamlProperty(name = "id", type = "string", description = "The id of this node", displayName = "Id"),
+ @YamlProperty(name = "maxOverlap", type = "number", required = true, description = "Sets the maximum number of tokens that can overlap in each segment", displayName = "Max Overlap"),
+ @YamlProperty(name = "maxTokens", type = "number", required = true, description = "Sets the maximum number of tokens on each segment", displayName = "Max Tokens"),
+ @YamlProperty(name = "tokenizerType", type = "enum:OPEN_AI,AZURE,QWEN", description = "Sets the tokenizer type", displayName = "Tokenizer Type")
+ }
+ )
+ public static class LangChain4jLineTokenizerDefinitionDeserializer extends YamlDeserializerBase<LangChain4jLineTokenizerDefinition> {
+ public LangChain4jLineTokenizerDefinitionDeserializer() {
+ super(LangChain4jLineTokenizerDefinition.class);
+ }
+
+ @Override
+ protected LangChain4jLineTokenizerDefinition newInstance() {
+ return new LangChain4jLineTokenizerDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(LangChain4jLineTokenizerDefinition target, String propertyKey,
+ String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ case "maxOverlap": {
+ String val = asText(node);
+ target.setMaxOverlap(val);
+ break;
+ }
+ case "maxTokens": {
+ String val = asText(node);
+ target.setMaxTokens(val);
+ break;
+ }
+ case "tokenizerType": {
+ String val = asText(node);
+ target.setTokenizerType(val);
+ break;
+ }
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ @YamlType(
+ nodes = {
+ "lang-chain4j-paragraph-tokenizer",
+ "langChain4jParagraphTokenizer"
+ },
+ types = org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ displayName = "LangChain4J Tokenizer with paragraph splitter",
+ deprecated = false,
+ properties = {
+ @YamlProperty(name = "id", type = "string", description = "The id of this node", displayName = "Id"),
+ @YamlProperty(name = "maxOverlap", type = "number", required = true, description = "Sets the maximum number of tokens that can overlap in each segment", displayName = "Max Overlap"),
+ @YamlProperty(name = "maxTokens", type = "number", required = true, description = "Sets the maximum number of tokens on each segment", displayName = "Max Tokens"),
+ @YamlProperty(name = "tokenizerType", type = "enum:OPEN_AI,AZURE,QWEN", description = "Sets the tokenizer type", displayName = "Tokenizer Type")
+ }
+ )
+ public static class LangChain4jParagraphTokenizerDefinitionDeserializer extends YamlDeserializerBase<LangChain4jParagraphTokenizerDefinition> {
+ public LangChain4jParagraphTokenizerDefinitionDeserializer() {
+ super(LangChain4jParagraphTokenizerDefinition.class);
+ }
+
+ @Override
+ protected LangChain4jParagraphTokenizerDefinition newInstance() {
+ return new LangChain4jParagraphTokenizerDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(LangChain4jParagraphTokenizerDefinition target,
+ String propertyKey, String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ case "maxOverlap": {
+ String val = asText(node);
+ target.setMaxOverlap(val);
+ break;
+ }
+ case "maxTokens": {
+ String val = asText(node);
+ target.setMaxTokens(val);
+ break;
+ }
+ case "tokenizerType": {
+ String val = asText(node);
+ target.setTokenizerType(val);
+ break;
+ }
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ @YamlType(
+ nodes = {
+ "lang-chain4j-sentence-tokenizer",
+ "langChain4jSentenceTokenizer"
+ },
+ types = org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ displayName = "LangChain4J Tokenizer with sentence splitter",
+ deprecated = false,
+ properties = {
+ @YamlProperty(name = "id", type = "string", description = "The id of this node", displayName = "Id"),
@YamlProperty(name = "maxOverlap", type = "number", required = true, description = "Sets the maximum number of tokens that can overlap in each segment", displayName = "Max Overlap"),
@YamlProperty(name = "maxTokens", type = "number", required = true, description = "Sets the maximum number of tokens on each segment", displayName = "Max Tokens"),
@YamlProperty(name = "tokenizerType", type = "enum:OPEN_AI,AZURE,QWEN", description = "Sets the tokenizer type", displayName = "Tokenizer Type")
}
)
+ public static class LangChain4jSentenceTokenizerDefinitionDeserializer extends YamlDeserializerBase<LangChain4jSentenceTokenizerDefinition> {
+ public LangChain4jSentenceTokenizerDefinitionDeserializer() {
+ super(LangChain4jSentenceTokenizerDefinition.class);
+ }
+
+ @Override
+ protected LangChain4jSentenceTokenizerDefinition newInstance() {
+ return new LangChain4jSentenceTokenizerDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(LangChain4jSentenceTokenizerDefinition target,
+ String propertyKey, String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ case "maxOverlap": {
+ String val = asText(node);
+ target.setMaxOverlap(val);
+ break;
+ }
+ case "maxTokens": {
+ String val = asText(node);
+ target.setMaxTokens(val);
+ break;
+ }
+ case "tokenizerType": {
+ String val = asText(node);
+ target.setTokenizerType(val);
+ break;
+ }
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ @YamlType(
+ types = org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ properties = {
+ @YamlProperty(name = "id", type = "string"),
+ @YamlProperty(name = "maxOverlap", type = "number", required = true),
+ @YamlProperty(name = "maxTokens", type = "number", required = true),
+ @YamlProperty(name = "tokenizerType", type = "enum:OPEN_AI,AZURE,QWEN")
+ }
+ )
public static class LangChain4jTokenizerDefinitionDeserializer extends YamlDeserializerBase<LangChain4jTokenizerDefinition> {
public LangChain4jTokenizerDefinitionDeserializer() {
super(LangChain4jTokenizerDefinition.class);
@@ -8859,14 +9092,9 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
String propertyName, Node node) {
propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
switch(propertyKey) {
- case "disabled": {
- String val = asText(node);
- target.setDisabled(val);
- break;
- }
- case "inheritErrorHandler": {
+ case "id": {
String val = asText(node);
- target.setInheritErrorHandler(java.lang.Boolean.valueOf(val));
+ target.setId(val);
break;
}
case "maxOverlap": {
@@ -8884,14 +9112,63 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
target.setTokenizerType(val);
break;
}
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ @YamlType(
+ nodes = {
+ "lang-chain4j-word-tokenizer",
+ "langChain4jWordTokenizer"
+ },
+ types = org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ displayName = "LangChain4J Tokenizer with word splitter",
+ deprecated = false,
+ properties = {
+ @YamlProperty(name = "id", type = "string", description = "The id of this node", displayName = "Id"),
+ @YamlProperty(name = "maxOverlap", type = "number", required = true, description = "Sets the maximum number of tokens that can overlap in each segment", displayName = "Max Overlap"),
+ @YamlProperty(name = "maxTokens", type = "number", required = true, description = "Sets the maximum number of tokens on each segment", displayName = "Max Tokens"),
+ @YamlProperty(name = "tokenizerType", type = "enum:OPEN_AI,AZURE,QWEN", description = "Sets the tokenizer type", displayName = "Tokenizer Type")
+ }
+ )
+ public static class LangChain4jWordTokenizerDefinitionDeserializer extends YamlDeserializerBase<LangChain4jWordTokenizerDefinition> {
+ public LangChain4jWordTokenizerDefinitionDeserializer() {
+ super(LangChain4jWordTokenizerDefinition.class);
+ }
+
+ @Override
+ protected LangChain4jWordTokenizerDefinition newInstance() {
+ return new LangChain4jWordTokenizerDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(LangChain4jWordTokenizerDefinition target, String propertyKey,
+ String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
case "id": {
String val = asText(node);
target.setId(val);
break;
}
- case "description": {
+ case "maxOverlap": {
String val = asText(node);
- target.setDescription(val);
+ target.setMaxOverlap(val);
+ break;
+ }
+ case "maxTokens": {
+ String val = asText(node);
+ target.setMaxTokens(val);
+ break;
+ }
+ case "tokenizerType": {
+ String val = asText(node);
+ target.setTokenizerType(val);
break;
}
default: {
@@ -18801,6 +19078,98 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
}
}
+ @YamlType(
+ nodes = "tokenizer",
+ types = org.apache.camel.model.TokenizerDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ displayName = "Specialized tokenizer for AI applications",
+ description = "Represents a Camel tokenizer for AI.",
+ deprecated = false,
+ properties = {
+ @YamlProperty(name = "description", type = "string", description = "Sets the description of this node", displayName = "Description"),
+ @YamlProperty(name = "disabled", type = "boolean", description = "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.", displayName = "Disabled"),
+ @YamlProperty(name = "id", type = "string", description = "Sets the id of this node", displayName = "Id"),
+ @YamlProperty(name = "inheritErrorHandler", type = "boolean"),
+ @YamlProperty(name = "langChain4jCharacterTokenizer", type = "object:org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition", oneOf = "tokenizerImplementation"),
+ @YamlProperty(name = "langChain4jLineTokenizer", type = "object:org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition", oneOf = "tokenizerImplementation"),
+ @YamlProperty(name = "langChain4jParagraphTokenizer", type = "object:org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition", oneOf = "tokenizerImplementation"),
+ @YamlProperty(name = "langChain4jSentenceTokenizer", type = "object:org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition", oneOf = "tokenizerImplementation"),
+ @YamlProperty(name = "langChain4jWordTokenizer", type = "object:org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition", oneOf = "tokenizerImplementation")
+ }
+ )
+ public static class TokenizerDefinitionDeserializer extends YamlDeserializerBase<TokenizerDefinition> {
+ public TokenizerDefinitionDeserializer() {
+ super(TokenizerDefinition.class);
+ }
+
+ @Override
+ protected TokenizerDefinition newInstance() {
+ return new TokenizerDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(TokenizerDefinition target, String propertyKey,
+ String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
+ case "disabled": {
+ String val = asText(node);
+ target.setDisabled(val);
+ break;
+ }
+ case "inheritErrorHandler": {
+ String val = asText(node);
+ target.setInheritErrorHandler(java.lang.Boolean.valueOf(val));
+ break;
+ }
+ case "tokenizerImplementation": {
+ MappingNode val = asMappingNode(node);
+ setProperties(target, val);
+ break;
+ }
+ case "langChain4jCharacterTokenizer": {
+ org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition val = asType(node, org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition.class);
+ target.setTokenizerImplementation(val);
+ break;
+ }
+ case "langChain4jLineTokenizer": {
+ org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition val = asType(node, org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition.class);
+ target.setTokenizerImplementation(val);
+ break;
+ }
+ case "langChain4jParagraphTokenizer": {
+ org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition val = asType(node, org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition.class);
+ target.setTokenizerImplementation(val);
+ break;
+ }
+ case "langChain4jSentenceTokenizer": {
+ org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition val = asType(node, org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition.class);
+ target.setTokenizerImplementation(val);
+ break;
+ }
+ case "langChain4jWordTokenizer": {
+ org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition val = asType(node, org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition.class);
+ target.setTokenizerImplementation(val);
+ break;
+ }
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ case "description": {
+ String val = asText(node);
+ target.setDescription(val);
+ break;
+ }
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
@YamlType(
nodes = "tokenize",
inline = true,
@@ -18927,6 +19296,39 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
}
}
+ @YamlType(
+ types = org.apache.camel.model.TokenizerImplementationDefinition.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ properties = @YamlProperty(name = "id", type = "string")
+ )
+ public static class TokenizerImplementationDefinitionDeserializer extends YamlDeserializerBase<TokenizerImplementationDefinition> {
+ public TokenizerImplementationDefinitionDeserializer() {
+ super(TokenizerImplementationDefinition.class);
+ }
+
+ @Override
+ protected TokenizerImplementationDefinition newInstance() {
+ return new TokenizerImplementationDefinition();
+ }
+
+ @Override
+ protected boolean setProperty(TokenizerImplementationDefinition target, String propertyKey,
+ String propertyName, Node node) {
+ propertyKey = org.apache.camel.util.StringHelper.dashToCamelCase(propertyKey);
+ switch(propertyKey) {
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ default: {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
@YamlType(
nodes = {
"topic-load-balancer",
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
index 8762bb83472..359f651bf7a 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
@@ -234,9 +234,22 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
case "org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration": return new ModelDeserializers.KubernetesServiceCallServiceDiscoveryConfigurationDeserializer();
case "lzf": return new ModelDeserializers.LZFDataFormatDeserializer();
case "org.apache.camel.model.dataformat.LZFDataFormat": return new ModelDeserializers.LZFDataFormatDeserializer();
- case "lang-chain4j": return new ModelDeserializers.LangChain4jTokenizerDefinitionDeserializer();
- case "langChain4j": return new ModelDeserializers.LangChain4jTokenizerDefinitionDeserializer();
+ case "lang-chain4j-character-tokenizer": return new ModelDeserializers.LangChain4jCharacterTokenizerDefinitionDeserializer();
+ case "langChain4jCharacterTokenizer": return new ModelDeserializers.LangChain4jCharacterTokenizerDefinitionDeserializer();
+ case "org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition": return new ModelDeserializers.LangChain4jCharacterTokenizerDefinitionDeserializer();
+ case "lang-chain4j-line-tokenizer": return new ModelDeserializers.LangChain4jLineTokenizerDefinitionDeserializer();
+ case "langChain4jLineTokenizer": return new ModelDeserializers.LangChain4jLineTokenizerDefinitionDeserializer();
+ case "org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition": return new ModelDeserializers.LangChain4jLineTokenizerDefinitionDeserializer();
+ case "lang-chain4j-paragraph-tokenizer": return new ModelDeserializers.LangChain4jParagraphTokenizerDefinitionDeserializer();
+ case "langChain4jParagraphTokenizer": return new ModelDeserializers.LangChain4jParagraphTokenizerDefinitionDeserializer();
+ case "org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition": return new ModelDeserializers.LangChain4jParagraphTokenizerDefinitionDeserializer();
+ case "lang-chain4j-sentence-tokenizer": return new ModelDeserializers.LangChain4jSentenceTokenizerDefinitionDeserializer();
+ case "langChain4jSentenceTokenizer": return new ModelDeserializers.LangChain4jSentenceTokenizerDefinitionDeserializer();
+ case "org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition": return new ModelDeserializers.LangChain4jSentenceTokenizerDefinitionDeserializer();
case "org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition": return new ModelDeserializers.LangChain4jTokenizerDefinitionDeserializer();
+ case "lang-chain4j-word-tokenizer": return new ModelDeserializers.LangChain4jWordTokenizerDefinitionDeserializer();
+ case "langChain4jWordTokenizer": return new ModelDeserializers.LangChain4jWordTokenizerDefinitionDeserializer();
+ case "org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition": return new ModelDeserializers.LangChain4jWordTokenizerDefinitionDeserializer();
case "language": return new ModelDeserializers.LanguageExpressionDeserializer();
case "org.apache.camel.model.language.LanguageExpression": return new ModelDeserializers.LanguageExpressionDeserializer();
case "load-balance": return new ModelDeserializers.LoadBalanceDefinitionDeserializer();
@@ -530,8 +543,11 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
case "to-d": return new ModelDeserializers.ToDynamicDefinitionDeserializer();
case "toD": return new ModelDeserializers.ToDynamicDefinitionDeserializer();
case "org.apache.camel.model.ToDynamicDefinition": return new ModelDeserializers.ToDynamicDefinitionDeserializer();
+ case "tokenizer": return new ModelDeserializers.TokenizerDefinitionDeserializer();
+ case "org.apache.camel.model.TokenizerDefinition": return new ModelDeserializers.TokenizerDefinitionDeserializer();
case "tokenize": return new ModelDeserializers.TokenizerExpressionDeserializer();
case "org.apache.camel.model.language.TokenizerExpression": return new ModelDeserializers.TokenizerExpressionDeserializer();
+ case "org.apache.camel.model.TokenizerImplementationDefinition": return new ModelDeserializers.TokenizerImplementationDefinitionDeserializer();
case "topic-load-balancer": return new ModelDeserializers.TopicLoadBalancerDefinitionDeserializer();
case "topicLoadBalancer": return new ModelDeserializers.TopicLoadBalancerDefinitionDeserializer();
case "org.apache.camel.model.loadbalancer.TopicLoadBalancerDefinition": return new ModelDeserializers.TopicLoadBalancerDefinitionDeserializer();
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index be3ab704684..7d34e20cb21 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -184,6 +184,9 @@
"toD" : {
"$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
},
+ "tokenizer" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.TokenizerDefinition"
+ },
"transacted" : {
"$ref" : "#/items/definitions/org.apache.camel.model.TransactedDefinition"
},
@@ -210,9 +213,6 @@
},
"serviceCall" : {
"$ref" : "#/items/definitions/org.apache.camel.model.cloud.ServiceCallDefinition"
- },
- "langChain4j" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition"
}
}
},
@@ -7267,6 +7267,100 @@
} ],
"required" : [ "uri" ]
},
+ "org.apache.camel.model.TokenizerDefinition" : {
+ "title" : "Specialized tokenizer for AI applications",
+ "description" : "Represents a Camel tokenizer for AI.",
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "description" : {
+ "type" : "string",
+ "title" : "Description",
+ "description" : "Sets the description of this node"
+ },
+ "disabled" : {
+ "type" : "boolean",
+ "title" : "Disabled",
+ "description" : "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime."
+ },
+ "id" : {
+ "type" : "string",
+ "title" : "Id",
+ "description" : "Sets the id of this node"
+ },
+ "langChain4jCharacterTokenizer" : { },
+ "langChain4jLineTokenizer" : { },
+ "langChain4jParagraphTokenizer" : { },
+ "langChain4jSentenceTokenizer" : { },
+ "langChain4jWordTokenizer" : { }
+ },
+ "anyOf" : [ {
+ "oneOf" : [ {
+ "type" : "object",
+ "required" : [ "langChain4jCharacterTokenizer" ],
+ "properties" : {
+ "langChain4jCharacterTokenizer" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition"
+ }
+ }
+ }, {
+ "not" : {
+ "anyOf" : [ {
+ "required" : [ "langChain4jCharacterTokenizer" ]
+ }, {
+ "required" : [ "langChain4jLineTokenizer" ]
+ }, {
+ "required" : [ "langChain4jParagraphTokenizer" ]
+ }, {
+ "required" : [ "langChain4jSentenceTokenizer" ]
+ }, {
+ "required" : [ "langChain4jWordTokenizer" ]
+ } ]
+ }
+ }, {
+ "type" : "object",
+ "required" : [ "langChain4jLineTokenizer" ],
+ "properties" : {
+ "langChain4jLineTokenizer" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition"
+ }
+ }
+ }, {
+ "type" : "object",
+ "required" : [ "langChain4jParagraphTokenizer" ],
+ "properties" : {
+ "langChain4jParagraphTokenizer" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition"
+ }
+ }
+ }, {
+ "type" : "object",
+ "required" : [ "langChain4jSentenceTokenizer" ],
+ "properties" : {
+ "langChain4jSentenceTokenizer" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition"
+ }
+ }
+ }, {
+ "type" : "object",
+ "required" : [ "langChain4jWordTokenizer" ],
+ "properties" : {
+ "langChain4jWordTokenizer" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition"
+ }
+ }
+ } ]
+ } ]
+ },
+ "org.apache.camel.model.TokenizerImplementationDefinition" : {
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ }
+ }
+ },
"org.apache.camel.model.TransactedDefinition" : {
"title" : "Transacted",
"description" : "Enables transaction on the route",
@@ -15756,26 +15850,151 @@
},
"required" : [ "key" ]
},
- "org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition" : {
- "title" : "LangChain4J Tokenizer",
- "description" : "Tokenizer that uses LangChain4j for tokenization.",
+ "org.apache.camel.model.tokenizer.LangChain4jCharacterTokenizerDefinition" : {
+ "title" : "LangChain4J Tokenizer with character splitter",
"type" : "object",
"additionalProperties" : false,
"properties" : {
- "description" : {
+ "id" : {
"type" : "string",
- "title" : "Description",
- "description" : "Sets the description of this node"
+ "title" : "Id",
+ "description" : "The id of this node"
},
- "disabled" : {
- "type" : "boolean",
- "title" : "Disabled",
- "description" : "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime."
+ "maxOverlap" : {
+ "type" : "number",
+ "title" : "Max Overlap",
+ "description" : "Sets the maximum number of tokens that can overlap in each segment"
},
+ "maxTokens" : {
+ "type" : "number",
+ "title" : "Max Tokens",
+ "description" : "Sets the maximum number of tokens on each segment"
+ },
+ "tokenizerType" : {
+ "type" : "string",
+ "title" : "Tokenizer Type",
+ "description" : "Sets the tokenizer type",
+ "enum" : [ "OPEN_AI", "AZURE", "QWEN" ]
+ }
+ },
+ "required" : [ "maxOverlap", "maxTokens" ]
+ },
+ "org.apache.camel.model.tokenizer.LangChain4jLineTokenizerDefinition" : {
+ "title" : "LangChain4J Tokenizer with line splitter",
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
"id" : {
"type" : "string",
"title" : "Id",
- "description" : "Sets the id of this node"
+ "description" : "The id of this node"
+ },
+ "maxOverlap" : {
+ "type" : "number",
+ "title" : "Max Overlap",
+ "description" : "Sets the maximum number of tokens that can overlap in each segment"
+ },
+ "maxTokens" : {
+ "type" : "number",
+ "title" : "Max Tokens",
+ "description" : "Sets the maximum number of tokens on each segment"
+ },
+ "tokenizerType" : {
+ "type" : "string",
+ "title" : "Tokenizer Type",
+ "description" : "Sets the tokenizer type",
+ "enum" : [ "OPEN_AI", "AZURE", "QWEN" ]
+ }
+ },
+ "required" : [ "maxOverlap", "maxTokens" ]
+ },
+ "org.apache.camel.model.tokenizer.LangChain4jParagraphTokenizerDefinition" : {
+ "title" : "LangChain4J Tokenizer with paragraph splitter",
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "title" : "Id",
+ "description" : "The id of this node"
+ },
+ "maxOverlap" : {
+ "type" : "number",
+ "title" : "Max Overlap",
+ "description" : "Sets the maximum number of tokens that can overlap in each segment"
+ },
+ "maxTokens" : {
+ "type" : "number",
+ "title" : "Max Tokens",
+ "description" : "Sets the maximum number of tokens on each segment"
+ },
+ "tokenizerType" : {
+ "type" : "string",
+ "title" : "Tokenizer Type",
+ "description" : "Sets the tokenizer type",
+ "enum" : [ "OPEN_AI", "AZURE", "QWEN" ]
+ }
+ },
+ "required" : [ "maxOverlap", "maxTokens" ]
+ },
+ "org.apache.camel.model.tokenizer.LangChain4jSentenceTokenizerDefinition" : {
+ "title" : "LangChain4J Tokenizer with sentence splitter",
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "title" : "Id",
+ "description" : "The id of this node"
+ },
+ "maxOverlap" : {
+ "type" : "number",
+ "title" : "Max Overlap",
+ "description" : "Sets the maximum number of tokens that can overlap in each segment"
+ },
+ "maxTokens" : {
+ "type" : "number",
+ "title" : "Max Tokens",
+ "description" : "Sets the maximum number of tokens on each segment"
+ },
+ "tokenizerType" : {
+ "type" : "string",
+ "title" : "Tokenizer Type",
+ "description" : "Sets the tokenizer type",
+ "enum" : [ "OPEN_AI", "AZURE", "QWEN" ]
+ }
+ },
+ "required" : [ "maxOverlap", "maxTokens" ]
+ },
+ "org.apache.camel.model.tokenizer.LangChain4jTokenizerDefinition" : {
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ },
+ "maxOverlap" : {
+ "type" : "number"
+ },
+ "maxTokens" : {
+ "type" : "number"
+ },
+ "tokenizerType" : {
+ "type" : "string",
+ "enum" : [ "OPEN_AI", "AZURE", "QWEN" ]
+ }
+ },
+ "required" : [ "maxOverlap", "maxTokens" ]
+ },
+ "org.apache.camel.model.tokenizer.LangChain4jWordTokenizerDefinition" : {
+ "title" : "LangChain4J Tokenizer with word splitter",
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "title" : "Id",
+ "description" : "The id of this node"
},
"maxOverlap" : {
"type" : "number",