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

jamesnetherton 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 f44cf856bc8d CAMEL-22412: Add langchain4j-embeddingstore to 
camel-catalog
f44cf856bc8d is described below

commit f44cf856bc8d2399bd873f9de2bd4bb6932b6a57
Author: James Netherton <[email protected]>
AuthorDate: Mon Oct 6 15:12:39 2025 +0100

    CAMEL-22412: Add langchain4j-embeddingstore to camel-catalog
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../components/langchain4j-embeddingstore.json     |  45 ++++
 .../org/apache/camel/main/components.properties    |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 +
 ...ain4jEmbeddingstoreComponentBuilderFactory.java | 178 ++++++++++++
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  40 +++
 ...hain4jEmbeddingStoreEndpointBuilderFactory.java | 298 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 .../apache/camel/maven/packaging/MojoHelper.java   |   3 +-
 11 files changed, 581 insertions(+), 1 deletion(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 8b1b0a6722f9..2199f2c89af8 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -217,6 +217,7 @@ kudu
 langchain4j-agent
 langchain4j-chat
 langchain4j-embeddings
+langchain4j-embeddingstore
 langchain4j-tools
 langchain4j-web-search
 language
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddingstore.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddingstore.json
new file mode 100644
index 000000000000..0199f4aeec7e
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-embeddingstore.json
@@ -0,0 +1,45 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "langchain4j-embeddingstore",
+    "title": "LangChain4j Embedding Store",
+    "description": "Perform operations on the Langchain4jEmbeddingStores.",
+    "deprecated": false,
+    "firstVersion": "4.14.0",
+    "label": "database,ai",
+    "javaType": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-langchain4j-embeddingstore",
+    "version": "4.15.0-SNAPSHOT",
+    "scheme": "langchain4j-embeddingstore",
+    "extendsScheme": "",
+    "syntax": "langchain4j-embeddingstore:embeddingStoreId",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "browsable": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "configuration": { "index": 0, "kind": "property", "displayName": 
"Configuration", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
 "deprecated": false, "autowired": false, "secret": false, "description": "The 
configuration;" },
+    "embeddingStore": { "index": 1, "kind": "property", "displayName": 
"Embedding Store", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": 
"dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>",
 "deprecated": false, "deprecationNote": "", "autowired": true, "secret": 
false, "configurationClass": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
 "configurationField": "config [...]
+    "embeddingStoreFactory": { "index": 2, "kind": "property", "displayName": 
"Embedding Store Factory", "group": "producer", "label": "", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
 "configurationField": "conf [...]
+    "lazyStartProducer": { "index": 3, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
+    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+  },
+  "headers": {
+    "CamelLangchain4jEmbeddingStoreAction": { "index": 0, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "enum": [ "ADD", "REMOVE", "SEARCH" ], "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The action to be performed.", "constantName": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#ACTION"
 },
+    "CamelLangchain4jEmbeddingStoreMaxResults": { "index": 1, "kind": 
"header", "displayName": "", "group": "producer", "label": "", "required": 
false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": "5", "description": 
"Maximum number of search results to return", "constantName": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#MAX_RESULTS"
 },
+    "CamelLangchain4jEmbeddingStoreMinScore": { "index": 2, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Double", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Minimum similarity score for search 
results", "constantName": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#MIN_SCORE"
 },
+    "CamelLangchain4jEmbeddingStoreFilter": { "index": 3, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "dev.langchain4j.store.embedding.filter.Filter", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "Search filter for metadata-based constraints", "constantName": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders#FILTER"
 }
+  },
+  "properties": {
+    "embeddingStoreId": { "index": 0, "kind": "path", "displayName": 
"Embedding Store Id", "group": "producer", "label": "", "required": true, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
id of the embedding store" },
+    "embeddingStore": { "index": 1, "kind": "parameter", "displayName": 
"Embedding Store", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": 
"dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>",
 "deprecated": false, "deprecationNote": "", "autowired": true, "secret": 
false, "configurationClass": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
 "configurationField": "confi [...]
+    "embeddingStoreFactory": { "index": 2, "kind": "parameter", "displayName": 
"Embedding Store Factory", "group": "producer", "label": "", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration",
 "configurationField": "con [...]
+    "lazyStartProducer": { "index": 3, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
+  }
+}
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index 8b1b0a6722f9..2199f2c89af8 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -217,6 +217,7 @@ kudu
 langchain4j-agent
 langchain4j-chat
 langchain4j-embeddings
+langchain4j-embeddingstore
 langchain4j-tools
 langchain4j-web-search
 language
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 4ad4ab75280f..949d04e06c29 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -2958,6 +2958,19 @@ public interface ComponentsBuilderFactory {
     static 
Langchain4jEmbeddingsComponentBuilderFactory.Langchain4jEmbeddingsComponentBuilder
 langchain4jEmbeddings() {
         return 
Langchain4jEmbeddingsComponentBuilderFactory.langchain4jEmbeddings();
     }
+    /**
+     * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+     * Perform operations on the Langchain4jEmbeddingStores.
+     * 
+     * Category: database,ai
+     * Since: 4.14
+     * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+     * 
+     * @return the dsl builder
+     */
+    static 
Langchain4jEmbeddingstoreComponentBuilderFactory.Langchain4jEmbeddingstoreComponentBuilder
 langchain4jEmbeddingstore() {
+        return 
Langchain4jEmbeddingstoreComponentBuilderFactory.langchain4jEmbeddingstore();
+    }
     /**
      * LangChain4j Tools (camel-langchain4j-tools)
      * LangChain4j Tools and Function Calling Features
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Langchain4jEmbeddingstoreComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Langchain4jEmbeddingstoreComponentBuilderFactory.java
new file mode 100644
index 000000000000..42765fab0ecf
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Langchain4jEmbeddingstoreComponentBuilderFactory.java
@@ -0,0 +1,178 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import 
org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreComponent;
+
+/**
+ * Perform operations on the Langchain4jEmbeddingStores.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface Langchain4jEmbeddingstoreComponentBuilderFactory {
+
+    /**
+     * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+     * Perform operations on the Langchain4jEmbeddingStores.
+     * 
+     * Category: database,ai
+     * Since: 4.14
+     * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+     * 
+     * @return the dsl builder
+     */
+    static Langchain4jEmbeddingstoreComponentBuilder 
langchain4jEmbeddingstore() {
+        return new Langchain4jEmbeddingstoreComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the LangChain4j Embedding Store component.
+     */
+    interface Langchain4jEmbeddingstoreComponentBuilder extends 
ComponentBuilder<LangChain4jEmbeddingStoreComponent> {
+    
+        /**
+         * The configuration;.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default Langchain4jEmbeddingstoreComponentBuilder 
configuration(org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration
 configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+    
+        /**
+         * Direct embedding store instance for vector operations.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;dev.langchain4j.store.embedding.EmbeddingStore&amp;lt;dev.langchain4j.data.segment.TextSegment&amp;gt;&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param embeddingStore the value to set
+         * @return the dsl builder
+         */
+        default Langchain4jEmbeddingstoreComponentBuilder 
embeddingStore(dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
 embeddingStore) {
+            doSetProperty("embeddingStore", embeddingStore);
+            return this;
+        }
+    
+        /**
+         * The embedding store factory to use for creating embedding stores if
+         * no embeddingstore is provided.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param embeddingStoreFactory the value to set
+         * @return the dsl builder
+         */
+        default Langchain4jEmbeddingstoreComponentBuilder 
embeddingStoreFactory(org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory
 embeddingStoreFactory) {
+            doSetProperty("embeddingStoreFactory", embeddingStoreFactory);
+            return this;
+        }
+    
+        
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default Langchain4jEmbeddingstoreComponentBuilder 
lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default Langchain4jEmbeddingstoreComponentBuilder 
autowiredEnabled(boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class Langchain4jEmbeddingstoreComponentBuilderImpl
+            extends 
AbstractComponentBuilder<LangChain4jEmbeddingStoreComponent>
+            implements Langchain4jEmbeddingstoreComponentBuilder {
+        @Override
+        protected LangChain4jEmbeddingStoreComponent buildConcreteComponent() {
+            return new LangChain4jEmbeddingStoreComponent();
+        }
+        private 
org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration
 getOrCreateConfiguration(LangChain4jEmbeddingStoreComponent component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new 
org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "configuration": ((LangChain4jEmbeddingStoreComponent) 
component).setConfiguration((org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreConfiguration)
 value); return true;
+            case "embeddingStore": 
getOrCreateConfiguration((LangChain4jEmbeddingStoreComponent) 
component).setEmbeddingStore((dev.langchain4j.store.embedding.EmbeddingStore) 
value); return true;
+            case "embeddingStoreFactory": 
getOrCreateConfiguration((LangChain4jEmbeddingStoreComponent) 
component).setEmbeddingStoreFactory((org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory)
 value); return true;
+            case "lazyStartProducer": ((LangChain4jEmbeddingStoreComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((LangChain4jEmbeddingStoreComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 6007761c6c88..bf89c6176b37 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -226,6 +226,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.Lambda2EndpointBuilderFactory.Lambda2Builders,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jAgentEndpointBuilderFactory.LangChain4jAgentBuilders,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jChatEndpointBuilderFactory.LangChain4jChatBuilders,
+            
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingStoreEndpointBuilderFactory.LangChain4jEmbeddingStoreBuilders,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingsEndpointBuilderFactory.LangChain4jEmbeddingsBuilders,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jToolsEndpointBuilderFactory.LangChain4jToolsBuilders,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jWebSearchEndpointBuilderFactory.LangChain4jWebSearchBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index b3c06e927dff..5887786a5a31 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -223,6 +223,7 @@ public interface EndpointBuilders
             
org.apache.camel.builder.endpoint.dsl.Lambda2EndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jAgentEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jChatEndpointBuilderFactory,
+            
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingStoreEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jEmbeddingsEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jToolsEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.LangChain4jWebSearchEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index a77e3434de47..96171556edf2 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -9798,6 +9798,46 @@ public class StaticEndpointBuilders {
     public static 
LangChain4jEmbeddingsEndpointBuilderFactory.LangChain4jEmbeddingsEndpointBuilder
 langchain4jEmbeddings(String componentName, String path) {
         return 
LangChain4jEmbeddingsEndpointBuilderFactory.endpointBuilder(componentName, 
path);
     }
+    /**
+     * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+     * Perform operations on the Langchain4jEmbeddingStores.
+     * 
+     * Category: database,ai
+     * Since: 4.14
+     * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+     * 
+     * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+     * 
+     * Path parameter: embeddingStoreId (required)
+     * The id of the embedding store
+     * 
+     * @param path embeddingStoreId
+     * @return the dsl builder
+     */
+    public static 
LangChain4jEmbeddingStoreEndpointBuilderFactory.LangChain4jEmbeddingStoreEndpointBuilder
 langchain4jEmbeddingstore(String path) {
+        return langchain4jEmbeddingstore("langchain4j-embeddingstore", path);
+    }
+    /**
+     * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+     * Perform operations on the Langchain4jEmbeddingStores.
+     * 
+     * Category: database,ai
+     * Since: 4.14
+     * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+     * 
+     * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+     * 
+     * Path parameter: embeddingStoreId (required)
+     * The id of the embedding store
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path embeddingStoreId
+     * @return the dsl builder
+     */
+    public static 
LangChain4jEmbeddingStoreEndpointBuilderFactory.LangChain4jEmbeddingStoreEndpointBuilder
 langchain4jEmbeddingstore(String componentName, String path) {
+        return 
LangChain4jEmbeddingStoreEndpointBuilderFactory.endpointBuilder(componentName, 
path);
+    }
     /**
      * LangChain4j Tools (camel-langchain4j-tools)
      * LangChain4j Tools and Function Calling Features
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingStoreEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingStoreEndpointBuilderFactory.java
new file mode 100644
index 000000000000..d6acdff28952
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LangChain4jEmbeddingStoreEndpointBuilderFactory.java
@@ -0,0 +1,298 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Perform operations on the Langchain4jEmbeddingStores.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface LangChain4jEmbeddingStoreEndpointBuilderFactory {
+
+    /**
+     * Builder for endpoint for the LangChain4j Embedding Store component.
+     */
+    public interface LangChain4jEmbeddingStoreEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedLangChain4jEmbeddingStoreEndpointBuilder advanced() {
+            return (AdvancedLangChain4jEmbeddingStoreEndpointBuilder) this;
+        }
+
+        /**
+         * Direct embedding store instance for vector operations.
+         * 
+         * The option is a:
+         * 
<code>dev.langchain4j.store.embedding.EmbeddingStore&lt;dev.langchain4j.data.segment.TextSegment&gt;</code>
 type.
+         * 
+         * Group: producer
+         * 
+         * @param embeddingStore the value to set
+         * @return the dsl builder
+         */
+        default LangChain4jEmbeddingStoreEndpointBuilder 
embeddingStore(dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
 embeddingStore) {
+            doSetProperty("embeddingStore", embeddingStore);
+            return this;
+        }
+        /**
+         * Direct embedding store instance for vector operations.
+         * 
+         * The option will be converted to a
+         * 
<code>dev.langchain4j.store.embedding.EmbeddingStore&lt;dev.langchain4j.data.segment.TextSegment&gt;</code>
 type.
+         * 
+         * Group: producer
+         * 
+         * @param embeddingStore the value to set
+         * @return the dsl builder
+         */
+        default LangChain4jEmbeddingStoreEndpointBuilder embeddingStore(String 
embeddingStore) {
+            doSetProperty("embeddingStore", embeddingStore);
+            return this;
+        }
+        /**
+         * The embedding store factory to use for creating embedding stores if
+         * no embeddingstore is provided.
+         * 
+         * The option is a:
+         * 
<code>org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory</code>
 type.
+         * 
+         * Group: producer
+         * 
+         * @param embeddingStoreFactory the value to set
+         * @return the dsl builder
+         */
+        default LangChain4jEmbeddingStoreEndpointBuilder 
embeddingStoreFactory(org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory
 embeddingStoreFactory) {
+            doSetProperty("embeddingStoreFactory", embeddingStoreFactory);
+            return this;
+        }
+        /**
+         * The embedding store factory to use for creating embedding stores if
+         * no embeddingstore is provided.
+         * 
+         * The option will be converted to a
+         * 
<code>org.apache.camel.component.langchain4j.embeddingstore.EmbeddingStoreFactory</code>
 type.
+         * 
+         * Group: producer
+         * 
+         * @param embeddingStoreFactory the value to set
+         * @return the dsl builder
+         */
+        default LangChain4jEmbeddingStoreEndpointBuilder 
embeddingStoreFactory(String embeddingStoreFactory) {
+            doSetProperty("embeddingStoreFactory", embeddingStoreFactory);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the LangChain4j Embedding Store 
component.
+     */
+    public interface AdvancedLangChain4jEmbeddingStoreEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default LangChain4jEmbeddingStoreEndpointBuilder basic() {
+            return (LangChain4jEmbeddingStoreEndpointBuilder) this;
+        }
+
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedLangChain4jEmbeddingStoreEndpointBuilder 
lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedLangChain4jEmbeddingStoreEndpointBuilder 
lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    }
+
+    public interface LangChain4jEmbeddingStoreBuilders {
+        /**
+         * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+         * Perform operations on the Langchain4jEmbeddingStores.
+         * 
+         * Category: database,ai
+         * Since: 4.14
+         * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default LangChain4jEmbeddingStoreHeaderNameBuilder 
langchain4jEmbeddingstore() {
+            return LangChain4jEmbeddingStoreHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+         * Perform operations on the Langchain4jEmbeddingStores.
+         * 
+         * Category: database,ai
+         * Since: 4.14
+         * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+         * 
+         * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+         * 
+         * Path parameter: embeddingStoreId (required)
+         * The id of the embedding store
+         * 
+         * @param path embeddingStoreId
+         * @return the dsl builder
+         */
+        default LangChain4jEmbeddingStoreEndpointBuilder 
langchain4jEmbeddingstore(String path) {
+            return 
LangChain4jEmbeddingStoreEndpointBuilderFactory.endpointBuilder("langchain4j-embeddingstore",
 path);
+        }
+        /**
+         * LangChain4j Embedding Store (camel-langchain4j-embeddingstore)
+         * Perform operations on the Langchain4jEmbeddingStores.
+         * 
+         * Category: database,ai
+         * Since: 4.14
+         * Maven coordinates: org.apache.camel:camel-langchain4j-embeddingstore
+         * 
+         * Syntax: <code>langchain4j-embeddingstore:embeddingStoreId</code>
+         * 
+         * Path parameter: embeddingStoreId (required)
+         * The id of the embedding store
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path embeddingStoreId
+         * @return the dsl builder
+         */
+        default LangChain4jEmbeddingStoreEndpointBuilder 
langchain4jEmbeddingstore(String componentName, String path) {
+            return 
LangChain4jEmbeddingStoreEndpointBuilderFactory.endpointBuilder(componentName, 
path);
+        }
+
+    }
+    /**
+     * The builder of headers' name for the LangChain4j Embedding Store 
component.
+     */
+    public static class LangChain4jEmbeddingStoreHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final LangChain4jEmbeddingStoreHeaderNameBuilder 
INSTANCE = new LangChain4jEmbeddingStoreHeaderNameBuilder();
+
+        /**
+         * The action to be performed.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * Langchain4jEmbeddingStoreAction}.
+         */
+        public String langchain4jEmbeddingStoreAction() {
+            return "CamelLangchain4jEmbeddingStoreAction";
+        }
+        /**
+         * Maximum number of search results to return.
+         * 
+         * The option is a: {@code Integer} type.
+         * 
+         * Default: 5
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * Langchain4jEmbeddingStoreMaxResults}.
+         */
+        public String langchain4jEmbeddingStoreMaxResults() {
+            return "CamelLangchain4jEmbeddingStoreMaxResults";
+        }
+        /**
+         * Minimum similarity score for search results.
+         * 
+         * The option is a: {@code Double} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * Langchain4jEmbeddingStoreMinScore}.
+         */
+        public String langchain4jEmbeddingStoreMinScore() {
+            return "CamelLangchain4jEmbeddingStoreMinScore";
+        }
+        /**
+         * Search filter for metadata-based constraints.
+         * 
+         * The option is a: {@code
+         * dev.langchain4j.store.embedding.filter.Filter} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * Langchain4jEmbeddingStoreFilter}.
+         */
+        public String langchain4jEmbeddingStoreFilter() {
+            return "CamelLangchain4jEmbeddingStoreFilter";
+        }
+    }
+    static LangChain4jEmbeddingStoreEndpointBuilder endpointBuilder(String 
componentName, String path) {
+        class LangChain4jEmbeddingStoreEndpointBuilderImpl extends 
AbstractEndpointBuilder implements LangChain4jEmbeddingStoreEndpointBuilder, 
AdvancedLangChain4jEmbeddingStoreEndpointBuilder {
+            public LangChain4jEmbeddingStoreEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new LangChain4jEmbeddingStoreEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index ba0980c64b56..81af3f6f309e 100644
--- 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -229,6 +229,7 @@ org.apache.camel.component.kudu.KuduComponent=camel:kudu
 
org.apache.camel.component.langchain4j.agent.LangChain4jAgentComponent=camel:langchain4j-agent
 
org.apache.camel.component.langchain4j.chat.LangChain4jChatComponent=camel:langchain4j-chat
 
org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsComponent=camel:langchain4j-embeddings
+org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreComponent=camel:langchain4j-embeddingstore
 
org.apache.camel.component.langchain4j.tools.LangChain4jToolsComponent=camel:langchain4j-tools
 
org.apache.camel.component.langchain4j.web.search.LangChain4jWebSearchComponent=camel:langchain4j-web-search
 org.apache.camel.component.language.LanguageComponent=camel:language
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
index ba49373edde4..80ce5641d906 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
@@ -41,7 +41,8 @@ public final class MojoHelper {
                 return Arrays.asList(dir.resolve("camel-chatscript"), 
dir.resolve("camel-djl"),
                         dir.resolve("camel-langchain4j-agent"),
                         dir.resolve("camel-langchain4j-core"), 
dir.resolve("camel-langchain4j-chat"),
-                        dir.resolve("camel-langchain4j-embeddings"), 
dir.resolve("camel-langchain4j-tokenizer"),
+                        dir.resolve("camel-langchain4j-embeddings"), 
dir.resolve("camel-langchain4j-embeddingstore"),
+                        dir.resolve("camel-langchain4j-tokenizer"),
                         dir.resolve("camel-langchain4j-tools"), 
dir.resolve("camel-langchain4j-web-search"),
                         dir.resolve("camel-qdrant"), 
dir.resolve("camel-milvus"), dir.resolve("camel-neo4j"),
                         dir.resolve("camel-pinecone"), 
dir.resolve("camel-kserve"),


Reply via email to