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 49a067474d Migrate from deprecated 
dev.langchain4j.guardrail.JsonExtractorOutputGuardrail to 
dev.langchain4j.guardrails.JsonExtractorOutputGuardrail
49a067474d is described below

commit 49a067474d6b443f3d74041b3208d4f6a808ea54
Author: James Netherton <[email protected]>
AuthorDate: Wed Aug 5 15:48:39 2026 +0100

    Migrate from deprecated 
dev.langchain4j.guardrail.JsonExtractorOutputGuardrail to 
dev.langchain4j.guardrails.JsonExtractorOutputGuardrail
---
 .../langchain4j/deployment/SupportLangchain4jProcessor.java        | 6 ++++--
 .../langchain4j/deployment/SupportQuarkusLangchain4jProcessor.java | 7 ++++++-
 .../agent/it/guardrail/TestPojoJsonExtractorOutputGuardrail.java   | 2 +-
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
 
b/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
index ca0166aa4e..f76b6abbfb 100644
--- 
a/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
+++ 
b/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
@@ -31,7 +31,6 @@ import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.PropertyNamingStrategies;
 import dev.langchain4j.agent.tool.Tool;
 import dev.langchain4j.guardrail.InputGuardrail;
-import dev.langchain4j.guardrail.JsonExtractorOutputGuardrail;
 import dev.langchain4j.guardrail.OutputGuardrail;
 import dev.langchain4j.model.embedding.onnx.AbstractInProcessEmbeddingModel;
 import dev.langchain4j.service.MemoryId;
@@ -69,6 +68,9 @@ import org.jboss.jandex.Type;
 
 @BuildSteps(onlyIf = NativeOrNativeSourcesBuild.class)
 class SupportLangchain4jProcessor {
+    static final DotName JSON_EXTRACTOR_OUTPUT_GUARDRAIL = DotName
+            
.createSimple("dev.langchain4j.guardrails.JsonExtractorOutputGuardrail");
+
     private static final Class<?>[] AI_SERVICE_ANNOTATION_CLASSES = {
             MemoryId.class,
             SystemMessage.class,
@@ -162,7 +164,7 @@ class SupportLangchain4jProcessor {
         }
 
         // Any types participating in JsonExtractorOutputGuardrail operations 
require reflection
-        index.getAllKnownSubclasses(JsonExtractorOutputGuardrail.class)
+        index.getAllKnownSubclasses(JSON_EXTRACTOR_OUTPUT_GUARDRAIL)
                 .stream()
                 .filter(classInfo -> classInfo.superClassType() != null)
                 .filter(classInfo -> 
classInfo.superClassType().kind().equals(Type.Kind.PARAMETERIZED_TYPE))
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 79283e8693..72af82eb3f 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
@@ -82,8 +82,13 @@ class SupportQuarkusLangchain4jProcessor {
                 .map(ClassInfo::name)
                 .forEach(guardrailTypes::add);
 
+        
index.getAllKnownSubclasses(SupportLangchain4jProcessor.JSON_EXTRACTOR_OUTPUT_GUARDRAIL)
+                .stream()
+                .map(ClassInfo::name)
+                .forEach(guardrailTypes::add);
+
         guardrailTypes.stream()
-                .filter(s -> 
!s.toString().equals("dev.langchain4j.guardrail.JsonExtractorOutputGuardrail"))
+                .filter(s -> 
!s.equals(SupportLangchain4jProcessor.JSON_EXTRACTOR_OUTPUT_GUARDRAIL))
                 .forEach(s -> {
                     try {
                         Class<Guardrail<?, ?>> guardrailClass;
diff --git 
a/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/guardrail/TestPojoJsonExtractorOutputGuardrail.java
 
b/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/guardrail/TestPojoJsonExtractorOutputGuardrail.java
index e95ab1b7f6..93d2e9bc81 100644
--- 
a/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/guardrail/TestPojoJsonExtractorOutputGuardrail.java
+++ 
b/integration-tests/langchain4j-agent/src/main/java/org/apache/camel/quarkus/component/langchain4j/agent/it/guardrail/TestPojoJsonExtractorOutputGuardrail.java
@@ -17,8 +17,8 @@
 package org.apache.camel.quarkus.component.langchain4j.agent.it.guardrail;
 
 import dev.langchain4j.data.message.AiMessage;
-import dev.langchain4j.guardrail.JsonExtractorOutputGuardrail;
 import dev.langchain4j.guardrail.OutputGuardrailResult;
+import dev.langchain4j.guardrails.JsonExtractorOutputGuardrail;
 import org.apache.camel.quarkus.component.langchain4j.agent.it.model.TestPojo;
 
 public class TestPojoJsonExtractorOutputGuardrail extends 
JsonExtractorOutputGuardrail<TestPojo> {

Reply via email to