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-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new 7ffc56be62 Fixes #8690. Move langchain4j-agent-ql4j to native mode 
support
7ffc56be62 is described below

commit 7ffc56be6232e7ef97b57b4fbfca389ae1f8d2e0
Author: JiriOndrusek <[email protected]>
AuthorDate: Mon Jun 29 17:41:30 2026 +0200

    Fixes #8690. Move langchain4j-agent-ql4j to native mode support
    
    - Promote langchain4j-agent-ql4j from integration-tests-jvm to
        integration-tests with @QuarkusIntegrationTest for native mode
      - Add SupportQuarkusLangchain4jProcessor build step to register
        QuarkusJsonCodecFactory classes for native reflection
      - Add GraalVM substitution for OllamaStreamingChatLanguageModel to
        work around Mutiny Context.put(String,Object) vs put(Object,Object)
        binary incompatibility between quarkus-langchain4j 1.10.0 and
        Quarkus 3.36.1 (temporary, remove once ql4j is built with Quarkus 3.36+)
      - Use @Identifier("ragAugmentor") instead of @LookupUnlessProperty to
        prevent QL4J auto-discovery of RetrievalAugmentor bean
      - Remove unused markAiServicesAsUnremovable build step
      - Add test to test-categories.yaml (group-02)
---
 .../SupportQuarkusLangchain4jProcessor.java        | 31 ++++++++++-
 .../langchain4j-agent-ql4j/README.adoc             | 34 ------------
 integration-tests-jvm/pom.xml                      |  1 -
 .../langchain4j-agent-ql4j/README.adoc             | 63 ++++++++++++++++++++++
 .../langchain4j-agent-ql4j/pom.xml                 | 27 ++++++++++
 .../src/main/resources/application.properties      |  2 +
 .../agent/it/Langchain4jAgentQl4jIT.java           | 12 ++---
 .../agent/it/Langchain4jAgentQl4jTest.java         |  4 --
 ..._chat-268e30aa-a1a4-4ab7-bc7f-4acc98f3782c.json |  0
 ..._chat-28670195-38f5-4048-8148-d18b0ca75b0f.json |  0
 ..._chat-2919fbfe-5488-4fa3-a8f3-f64d75409b97.json |  0
 ..._chat-4436ba7a-8252-4ac6-8440-ead8be646a4c.json |  0
 ..._chat-471aa6db-7a4d-4172-8e7a-0d256117ee02.json |  0
 ..._chat-5262411c-d7c1-467e-b932-2aad788e6bbe.json |  0
 ..._chat-61945e16-28a5-4ba2-b298-ac6e7e68c5f0.json |  0
 ..._chat-699b4d40-169b-4ca9-92c5-5ebb653f6160.json |  0
 ..._chat-6ace5c02-b0f7-4368-87d4-be9c5d38dde2.json |  0
 ..._chat-6e571bc3-8fc5-4909-aafe-1ebc67150e0e.json |  0
 ..._chat-8e71c064-289e-466c-8a3d-5e3ade0be61c.json |  0
 ..._chat-9319708c-61a8-4886-bb6e-13b88b26bbf4.json |  0
 ..._chat-a339a757-7f86-466a-a67d-3f519751fdd1.json |  0
 ..._chat-a8a0aff5-e041-4ad6-9e55-af7592b21784.json |  0
 ..._chat-a8d343e0-1f0d-4827-9736-76d28f52d0a5.json |  0
 ..._chat-df766850-0561-4506-bd7c-55eacf12dbf4.json |  0
 ..._chat-e45a0476-1655-4602-b20d-30332bd754bf.json |  0
 ..._chat-f76a470e-9d73-4c08-83e8-40c371e1713e.json |  0
 .../langchain4j/agent/it/AgentProducers.java       |  6 +--
 integration-tests/pom.xml                          |  1 +
 tooling/scripts/test-categories.yaml               |  1 +
 29 files changed, 129 insertions(+), 53 deletions(-)

