diff --git a/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java new file mode 100644 index 00000000000..c9b63fbb471 --- /dev/null +++ b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStoreHints.java @@ -0,0 +1,26 @@ +package org.springframework.ai.vectorstore; + +import org.springframework.aot.hint.MemberCategory; +import org.springframework.aot.hint.RuntimeHints; +import org.springframework.aot.hint.RuntimeHintsRegistrar; + +import java.util.Set; + +/** + * Registration of AOT hints for Pinecone's vector store. + * + * @author Josh Long + * + */ +class PineconeVectorStoreHints implements RuntimeHintsRegistrar { + + @Override + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + for (var t : Set.of(com.google.protobuf.Value.class, com.google.protobuf.Value.Builder.class, + com.google.protobuf.Struct.class)) { + hints.reflection().registerType(t, MemberCategory.values()); + } + + } + +} diff --git a/vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories b/vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 00000000000..0127c04f003 --- /dev/null +++ b/vector-stores/spring-ai-pinecone-store/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1 @@ +org.springframework.aot.hint.RuntimeHintsRegistrar=org.springframework.ai.vectorstore.PineconeVectorStoreHints \ No newline at end of file