This is an automated email from the ASF dual-hosted git repository.
JiriOndrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/camel-main by this push:
new e955385f54 Remove extensions for components removed from Camel main:
irc, langchain4j-tools
e955385f54 is described below
commit e955385f54ce99c9085627920d9fdb0f6ac14477
Author: Jiri Ondrusek <[email protected]>
AuthorDate: Fri Aug 28 10:07:01 2026 +0200
Remove extensions for components removed from Camel main: irc,
langchain4j-tools
The camel-irc and camel-langchain4j-tools components were removed from Camel
main. Remove the corresponding Camel Quarkus extensions, integration tests,
BOM/catalog entries, docs and test-categories references. Drop the unused
langchain4j-tools dependency from the langchain4j-agent-ql4j integration
test.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
---
catalog/pom.xml | 26 ----
docs/modules/ROOT/nav.adoc | 2 -
.../ROOT/pages/reference/extensions/ai-tool.adoc | 2 +-
.../ROOT/pages/reference/extensions/irc.adoc | 34 -----
.../reference/extensions/langchain4j-tools.adoc | 68 ---------
extensions-jvm/irc/deployment/pom.xml | 61 --------
.../component/irc/deployment/IrcProcessor.java | 46 ------
extensions-jvm/irc/pom.xml | 37 -----
extensions-jvm/irc/runtime/pom.xml | 69 ---------
.../main/resources/META-INF/quarkus-extension.yaml | 37 -----
extensions-jvm/pom.xml | 1 -
extensions/ai-tool/runtime/src/main/doc/usage.adoc | 2 +-
extensions/langchain4j-tools/deployment/pom.xml | 65 ---------
.../deployment/Langchain4jToolsProcessor.java | 29 ----
extensions/langchain4j-tools/pom.xml | 37 -----
extensions/langchain4j-tools/runtime/pom.xml | 104 -------------
.../main/resources/META-INF/quarkus-extension.yaml | 36 -----
extensions/pom.xml | 1 -
integration-tests-jvm/irc/pom.xml | 83 -----------
.../quarkus/component/irc/it/IrcResource.java | 50 -------
.../camel/quarkus/component/irc/it/IrcTest.java | 34 -----
integration-tests-jvm/pom.xml | 1 -
integration-tests/langchain4j-agent-ql4j/pom.xml | 17 ---
integration-tests/langchain4j-tools/README.adoc | 20 ---
integration-tests/langchain4j-tools/pom.xml | 161 ---------------------
.../tools/it/Langchain4jToolsProducers.java | 41 ------
.../tools/it/Langchain4jToolsResource.java | 83 -----------
.../tools/it/Langchain4jToolsRoutes.java | 31 ----
.../src/main/resources/application.properties | 20 ---
.../src/main/resources/sql/db-init.sql | 30 ----
.../langchain4j/tools/it/Langchain4jToolsIT.java | 24 ---
.../langchain4j/tools/it/Langchain4jToolsTest.java | 41 ------
.../langchain4j/tools/it/OllamaTestResource.java | 49 -------
..._chat-3a96d932-0bd9-45c0-8482-0fdc0cc67243.json | 26 ----
..._chat-58a8c909-b8c3-4e57-946a-110a8c6a6fab.json | 27 ----
integration-tests/pom.xml | 1 -
poms/bom/pom.xml | 30 ----
poms/bom/src/main/generated/flattened-full-pom.xml | 30 ----
.../src/main/generated/flattened-reduced-pom.xml | 30 ----
.../generated/flattened-reduced-verbose-pom.xml | 30 ----
tooling/scripts/test-categories.yaml | 1 -
41 files changed, 2 insertions(+), 1515 deletions(-)
diff --git a/catalog/pom.xml b/catalog/pom.xml
index af7295937a..d718538bf8 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -1943,19 +1943,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-iso8583</artifactId>
@@ -2580,19 +2567,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-langchain4j-web-search</artifactId>
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 2cb13f46d5..163f8b7322 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -163,7 +163,6 @@
*** xref:reference/extensions/ibm-secrets-manager.adoc[IBM Secrets Manager]
*** xref:reference/extensions/ibm-watson-discovery.adoc[IBM Watson Discovery]
*** xref:reference/extensions/ibm-watson-language.adoc[IBM Watson Language]
-*** xref:reference/extensions/irc.adoc[IRC]
*** xref:reference/extensions/iso8583.adoc[ISO-8583]
*** xref:reference/extensions/ignite.adoc[Ignite Cache]
*** xref:reference/extensions/infinispan.adoc[Infinispan]
@@ -216,7 +215,6 @@
*** xref:reference/extensions/langchain4j-embeddings.adoc[LangChain4j
Embeddings]
*** xref:reference/extensions/langchain4j-ingest.adoc[LangChain4j Ingest]
*** xref:reference/extensions/langchain4j-tokenizer.adoc[LangChain4j Tokenizer]
-*** xref:reference/extensions/langchain4j-tools.adoc[LangChain4j Tools]
*** xref:reference/extensions/langchain4j-web-search.adoc[LangChain4j Web
Search]
*** xref:reference/extensions/language.adoc[Language]
*** xref:reference/extensions/log.adoc[Log]
diff --git a/docs/modules/ROOT/pages/reference/extensions/ai-tool.adoc
b/docs/modules/ROOT/pages/reference/extensions/ai-tool.adoc
index 86ff0a1f5f..0ebbb9f8ea 100644
--- a/docs/modules/ROOT/pages/reference/extensions/ai-tool.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/ai-tool.adoc
@@ -46,7 +46,7 @@ endif::[]
[id="extensions-ai-tool-usage"]
== Usage
-The `ai-tool` component is a framework-agnostic consumer endpoint that
registers Camel routes as LLM-callable tools in a shared `AiToolRegistry`.
Framework-specific extensions (such as `camel-quarkus-langchain4j-tools`,
`camel-quarkus-openai`) discover and invoke these tools at runtime.
+The `ai-tool` component is a framework-agnostic consumer endpoint that
registers Camel routes as LLM-callable tools in a shared `AiToolRegistry`.
Framework-specific extensions (such as `camel-quarkus-langchain4j-agent`,
`camel-quarkus-openai`) discover and invoke these tools at runtime.
[id="extensions-ai-tool-usage-defining-a-tool"]
=== Defining a tool
diff --git a/docs/modules/ROOT/pages/reference/extensions/irc.adoc
b/docs/modules/ROOT/pages/reference/extensions/irc.adoc
deleted file mode 100644
index 75bdc1d628..0000000000
--- a/docs/modules/ROOT/pages/reference/extensions/irc.adoc
+++ /dev/null
@@ -1,34 +0,0 @@
-// Do not edit directly!
-// This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
-[id="extensions-irc"]
-= IRC
-:linkattrs:
-:cq-artifact-id: camel-quarkus-irc
-:cq-native-supported: false
-:cq-status: Preview
-:cq-status-deprecation: Preview
-:cq-description: Send and receive messages to/from an IRC chat.
-:cq-deprecated: false
-:cq-jvm-since: 1.1.0
-:cq-native-since: n/a
-
-ifeval::[{doc-show-badges} == true]
-[.badges]
-[.badge-key]##JVM since##[.badge-supported]##1.1.0##
[.badge-key]##Native##[.badge-unsupported]##unsupported##
-endif::[]
-
-Send and receive messages to/from an IRC chat.
-
-[id="extensions-irc-maven-coordinates"]
-== Maven coordinates
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
-</dependency>
-----
-ifeval::[{doc-show-user-guide-link} == true]
-Check the xref:user-guide/index.adoc[User guide] for more information about
writing Camel Quarkus applications.
-endif::[]
diff --git
a/docs/modules/ROOT/pages/reference/extensions/langchain4j-tools.adoc
b/docs/modules/ROOT/pages/reference/extensions/langchain4j-tools.adoc
deleted file mode 100644
index cc8f72d57e..0000000000
--- a/docs/modules/ROOT/pages/reference/extensions/langchain4j-tools.adoc
+++ /dev/null
@@ -1,68 +0,0 @@
-// Do not edit directly!
-// This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
-[id="extensions-langchain4j-tools"]
-= LangChain4j Tools
-:linkattrs:
-:cq-artifact-id: camel-quarkus-langchain4j-tools
-:cq-native-supported: true
-:cq-status: Preview
-:cq-status-deprecation: Preview
-:cq-description: LangChain4j Tools and Function Calling Features
-:cq-deprecated: false
-:cq-jvm-since: 3.15.0
-:cq-native-since: 3.24.0
-
-ifeval::[{doc-show-badges} == true]
-[.badges]
-[.badge-key]##JVM since##[.badge-supported]##3.15.0## [.badge-key]##Native
since##[.badge-supported]##3.24.0##
-endif::[]
-
-LangChain4j Tools and Function Calling Features
-
-[id="extensions-langchain4j-tools-maven-coordinates"]
-== Maven coordinates
-
-https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-langchain4j-tools[Create
a new project with this extension on {link-quarkus-code-generator},
window="_blank"]
-
-Or add the coordinates to your existing project:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
-</dependency>
-----
-ifeval::[{doc-show-user-guide-link} == true]
-Check the xref:user-guide/index.adoc[User guide] for more information about
writing Camel Quarkus applications.
-endif::[]
-
-[id="extensions-langchain4j-tools-quarkus-langchain4j-bom"]
-== LangChain4j usage
-
-=== Dependency management
-
-In order to ensure alignment across all Quarkus and LangChain4j related
dependencies, it is recommended to import the LangChain4j BOM as below:
-[source,xml,subs=attributes+]
-----
-<dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>dev.langchain4j</groupId>
- <artifactId>langchain4j-bom</artifactId>
- <version>{langchain4j-version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- ...
-</dependencyManagement>
-----
-
-Note that the import order is paramount when using maven
`dependencyManagement`.
-As such, one might need to import the `langchain4j-bom` before other related
Camel and Quarkus BOMs.
-
-=== Quarkus LangChain4j support
-
-WARNING: At present, this extension is neither tested with nor intended to be
used in conjunction with any Quarkus LangChain4j extensions.
-Consequently, both JVM and native modes may exhibit unexpected behaviour or
fail to function correctly in such configurations.
diff --git a/extensions-jvm/irc/deployment/pom.xml
b/extensions-jvm/irc/deployment/pom.xml
deleted file mode 100644
index ad0a98fbe8..0000000000
--- a/extensions-jvm/irc/deployment/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-parent</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-irc-deployment</artifactId>
- <name>Camel Quarkus :: IRC :: Deployment</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
-
<artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git
a/extensions-jvm/irc/deployment/src/main/java/org/apache/camel/quarkus/component/irc/deployment/IrcProcessor.java
b/extensions-jvm/irc/deployment/src/main/java/org/apache/camel/quarkus/component/irc/deployment/IrcProcessor.java
deleted file mode 100644
index 83e3270740..0000000000
---
a/extensions-jvm/irc/deployment/src/main/java/org/apache/camel/quarkus/component/irc/deployment/IrcProcessor.java
+++ /dev/null
@@ -1,46 +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.quarkus.component.irc.deployment;
-
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.annotations.ExecutionTime;
-import io.quarkus.deployment.annotations.Record;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
-import org.apache.camel.quarkus.core.JvmOnlyRecorder;
-import org.jboss.logging.Logger;
-
-class IrcProcessor {
-
- private static final Logger LOG = Logger.getLogger(IrcProcessor.class);
- private static final String FEATURE = "camel-irc";
-
- @BuildStep
- FeatureBuildItem feature() {
- return new FeatureBuildItem(FEATURE);
- }
-
- /**
- * Remove this once this extension starts supporting the native mode.
- */
- @BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
- @Record(value = ExecutionTime.RUNTIME_INIT)
- void warnJvmInNative(JvmOnlyRecorder recorder) {
- JvmOnlyRecorder.warnJvmInNative(LOG, FEATURE); // warn at build time
- recorder.warnJvmInNative(FEATURE); // warn at runtime
- }
-}
diff --git a/extensions-jvm/irc/pom.xml b/extensions-jvm/irc/pom.xml
deleted file mode 100644
index b99752ca02..0000000000
--- a/extensions-jvm/irc/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-extensions-jvm</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-irc-parent</artifactId>
- <name>Camel Quarkus :: IRC</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>deployment</module>
- <module>runtime</module>
- </modules>
-</project>
diff --git a/extensions-jvm/irc/runtime/pom.xml
b/extensions-jvm/irc/runtime/pom.xml
deleted file mode 100644
index f2744e657e..0000000000
--- a/extensions-jvm/irc/runtime/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-parent</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-irc</artifactId>
- <name>Camel Quarkus :: IRC :: Runtime</name>
- <description>Send and receive messages to/from an IRC chat.</description>
-
- <properties>
- <camel.quarkus.jvmSince>1.1.0</camel.quarkus.jvmSince>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-irc</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-extension-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
-
<artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git
a/extensions-jvm/irc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
b/extensions-jvm/irc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index f42c05d913..0000000000
---
a/extensions-jvm/irc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,37 +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.
-#
-
-# This is a generated file. Do not edit directly!
-# To re-generate, run the following command from the top level directory:
-#
-# mvn -N cq:update-quarkus-metadata
-#
----
-name: "Camel IRC"
-description: "Send and receive messages to/from an IRC chat"
-metadata:
- icon-url:
"https://raw.githubusercontent.com/apache/camel-website/main/antora-ui-camel/src/img/logo-d.svg"
- sponsor: "Apache Software Foundation"
- unlisted: true
- guide:
"https://camel.apache.org/camel-quarkus/latest/reference/extensions/irc.html"
- categories:
- - "integration"
- status: "stable"
- integrates:
- - name: "Camel"
- artifact: "org.apache.camel:camel-base"
- version: "${camel.version}"
\ No newline at end of file
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index e47dd9312a..b2ab237619 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -63,7 +63,6 @@
<module>huaweicloud-smn</module>
<module>ibm-secrets-manager</module>
<module>ignite</module>
- <module>irc</module>
<module>javascript</module>
<module>jcr</module>
<module>jgroups</module>
diff --git a/extensions/ai-tool/runtime/src/main/doc/usage.adoc
b/extensions/ai-tool/runtime/src/main/doc/usage.adoc
index 555525dda4..491ed692e3 100644
--- a/extensions/ai-tool/runtime/src/main/doc/usage.adoc
+++ b/extensions/ai-tool/runtime/src/main/doc/usage.adoc
@@ -1,4 +1,4 @@
-The `ai-tool` component is a framework-agnostic consumer endpoint that
registers Camel routes as LLM-callable tools in a shared `AiToolRegistry`.
Framework-specific extensions (such as `camel-quarkus-langchain4j-tools`,
`camel-quarkus-openai`) discover and invoke these tools at runtime.
+The `ai-tool` component is a framework-agnostic consumer endpoint that
registers Camel routes as LLM-callable tools in a shared `AiToolRegistry`.
Framework-specific extensions (such as `camel-quarkus-langchain4j-agent`,
`camel-quarkus-openai`) discover and invoke these tools at runtime.
=== Defining a tool
diff --git a/extensions/langchain4j-tools/deployment/pom.xml
b/extensions/langchain4j-tools/deployment/pom.xml
deleted file mode 100644
index cb63a0d2f1..0000000000
--- a/extensions/langchain4j-tools/deployment/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools-parent</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <name>Camel Quarkus :: LangChain4j Tools :: Deployment</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-support-langchain4j-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
-
<artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git
a/extensions/langchain4j-tools/deployment/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/deployment/Langchain4jToolsProcessor.java
b/extensions/langchain4j-tools/deployment/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/deployment/Langchain4jToolsProcessor.java
deleted file mode 100644
index 84afa8bdd8..0000000000
---
a/extensions/langchain4j-tools/deployment/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/deployment/Langchain4jToolsProcessor.java
+++ /dev/null
@@ -1,29 +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.quarkus.component.langchain4j.tools.deployment;
-
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-
-class Langchain4jToolsProcessor {
- private static final String FEATURE = "camel-langchain4j-tools";
-
- @BuildStep
- FeatureBuildItem feature() {
- return new FeatureBuildItem(FEATURE);
- }
-}
diff --git a/extensions/langchain4j-tools/pom.xml
b/extensions/langchain4j-tools/pom.xml
deleted file mode 100644
index 61dc679c9a..0000000000
--- a/extensions/langchain4j-tools/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-extensions</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-langchain4j-tools-parent</artifactId>
- <name>Camel Quarkus :: LangChain4j Tools</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>deployment</module>
- <module>runtime</module>
- </modules>
-</project>
diff --git a/extensions/langchain4j-tools/runtime/pom.xml
b/extensions/langchain4j-tools/runtime/pom.xml
deleted file mode 100644
index 4e4246c827..0000000000
--- a/extensions/langchain4j-tools/runtime/pom.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools-parent</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- <name>Camel Quarkus :: LangChain4j Tools :: Runtime</name>
- <description>LangChain4j Tools and Function Calling Features</description>
-
- <properties>
- <camel.quarkus.jvmSince>3.15.0</camel.quarkus.jvmSince>
- <camel.quarkus.nativeSince>3.24.0</camel.quarkus.nativeSince>
- <quarkus.metadata.status>preview</quarkus.metadata.status>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-support-langchain4j</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-langchain4j-tools</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-extension-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
-
<artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-
- <profiles>
- <profile>
- <id>full</id>
- <activation>
- <property>
- <name>!quickly</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>update-extension-doc-page</id>
- <goals>
- <goal>update-extension-doc-page</goal>
- </goals>
- <phase>process-classes</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git
a/extensions/langchain4j-tools/runtime/src/main/resources/META-INF/quarkus-extension.yaml
b/extensions/langchain4j-tools/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index 9cdcc3f55c..0000000000
---
a/extensions/langchain4j-tools/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,36 +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.
-#
-
-# This is a generated file. Do not edit directly!
-# To re-generate, run the following command from the top level directory:
-#
-# mvn -N cq:update-quarkus-metadata
-#
----
-name: "Camel LangChain4j Tools"
-description: "LangChain4j Tools and Function Calling Features"
-metadata:
- icon-url:
"https://raw.githubusercontent.com/apache/camel-website/main/antora-ui-camel/src/img/logo-d.svg"
- sponsor: "Apache Software Foundation"
- guide:
"https://camel.apache.org/camel-quarkus/latest/reference/extensions/langchain4j-tools.html"
- categories:
- - "integration"
- status: "preview"
- integrates:
- - name: "Camel"
- artifact: "org.apache.camel:camel-base"
- version: "${camel.version}"
\ No newline at end of file
diff --git a/extensions/pom.xml b/extensions/pom.xml
index f07644a020..0cc0b41e4d 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -189,7 +189,6 @@
<module>langchain4j-embeddingstore</module>
<module>langchain4j-ingest</module>
<module>langchain4j-tokenizer</module>
- <module>langchain4j-tools</module>
<module>langchain4j-web-search</module>
<module>language</module>
<module>ldap</module>
diff --git a/integration-tests-jvm/irc/pom.xml
b/integration-tests-jvm/irc/pom.xml
deleted file mode 100644
index 1e2a0f34fa..0000000000
--- a/integration-tests-jvm/irc/pom.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-build-parent-it</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-integration-test-irc</artifactId>
- <name>Camel Quarkus :: Integration Tests :: IRC</name>
- <description>Integration tests for Camel Quarkus IRC
extension</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </activation>
- <dependencies>
- <!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
-</project>
diff --git
a/integration-tests-jvm/irc/src/main/java/org/apache/camel/quarkus/component/irc/it/IrcResource.java
b/integration-tests-jvm/irc/src/main/java/org/apache/camel/quarkus/component/irc/it/IrcResource.java
deleted file mode 100644
index 1c6d6d3154..0000000000
---
a/integration-tests-jvm/irc/src/main/java/org/apache/camel/quarkus/component/irc/it/IrcResource.java
+++ /dev/null
@@ -1,50 +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.quarkus.component.irc.it;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-import org.apache.camel.CamelContext;
-import org.jboss.logging.Logger;
-
-@Path("/irc")
-@ApplicationScoped
-public class IrcResource {
-
- private static final Logger LOG = Logger.getLogger(IrcResource.class);
-
- private static final String COMPONENT_IRC = "irc";
- @Inject
- CamelContext context;
-
- @Path("/load/component/irc")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public Response loadComponentIrc() throws Exception {
- /* This is an autogenerated test */
- if (context.getComponent(COMPONENT_IRC) != null) {
- return Response.ok().build();
- }
- LOG.warnf("Could not load [%s] from the Camel context", COMPONENT_IRC);
- return Response.status(500, COMPONENT_IRC + " could not be loaded from
the Camel context").build();
- }
-}
diff --git
a/integration-tests-jvm/irc/src/test/java/org/apache/camel/quarkus/component/irc/it/IrcTest.java
b/integration-tests-jvm/irc/src/test/java/org/apache/camel/quarkus/component/irc/it/IrcTest.java
deleted file mode 100644
index d7e90073c7..0000000000
---
a/integration-tests-jvm/irc/src/test/java/org/apache/camel/quarkus/component/irc/it/IrcTest.java
+++ /dev/null
@@ -1,34 +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.quarkus.component.irc.it;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-class IrcTest {
-
- @Test
- public void loadComponentIrc() {
- /* A simple autogenerated test */
- RestAssured.get("/irc/load/component/irc")
- .then()
- .statusCode(200);
- }
-
-}
diff --git a/integration-tests-jvm/pom.xml b/integration-tests-jvm/pom.xml
index 50ba537e5c..9867a13732 100644
--- a/integration-tests-jvm/pom.xml
+++ b/integration-tests-jvm/pom.xml
@@ -62,7 +62,6 @@
<module>huaweicloud-smn</module>
<module>ibm-secrets-manager</module>
<module>ignite</module>
- <module>irc</module>
<module>javascript</module>
<module>jcr</module>
<module>jgroups</module>
diff --git a/integration-tests/langchain4j-agent-ql4j/pom.xml
b/integration-tests/langchain4j-agent-ql4j/pom.xml
index c58cc7e135..4611541497 100644
--- a/integration-tests/langchain4j-agent-ql4j/pom.xml
+++ b/integration-tests/langchain4j-agent-ql4j/pom.xml
@@ -51,10 +51,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-langchain4j-agent</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-seda</artifactId>
@@ -217,19 +213,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-seda-deployment</artifactId>
diff --git a/integration-tests/langchain4j-tools/README.adoc
b/integration-tests/langchain4j-tools/README.adoc
deleted file mode 100644
index e0e885e996..0000000000
--- a/integration-tests/langchain4j-tools/README.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-== Camel Quarkus Langchain4j Tools Integration Tests
-
-By default, the Langchain4j Tools integration tests use WireMock to stub
Ollama API interactions.
-
-To run the `camel-quarkus-langchain4j-tools` integration tests against the
real API, you need a Ollama instance running with the `orca-mini` model
downloaded.
-
-When Ollama is running, set the following environment variables:
-
-[source,shell]
-----
-export QUARKUS_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/langchain4j-tools/pom.xml
b/integration-tests/langchain4j-tools/pom.xml
deleted file mode 100644
index 1188b4ba1a..0000000000
--- a/integration-tests/langchain4j-tools/pom.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-build-parent-it</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-integration-test-langchain4j-tools</artifactId>
- <name>Camel Quarkus :: Integration Tests :: LangChain4j Tools</name>
- <description>Integration tests for Camel Quarkus LangChain4j Tools
extension</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-sql</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-jdbc-h2</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-rest</artifactId>
- </dependency>
- <dependency>
- <groupId>dev.langchain4j</groupId>
- <artifactId>langchain4j-ollama</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-test-h2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-integration-wiremock-support</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </activation>
- <dependencies>
- <!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-sql-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
- <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>
- </profiles>
-</project>
diff --git
a/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsProducers.java
b/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsProducers.java
deleted file mode 100644
index 620cfc9784..0000000000
---
a/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsProducers.java
+++ /dev/null
@@ -1,41 +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.quarkus.component.langchain4j.tools.it;
-
-import java.time.Duration;
-
-import dev.langchain4j.model.chat.ChatModel;
-import dev.langchain4j.model.ollama.OllamaChatModel;
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.enterprise.inject.Produces;
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-
-@ApplicationScoped
-public class Langchain4jToolsProducers {
- @ConfigProperty(name = "langchain4j.ollama.base-url")
- String ollamaBaseUrl;
-
- @Produces
- ChatModel chatModel() {
- return new OllamaChatModel.OllamaChatModelBuilder()
- .baseUrl(ollamaBaseUrl)
- .modelName("granite4:3b")
- .temperature(0.0)
- .timeout(Duration.ofSeconds(30))
- .build();
- }
-}
diff --git
a/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsResource.java
b/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsResource.java
deleted file mode 100644
index ee4aa18a09..0000000000
---
a/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsResource.java
+++ /dev/null
@@ -1,83 +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.quarkus.component.langchain4j.tools.it;
-
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.sql.Connection;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.sql.DataSource;
-
-import dev.langchain4j.data.message.ChatMessage;
-import dev.langchain4j.data.message.SystemMessage;
-import dev.langchain4j.data.message.UserMessage;
-import io.quarkus.runtime.StartupEvent;
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.enterprise.event.Observes;
-import jakarta.inject.Inject;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-import org.apache.camel.ProducerTemplate;
-
-@Path("/langchain4j-tools")
-@ApplicationScoped
-public class Langchain4jToolsResource {
- private static final ChatMessage SYSTEM_MESSAGE = new SystemMessage("You
provide information about a " +
- "specific user name by querying a database users table using the
given user_id column value. " +
- "Respond with the text in the format: The user name is <the users
name here>");
-
- @Inject
- ProducerTemplate producerTemplate;
-
- @Inject
- DataSource dataSource;
-
- void init(@Observes StartupEvent event) throws Exception {
- try (Connection connection = dataSource.getConnection()) {
- try (InputStream stream =
Thread.currentThread().getContextClassLoader().getResourceAsStream("sql/db-init.sql"))
{
- if (stream == null) {
- throw new IllegalStateException("Cannot find db-init.sql
init file");
- }
-
- // Read database init script and strip comments
- String script = new String(stream.readAllBytes(),
StandardCharsets.UTF_8).replaceAll("(?m)^--.*(?:\\r?\\n)?",
- "");
- for (String sql : script.split("(?<=;)")) {
- try (Statement statement = connection.createStatement()) {
- statement.execute(sql);
- }
- }
- }
- }
- }
-
- @POST
- @Produces(MediaType.TEXT_PLAIN)
- public Response sendChatMessages(String message) throws Exception {
- List<ChatMessage> chatMessages = new ArrayList<>();
- chatMessages.add(SYSTEM_MESSAGE);
- chatMessages.add(new UserMessage(message));
- String result = producerTemplate.requestBody("direct:start",
chatMessages, String.class);
- return Response.ok(result).build();
- }
-}
diff --git
a/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsRoutes.java
b/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsRoutes.java
deleted file mode 100644
index 90aced07a4..0000000000
---
a/integration-tests/langchain4j-tools/src/main/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsRoutes.java
+++ /dev/null
@@ -1,31 +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.quarkus.component.langchain4j.tools.it;
-
-import org.apache.camel.builder.RouteBuilder;
-
-public class Langchain4jToolsRoutes extends RouteBuilder {
- @Override
- public void configure() {
- from("direct:start")
- .to("langchain4j-tools:userInfo?tags=users");
-
- from("langchain4j-tools:userInfo?tags=users&description=Query database
by user ID¶meter.user_id=integer")
- .to("sql:SELECT first_name, last_name FROM users WHERE id =
:#user_id");
- }
-
-}
diff --git
a/integration-tests/langchain4j-tools/src/main/resources/application.properties
b/integration-tests/langchain4j-tools/src/main/resources/application.properties
deleted file mode 100644
index b6f6207707..0000000000
---
a/integration-tests/langchain4j-tools/src/main/resources/application.properties
+++ /dev/null
@@ -1,20 +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.
-## ---------------------------------------------------------------------------
-quarkus.native.resources.includes=sql/*
-
-quarkus.datasource.db-kind=h2
-quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test
diff --git
a/integration-tests/langchain4j-tools/src/main/resources/sql/db-init.sql
b/integration-tests/langchain4j-tools/src/main/resources/sql/db-init.sql
deleted file mode 100644
index de497bbcf8..0000000000
--- a/integration-tests/langchain4j-tools/src/main/resources/sql/db-init.sql
+++ /dev/null
@@ -1,30 +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.
---
-
-DROP TABLE IF EXISTS users;
-
-CREATE TABLE users
-(
- id INT PRIMARY KEY,
- first_name VARCHAR(100),
- last_name VARCHAR(100)
-);
-
-INSERT INTO users (id, first_name, last_name) VALUES
-(1, 'Alice', 'Smith'),
-(2, 'Bob', 'Johnson'),
-(3, 'Charlie', 'Brown');
diff --git
a/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsIT.java
b/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsIT.java
deleted file mode 100644
index b6989b7988..0000000000
---
a/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsIT.java
+++ /dev/null
@@ -1,24 +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.quarkus.component.langchain4j.tools.it;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-class Langchain4jToolsIT extends Langchain4jToolsTest {
-
-}
diff --git
a/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsTest.java
b/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsTest.java
deleted file mode 100644
index 1feabf564f..0000000000
---
a/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/Langchain4jToolsTest.java
+++ /dev/null
@@ -1,41 +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.quarkus.component.langchain4j.tools.it;
-
-import io.quarkus.test.common.QuarkusTestResource;
-import io.quarkus.test.h2.H2DatabaseTestResource;
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.Matchers.containsString;
-
-@QuarkusTestResource(H2DatabaseTestResource.class)
-@QuarkusTestResource(OllamaTestResource.class)
-@QuarkusTest
-class Langchain4jToolsTest {
-
- @Test
- void chatUsingTools() {
- RestAssured.given()
- .body("What is the name of the user with ID 1")
- .post("/langchain4j-tools")
- .then()
- .statusCode(200)
- .body(containsString("The user name is Alice Smith"));
- }
-}
diff --git
a/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/OllamaTestResource.java
b/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/OllamaTestResource.java
deleted file mode 100644
index df87052952..0000000000
---
a/integration-tests/langchain4j-tools/src/test/java/org/apache/camel/quarkus/component/langchain4j/tools/it/OllamaTestResource.java
+++ /dev/null
@@ -1,49 +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.quarkus.component.langchain4j.tools.it;
-
-import java.util.Map;
-
-import
org.apache.camel.quarkus.test.wiremock.WireMockTestResourceLifecycleManager;
-
-public class OllamaTestResource extends WireMockTestResourceLifecycleManager {
- private static final String OLLAMA_ENV_URL = "LANGCHAIN4J_OLLAMA_BASE_URL";
-
- @Override
- public Map<String, String> start() {
- Map<String, String> properties = super.start();
- String wiremockUrl = properties.get("wiremock.url");
- String url = wiremockUrl != null ? wiremockUrl :
getRecordTargetBaseUrl();
- properties.put("langchain4j.ollama.base-url", url);
- return properties;
- }
-
- @Override
- protected String getRecordTargetBaseUrl() {
- return System.getenv(OLLAMA_ENV_URL);
- }
-
- @Override
- protected boolean isMockingEnabled() {
- return !envVarsPresent(OLLAMA_ENV_URL);
- }
-
- @Override
- protected String getStubsSubdirectory() {
- return "tools";
- }
-}
diff --git
a/integration-tests/langchain4j-tools/src/test/resources/mappings/tools/api_chat-3a96d932-0bd9-45c0-8482-0fdc0cc67243.json
b/integration-tests/langchain4j-tools/src/test/resources/mappings/tools/api_chat-3a96d932-0bd9-45c0-8482-0fdc0cc67243.json
deleted file mode 100644
index 34ae1a2fdb..0000000000
---
a/integration-tests/langchain4j-tools/src/test/resources/mappings/tools/api_chat-3a96d932-0bd9-45c0-8482-0fdc0cc67243.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "id" : "3a96d932-0bd9-45c0-8482-0fdc0cc67243",
- "name" : "api_chat",
- "request" : {
- "url" : "/api/chat",
- "method" : "POST",
- "bodyPatterns" : [ {
- "equalToJson" : "{\n \"model\" : \"granite4:3b\",\n \"messages\" : [
{\n \"role\" : \"system\",\n \"content\" : \"You provide information
about a specific user name by querying a database users table using the given
user_id column value. Respond with the text in the format: The user name is
<the users name here>\"\n }, {\n \"role\" : \"user\",\n \"content\" :
\"What is the name of the user with ID 1\"\n }, {\n \"role\" :
\"assistant\",\n \"tool_calls\" : [ {\n [...]
- "ignoreArrayOrder" : true,
- "ignoreExtraElements" : true
- } ]
- },
- "response" : {
- "status" : 200,
- "body" :
"{\"model\":\"granite4:3b\",\"created_at\":\"2025-08-06T14:14:31.249582295Z\",\"message\":{\"role\":\"assistant\",\"content\":\"The
user name is Alice
Smith.\"},\"done_reason\":\"stop\",\"done\":true,\"total_duration\":2185308900,\"load_duration\":17768479,\"prompt_eval_count\":148,\"prompt_eval_duration\":1397666550,\"eval_count\":8,\"eval_duration\":768664286}",
- "headers" : {
- "Date" : "Wed, 06 Aug 2025 14:14:31 GMT",
- "Content-Type" : "application/json; charset=utf-8"
- }
- },
- "uuid" : "3a96d932-0bd9-45c0-8482-0fdc0cc67243",
- "persistent" : true,
- "insertionIndex" : 1,
- "scenarioName": "LLMChat",
- "requiredScenarioState": "end"
-}
\ No newline at end of file
diff --git
a/integration-tests/langchain4j-tools/src/test/resources/mappings/tools/api_chat-58a8c909-b8c3-4e57-946a-110a8c6a6fab.json
b/integration-tests/langchain4j-tools/src/test/resources/mappings/tools/api_chat-58a8c909-b8c3-4e57-946a-110a8c6a6fab.json
deleted file mode 100644
index 8b117bbbef..0000000000
---
a/integration-tests/langchain4j-tools/src/test/resources/mappings/tools/api_chat-58a8c909-b8c3-4e57-946a-110a8c6a6fab.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "id" : "58a8c909-b8c3-4e57-946a-110a8c6a6fab",
- "name" : "api_chat",
- "request" : {
- "url" : "/api/chat",
- "method" : "POST",
- "bodyPatterns" : [ {
- "equalToJson" : "{\n \"model\" : \"granite4:3b\",\n \"messages\" : [
{\n \"role\" : \"system\",\n \"content\" : \"You provide information
about a specific user name by querying a database users table using the given
user_id column value. Respond with the text in the format: The user name is
<the users name here>\"\n }, {\n \"role\" : \"user\",\n \"content\" :
\"What is the name of the user with ID 1\"\n } ],\n \"options\" : {\n
\"temperature\" : 0.0,\n \"stop [...]
- "ignoreArrayOrder" : true,
- "ignoreExtraElements" : true
- } ]
- },
- "response" : {
- "status" : 200,
- "body" :
"{\"model\":\"granite4:3b\",\"created_at\":\"2025-08-06T14:14:28.870376477Z\",\"message\":{\"role\":\"assistant\",\"content\":\"\",\"tool_calls\":[{\"function\":{\"name\":\"QueryDatabaseByUserID\",\"arguments\":{\"user_id\":1}}}]},\"done_reason\":\"stop\",\"done\":true,\"total_duration\":9952193345,\"load_duration\":2757235223,\"prompt_eval_count\":206,\"prompt_eval_duration\":5107005332,\"eval_count\":20,\"eval_duration\":2086690234}",
- "headers" : {
- "Date" : "Wed, 06 Aug 2025 14:14:28 GMT",
- "Content-Type" : "application/json; charset=utf-8"
- }
- },
- "uuid" : "58a8c909-b8c3-4e57-946a-110a8c6a6fab",
- "persistent" : true,
- "insertionIndex" : 2,
- "scenarioName": "LLMChat",
- "requiredScenarioState": "Started",
- "newScenarioState": "end"
-}
\ No newline at end of file
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index d9e8f32a4b..861aef036d 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -168,7 +168,6 @@
<module>langchain4j-ingest</module>
<module>langchain4j-rag-bridge-ql4j</module>
<module>langchain4j-tokenizer</module>
- <module>langchain4j-tools</module>
<module>langchain4j-web-search</module>
<module>ldap</module>
<module>lra</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index bd10c31512..65606ba8c7 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1841,11 +1841,6 @@
<artifactId>camel-influxdb</artifactId>
<version>${camel.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-irc</artifactId>
- <version>${camel.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-iso8583</artifactId>
@@ -2196,11 +2191,6 @@
<artifactId>camel-langchain4j-tokenizer</artifactId>
<version>${camel.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-langchain4j-tools</artifactId>
- <version>${camel.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-web-search</artifactId>
@@ -4925,16 +4915,6 @@
<artifactId>camel-quarkus-influxdb-deployment</artifactId>
<version>${camel-quarkus.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-iso8583</artifactId>
@@ -5430,16 +5410,6 @@
<artifactId>camel-quarkus-langchain4j-tokenizer-deployment</artifactId>
<version>${camel-quarkus.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-langchain4j-web-search</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml
b/poms/bom/src/main/generated/flattened-full-pom.xml
index fba55ba11d..fd14ad660a 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -1754,11 +1754,6 @@
<artifactId>camel-influxdb</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-irc</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-iso8583</artifactId>
@@ -2109,11 +2104,6 @@
<artifactId>camel-langchain4j-tokenizer</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-langchain4j-tools</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-web-search</artifactId>
@@ -4810,16 +4800,6 @@
<artifactId>camel-quarkus-influxdb-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-iso8583</artifactId>
@@ -5315,16 +5295,6 @@
<artifactId>camel-quarkus-langchain4j-tokenizer-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-langchain4j-web-search</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 9443416d9d..a43753da06 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -3097,11 +3097,6 @@
<artifactId>camel-influxdb</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-irc</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-iso8583</artifactId>
@@ -3452,11 +3447,6 @@
<artifactId>camel-langchain4j-tokenizer</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-langchain4j-tools</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-web-search</artifactId>
@@ -6158,16 +6148,6 @@
<artifactId>camel-quarkus-influxdb-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-iso8583</artifactId>
@@ -6663,16 +6643,6 @@
<artifactId>camel-quarkus-langchain4j-tokenizer-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-langchain4j-web-search</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index d165b482af..2d369f7d0e 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -3097,11 +3097,6 @@
<artifactId>camel-influxdb</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-irc</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-iso8583</artifactId>
@@ -3452,11 +3447,6 @@
<artifactId>camel-langchain4j-tokenizer</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-langchain4j-tools</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-web-search</artifactId>
@@ -6158,16 +6148,6 @@
<artifactId>camel-quarkus-influxdb-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-irc-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-iso8583</artifactId>
@@ -6663,16 +6643,6 @@
<artifactId>camel-quarkus-langchain4j-tokenizer-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-langchain4j-tools-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-langchain4j-web-search</artifactId>
diff --git a/tooling/scripts/test-categories.yaml
b/tooling/scripts/test-categories.yaml
index b85d917211..bf55478293 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -238,7 +238,6 @@ group-12:
- quartz-clustered
- knative
- langchain4j-web-search
- - langchain4j-tools
- mcp-server
- openapi-java
- openapi-validator