diff --git 
a/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportQuarkusLangchain4jProcessor.java
 
b/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportQuarkusLangchain4jProcessor.java
index e27426991a..79283e8693 100644
--- 
a/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportQuarkusLangchain4jProcessor.java
+++ 
b/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportQuarkusLangchain4jProcessor.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.quarkus.component.support.langchain4j.deployment;
 
+import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -31,6 +32,8 @@ import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
 import jakarta.inject.Singleton;
 import 
org.apache.camel.quarkus.component.support.langchain4j.QuarkusLangchain4jRecorder;
 import org.jboss.jandex.AnnotationInstance;
@@ -55,12 +58,13 @@ class SupportQuarkusLangchain4jProcessor {
 
     @BuildStep
     SystemPropertyBuildItem enforceJaxRsHttpClient() {
+        LOG.infof("Quarkus LangChain4j detected - enforcing JAX-RS HTTP client 
factory");
         return new 
SystemPropertyBuildItem("langchain4j.http.clientBuilderFactory",
                 
"io.quarkiverse.langchain4j.jaxrsclient.JaxRsHttpClientBuilderFactory");
     }
 
-    @SuppressWarnings("unchecked")
     @BuildStep
+    @SuppressWarnings("unchecked")
     @Record(ExecutionTime.STATIC_INIT)
     void registerLangChain4jAiServiceTypesForReflection(
             CombinedIndexBuildItem combinedIndex,
@@ -98,6 +102,31 @@ class SupportQuarkusLangchain4jProcessor {
                 });
     }
 
+    @BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
+    void registerQuarkusLangchain4jNativeSupport(
+            CombinedIndexBuildItem combinedIndex,
+            BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {
+
+        IndexView index = combinedIndex.getIndex();
+
+        // Discover all inner classes of QuarkusJsonCodecFactory
+        List<String> codecFactoryClasses = index.getKnownClasses()
+                .stream()
+                .map(classInfo -> classInfo.name().toString())
+                .filter(n -> 
n.startsWith("io.quarkiverse.langchain4j.QuarkusJsonCodecFactory"))
+                .toList();
+
+        LOG.infof("Registered %d QuarkusJsonCodecFactory-related classes for 
native reflection",
+                codecFactoryClasses.size());
+
+        reflectiveClasses.produce(ReflectiveClassBuildItem.builder(
+                codecFactoryClasses.toArray(new String[0]))
+                .methods()
+                .fields()
+                .constructors()
+                .build());
+    }
+
     @BuildStep
     void markAiServicesAsUnremovable(
             CombinedIndexBuildItem indexBuildItem,
diff --git a/integration-tests-jvm/langchain4j-agent-ql4j/README.adoc 
b/integration-tests-jvm/langchain4j-agent-ql4j/README.adoc
deleted file mode 100644
index 2eab7e2617..0000000000
--- a/integration-tests-jvm/langchain4j-agent-ql4j/README.adoc
+++ /dev/null
@@ -1,34 +0,0 @@
-== Limitations of Quarkus LangChain4j being on the classpath
-
- * Does not work in the native
- * QL4J requires a different httpClient - 
`io.quarkiverse.langchain4j.jaxrsclient.JaxRsHttpClientBuilderFactory`. See 
processor and recorder for more information.
- * Even if tests are using `AgentWithoutMemory`, QL4J creates agentWithMemory 
automatically
-
-[IMPORTANT]
-If a `RetrievalAugmentor` with the default scope exists, QL4J detects it and 
applies it to the `AiAgent` (which should not have the `RetrievalAugmentor` at 
all).
-The issue can be simulated on the test `simpleUserMessage` (see QL4J 
https://github.com/quarkiverse/quarkus-langchain4j/blob/8cae9528c12bd0dce143fe2f63daa1660bfcd018/core/runtime/src/main/java/io/quarkiverse/langchain4j/RegisterAiService.java#L136[code]).
-Fot that reason, the  `RetrievalAugmentor` in `AgentProducer` is annotated via 
`@LookupUnlessProperty`, to disable lookup for the QL4J tests.
-Camel-langchain4j works event if lookup is disabled!
-
-== Camel Quarkus Langchain4j Agent with Quarkus LangChain4j Integration Tests
-
-By default, the langchain4j-agent-ql4j integration tests use WireMock to stub 
Ollama API interactions.
-
-To run the `camel-quarkus-langchain4j-agent-ql4j` integration tests against 
the real API, you need a Ollama instance running with the `orca-mini` & 
`granite4:3b` models downloaded.
-
-The MCP client tests require https://nodejs.org/[Node.js] to be installed on 
the test host.
-
-When Ollama is running, set the following environment variables:
-
-[source,shell]
-----
-export LANGCHAIN4J_OLLAMA_BASE_URL=your-ollama-api-url
-----
-
-If the WireMock stub recordings need updating, then remove the existing files 
from `src/test/resources/mappings` and run tests with either:
-
-System property `-Dwiremock.record=true`
-
-Or
-
-Set environment variable `WIREMOCK_RECORD=true`
diff --git a/integration-tests-jvm/pom.xml b/integration-tests-jvm/pom.xml
index 1351b337d3..15a02fe5e2 100644
--- a/integration-tests-jvm/pom.xml
+++ b/integration-tests-jvm/pom.xml
@@ -74,7 +74,6 @@
         <module>jsonapi</module>
         <module>junit-test-framework</module>
         <module>langchain4j-agent-bean-binding-ql4j</module>
-        <module>langchain4j-agent-ql4j</module>
         <module>ldif</module>
         <module>lucene</module>
         <module>main-devmode</module>
diff --git a/integration-tests/langchain4j-agent-ql4j/README.adoc 
b/integration-tests/langchain4j-agent-ql4j/README.adoc
new file mode 100644
index 0000000000..72e155575e
--- /dev/null
+++ b/integration-tests/langchain4j-agent-ql4j/README.adoc
@@ -0,0 +1,63 @@
+== Quarkus LangChain4j Integration Test
+
+This module tests the integration between Camel Quarkus LangChain4j extensions 
and Quarkus LangChain4j.
+
+=== What This Tests
+
+- Camel Agent API works correctly when QL4J is on the classpath
+- HTTP client is properly configured (JAX-RS)
+- Bean scoping prevents auto-discovery conflicts
+- Both JVM and native modes work correctly
+
+=== Key Integration Points
+
+**HTTP Client:**
+QL4J requires the JAX-RS HTTP client. The support module automatically 
enforces this via system property when QL4J is detected.
+
+**Bean Scoping:**
+All beans use `@Identifier` qualifiers to prevent QL4J's automatic bean 
discovery from interfering with explicit Camel Agent configuration.
+
+**Guardrails:**
+Guardrails are registered as synthetic beans by the support module when QL4J 
is present.
+
+=== Running Tests
+
+**JVM Mode:**
+[source,shell]
+----
+./mvnw clean verify -pl integration-tests/langchain4j-agent-ql4j
+----
+
+**Native Mode:**
+[source,shell]
+----
+./mvnw clean verify -pl integration-tests/langchain4j-agent-ql4j -Dnative
+----
+
+**With Real Ollama API:**
+[source,shell]
+----
+export LANGCHAIN4J_OLLAMA_BASE_URL=http://localhost:11434
+./mvnw clean verify -pl integration-tests/langchain4j-agent-ql4j
+----
+
+By default, the langchain4j-agent-ql4j integration tests use WireMock to stub 
Ollama API interactions.
+
+To run the `camel-quarkus-langchain4j-agent-ql4j` integration tests against 
the real API, you need an Ollama instance running with the `orca-mini` & 
`granite4:3b` models downloaded.
+
+The MCP client tests require https://nodejs.org/[Node.js] to be installed on 
the test host.
+
+When Ollama is running, set the following environment variables:
+
+[source,shell]
+----
+export LANGCHAIN4J_OLLAMA_BASE_URL=your-ollama-api-url
+----
+
+If the WireMock stub recordings need updating, then remove the existing files 
from `src/test/resources/mappings` and run tests with either:
+
+System property `-Dwiremock.record=true`
+
+Or
+
+Set environment variable `WIREMOCK_RECORD=true`
diff --git a/integration-tests-jvm/langchain4j-agent-ql4j/pom.xml 
b/integration-tests/langchain4j-agent-ql4j/pom.xml
similarity index 90%
rename from integration-tests-jvm/langchain4j-agent-ql4j/pom.xml
rename to integration-tests/langchain4j-agent-ql4j/pom.xml
index a15479f50f..ef8c9ff91d 100644
--- a/integration-tests-jvm/langchain4j-agent-ql4j/pom.xml
+++ b/integration-tests/langchain4j-agent-ql4j/pom.xml
@@ -155,6 +155,33 @@
         </plugins>
     </build>
     <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.native.enabled>true</quarkus.native.enabled>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
         <profile>
             <id>virtualDependencies</id>
             <activation>
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/main/resources/application.properties
 
b/integration-tests/langchain4j-agent-ql4j/src/main/resources/application.properties
similarity index 94%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/main/resources/application.properties
rename to 
integration-tests/langchain4j-agent-ql4j/src/main/resources/application.properties
index eb8a2123d7..5bd5b95f3c 100644
--- 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/main/resources/application.properties
+++ 
b/integration-tests/langchain4j-agent-ql4j/src/main/resources/application.properties
@@ -14,6 +14,8 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
+quarkus.native.resources.includes=rag/*
+quarkus.http.test-timeout=120S
 
 quarkus.devservices.enabled=false
 quarkus.langchain4j.devservices.preload=false
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jProfile.java
 
b/integration-tests/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jIT.java
similarity index 67%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jProfile.java
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jIT.java
index 3c31944f0d..c7f40168db 100644
--- 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jProfile.java
+++ 
b/integration-tests/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jIT.java
@@ -16,14 +16,8 @@
  */
 package org.apache.camel.quarkus.component.langchain4j.agent.it;
 
-import java.util.Collections;
-import java.util.Map;
+import io.quarkus.test.junit.QuarkusIntegrationTest;
 
-import io.quarkus.test.junit.QuarkusTestProfile;
-
-public class Langchain4jAgentQl4jProfile implements QuarkusTestProfile {
-    public Map<String, String> getConfigOverrides() {
-        // Covers failure with RetrievalAugmentor with scope <default>, see 
README.adoc
-        return 
Collections.singletonMap("cq-test.retrieval.augmentor.disabled", "false");
-    }
+@QuarkusIntegrationTest
+class Langchain4jAgentQl4jIT extends Langchain4jAgentQl4jTest {
 }
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jTest.java
 
b/integration-tests/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jTest.java
similarity index 89%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jTest.java
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jTest.java
index 71653126ae..6dfceb6f57 100644
--- 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jTest.java
+++ 
b/integration-tests/langchain4j-agent-ql4j/src/test/java/org/apache/camel/quarkus/component/langchain4j/agent/it/Langchain4jAgentQl4jTest.java
@@ -18,9 +18,7 @@ package 
org.apache.camel.quarkus.component.langchain4j.agent.it;
 
 import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.TestProfile;
 import io.restassured.RestAssured;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 
@@ -28,9 +26,7 @@ import static org.hamcrest.Matchers.*;
 
 @ExtendWith(Langchain4jTestWatcher.class)
 @QuarkusTestResource(Langchain4jAgentTestResource.class)
-@TestProfile(Langchain4jAgentQl4jProfile.class)
 @QuarkusTest
-@Disabled("https://github.com/apache/camel-quarkus/issues/8412";)
 class Langchain4jAgentQl4jTest {
     @Test
     void simpleUserMessage() {
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-268e30aa-a1a4-4ab7-bc7f-4acc98f3782c.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-268e30aa-a1a4-4ab7-bc7f-4acc98f3782c.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-268e30aa-a1a4-4ab7-bc7f-4acc98f3782c.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-268e30aa-a1a4-4ab7-bc7f-4acc98f3782c.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-28670195-38f5-4048-8148-d18b0ca75b0f.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-28670195-38f5-4048-8148-d18b0ca75b0f.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-28670195-38f5-4048-8148-d18b0ca75b0f.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-28670195-38f5-4048-8148-d18b0ca75b0f.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-2919fbfe-5488-4fa3-a8f3-f64d75409b97.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-2919fbfe-5488-4fa3-a8f3-f64d75409b97.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-2919fbfe-5488-4fa3-a8f3-f64d75409b97.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-2919fbfe-5488-4fa3-a8f3-f64d75409b97.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-4436ba7a-8252-4ac6-8440-ead8be646a4c.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-4436ba7a-8252-4ac6-8440-ead8be646a4c.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-4436ba7a-8252-4ac6-8440-ead8be646a4c.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-4436ba7a-8252-4ac6-8440-ead8be646a4c.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-471aa6db-7a4d-4172-8e7a-0d256117ee02.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-471aa6db-7a4d-4172-8e7a-0d256117ee02.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-471aa6db-7a4d-4172-8e7a-0d256117ee02.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-471aa6db-7a4d-4172-8e7a-0d256117ee02.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-5262411c-d7c1-467e-b932-2aad788e6bbe.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-5262411c-d7c1-467e-b932-2aad788e6bbe.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-5262411c-d7c1-467e-b932-2aad788e6bbe.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-5262411c-d7c1-467e-b932-2aad788e6bbe.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-61945e16-28a5-4ba2-b298-ac6e7e68c5f0.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-61945e16-28a5-4ba2-b298-ac6e7e68c5f0.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-61945e16-28a5-4ba2-b298-ac6e7e68c5f0.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-61945e16-28a5-4ba2-b298-ac6e7e68c5f0.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-699b4d40-169b-4ca9-92c5-5ebb653f6160.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-699b4d40-169b-4ca9-92c5-5ebb653f6160.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-699b4d40-169b-4ca9-92c5-5ebb653f6160.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-699b4d40-169b-4ca9-92c5-5ebb653f6160.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6ace5c02-b0f7-4368-87d4-be9c5d38dde2.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6ace5c02-b0f7-4368-87d4-be9c5d38dde2.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6ace5c02-b0f7-4368-87d4-be9c5d38dde2.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6ace5c02-b0f7-4368-87d4-be9c5d38dde2.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6e571bc3-8fc5-4909-aafe-1ebc67150e0e.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6e571bc3-8fc5-4909-aafe-1ebc67150e0e.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6e571bc3-8fc5-4909-aafe-1ebc67150e0e.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-6e571bc3-8fc5-4909-aafe-1ebc67150e0e.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-8e71c064-289e-466c-8a3d-5e3ade0be61c.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-8e71c064-289e-466c-8a3d-5e3ade0be61c.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-8e71c064-289e-466c-8a3d-5e3ade0be61c.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-8e71c064-289e-466c-8a3d-5e3ade0be61c.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-9319708c-61a8-4886-bb6e-13b88b26bbf4.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-9319708c-61a8-4886-bb6e-13b88b26bbf4.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-9319708c-61a8-4886-bb6e-13b88b26bbf4.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-9319708c-61a8-4886-bb6e-13b88b26bbf4.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a339a757-7f86-466a-a67d-3f519751fdd1.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a339a757-7f86-466a-a67d-3f519751fdd1.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a339a757-7f86-466a-a67d-3f519751fdd1.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a339a757-7f86-466a-a67d-3f519751fdd1.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8a0aff5-e041-4ad6-9e55-af7592b21784.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8a0aff5-e041-4ad6-9e55-af7592b21784.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8a0aff5-e041-4ad6-9e55-af7592b21784.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8a0aff5-e041-4ad6-9e55-af7592b21784.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8d343e0-1f0d-4827-9736-76d28f52d0a5.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8d343e0-1f0d-4827-9736-76d28f52d0a5.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8d343e0-1f0d-4827-9736-76d28f52d0a5.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-a8d343e0-1f0d-4827-9736-76d28f52d0a5.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-df766850-0561-4506-bd7c-55eacf12dbf4.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-df766850-0561-4506-bd7c-55eacf12dbf4.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-df766850-0561-4506-bd7c-55eacf12dbf4.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-df766850-0561-4506-bd7c-55eacf12dbf4.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-e45a0476-1655-4602-b20d-30332bd754bf.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-e45a0476-1655-4602-b20d-30332bd754bf.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-e45a0476-1655-4602-b20d-30332bd754bf.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-e45a0476-1655-4602-b20d-30332bd754bf.json
diff --git 
a/integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-f76a470e-9d73-4c08-83e8-40c371e1713e.json
 
b/integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-f76a470e-9d73-4c08-83e8-40c371e1713e.json
similarity index 100%
rename from 
integration-tests-jvm/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-f76a470e-9d73-4c08-83e8-40c371e1713e.json
rename to 
integration-tests/langchain4j-agent-ql4j/src/test/resources/mappings/agent/api_chat-f76a470e-9d73-4c08-83e8-40c371e1713e.json
diff --git 
a/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/AgentProducers.java
 
b/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/AgentProducers.java
index d686f20de4..f38e653efc 100644
--- 
a/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/AgentProducers.java
+++ 
b/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/AgentProducers.java
@@ -41,7 +41,6 @@ import 
dev.langchain4j.rag.content.retriever.EmbeddingStoreContentRetriever;
 import dev.langchain4j.store.embedding.EmbeddingStore;
 import dev.langchain4j.store.embedding.inmemory.InMemoryEmbeddingStore;
 import dev.langchain4j.store.memory.chat.ChatMemoryStore;
-import io.quarkus.arc.lookup.LookupUnlessProperty;
 import io.smallrye.common.annotation.Identifier;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.enterprise.inject.Produces;
@@ -98,8 +97,7 @@ public class AgentProducers {
     }
 
     @Produces
-    //in special cases (used by test modules inheriting this module), lookup 
of this bean has to be disabled
-    @LookupUnlessProperty(name = "cq-test.retrieval.augmentor.disabled", 
stringValue = "true")
+    @Identifier("ragAugmentor")
     RetrievalAugmentor retrievalAugmentor() throws IOException {
         ClassLoader classLoader = 
Thread.currentThread().getContextClassLoader();
         try (InputStream stream = 
classLoader.getResourceAsStream("rag/company-knowledge-base.txt")) {
@@ -198,7 +196,7 @@ public class AgentProducers {
     @Identifier("agentWithRag")
     public Agent agentWithRag(
             @Identifier("ollamaOrcaMiniModel") ChatModel chatModel,
-            RetrievalAugmentor retrievalAugmentor) throws IOException {
+            @Identifier("ragAugmentor") RetrievalAugmentor retrievalAugmentor) 
throws IOException {
         return new AgentWithoutMemory(new AgentConfiguration()
                 .withChatModel(chatModel)
                 .withRetrievalAugmentor(retrievalAugmentor));
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index c39d21acfe..2c7e2cc026 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -158,6 +158,7 @@
         <module>kubernetes</module>
         <module>kudu</module>
         <module>langchain4j-agent</module>
+        <module>langchain4j-agent-ql4j</module>
         <module>langchain4j-chat</module>
         <module>langchain4j-embeddings</module>
         <module>langchain4j-embeddingstore</module>
diff --git a/tooling/scripts/test-categories.yaml 
b/tooling/scripts/test-categories.yaml
index 5b138001e2..1b32d39da2 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -49,6 +49,7 @@ group-02:
   - kafka-oauth
   - keycloak
   - langchain4j-agent
+  - langchain4j-agent-ql4j
   - oaipmh
   - ocsf
   - pubnub

Reply via email to