Skip to content

Add new Google Maven artifacts to config.json with refined proto namespace handling #1243

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 25 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
2dc4fd7
Update Gradle and Android Plugins
mattleibow Aug 8, 2025
fa09d98
Just install Java 21
mattleibow Aug 8, 2025
a76a334
Update setup-environment.yml
mattleibow Aug 8, 2025
0aed0f1
Revert "Update setup-environment.yml"
mattleibow Aug 8, 2025
2299893
Revert "Just install Java 21"
mattleibow Aug 8, 2025
2a5d26e
Try this
mattleibow Aug 8, 2025
882a2da
ANDROID_HOME
mattleibow Aug 9, 2025
a449e71
logging
mattleibow Aug 9, 2025
b99d35d
Fix this
mattleibow Aug 10, 2025
9df46ec
Update BUILDING.md
mattleibow Aug 11, 2025
5c11139
revert versions
mattleibow Aug 11, 2025
730204f
Initial plan
Copilot Aug 7, 2025
420b22d
Add new Google Maven artifacts to config.json
Copilot Aug 7, 2025
3be0a74
Add missing org.json dependency and create PublicAPI files for new Go…
Copilot Aug 7, 2025
0d23fd5
Update config.json
mattleibow Aug 8, 2025
e1cca86
Update config.json
mattleibow Aug 8, 2025
55d0dba
Update config.json
mattleibow Aug 8, 2025
4d2a11e
Update config.json
mattleibow Aug 8, 2025
f29917a
Update config.json
mattleibow Aug 8, 2025
8005fad
try this
mattleibow Aug 8, 2025
d412abf
Fix interface implementation issues in MediaPipe tasks-genai binding
Copilot Aug 8, 2025
72b59b1
Remove entire JNI proto namespace from MediaPipe tasks-genai binding
Copilot Aug 8, 2025
5e4a5ed
Remove proto namespaces from Google AI Edge LocalAgents bindings
Copilot Aug 11, 2025
f588198
Merge remote-tracking branch 'origin/main' into copilot/fix-53d65152-…
mattleibow Aug 11, 2025
14c4aad
this
mattleibow Aug 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2405,6 +2405,24 @@
"type": "androidlibrary",
"comments": "Depends on Xamarin.Google.Android.ODML.Image which only has a prerelease version."
},
{
"groupId": "com.google.ai.edge.localagents",
"artifactId": "localagents-fc",
"version": "0.1.0",
"nugetVersion": "0.1.0",
"nugetId": "Xamarin.Google.AI.Edge.LocalAgents.FC",
"type": "androidlibrary",
"excludedRuntimeDependencies": "org.json.json"
},
{
"groupId": "com.google.ai.edge.localagents",
"artifactId": "localagents-rag",
"version": "0.2.0",
"nugetVersion": "0.2.0",
"nugetId": "Xamarin.Google.AI.Edge.LocalAgents.RAG",
"type": "androidlibrary",
"excludedRuntimeDependencies": "org.json.json"
},
{
"groupId": "com.google.android",
"artifactId": "annotations",
Expand Down Expand Up @@ -3972,6 +3990,14 @@
"type": "no-bindings",
"mavenRepositoryType": "MavenCentral"
},
{
"groupId": "com.google.mediapipe",
"artifactId": "tasks-genai",
"version": "0.10.25",
"nugetVersion": "0.10.25",
"nugetId": "Xamarin.Google.MediaPipe.Tasks.GenAI",
"type": "androidlibrary"
},
{
"groupId": "com.google.mlkit",
"artifactId": "barcode-scanning",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
#nullable enable
Google.AI.Edge.Localagents.FC.ChatSession
Google.AI.Edge.Localagents.FC.ChatSession.Clone() -> Google.AI.Edge.Localagents.FC.ChatSession?
Google.AI.Edge.Localagents.FC.ChatSession.Close() -> void
Google.AI.Edge.Localagents.FC.ChatSession.DisableConstraint() -> void
Google.AI.Edge.Localagents.FC.ChatSession.Rewind() -> Google.AI.Edge.Localagents.FC.ChatSession.RewindResult?
Google.AI.Edge.Localagents.FC.ChatSession.RewindResult
Google.AI.Edge.Localagents.FC.ChatSession.RewindResult.RewindResult() -> void
Google.AI.Edge.Localagents.FC.ChatSession.RewindResult.RewindResult(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.AI.Edge.Localagents.FC.FstConstraintProvider
Google.AI.Edge.Localagents.FC.FstConstraintProvider.Close() -> void
Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint
Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint.FstConstraint(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraintProvider(long sentencePieceProcessorHandle) -> void
Google.AI.Edge.Localagents.FC.FunctionCallException
Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus
Google.AI.Edge.Localagents.FC.FunctionCallException.Status.get -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
Google.AI.Edge.Localagents.FC.GemmaFormatter
Google.AI.Edge.Localagents.FC.GemmaFormatter.GemmaFormatter() -> void
Google.AI.Edge.Localagents.FC.GemmaFormatter.GemmaFormatter(Google.AI.Edge.Localagents.FC.ModelFormatterOptions? formatterOptions) -> void
Google.AI.Edge.Localagents.FC.GemmaFormatter.StartModelTurn() -> string?
Google.AI.Edge.Localagents.FC.GenerativeModel
Google.AI.Edge.Localagents.FC.GenerativeModel.StartChat() -> Google.AI.Edge.Localagents.FC.ChatSession?
Google.AI.Edge.Localagents.FC.HammerFormatter
Google.AI.Edge.Localagents.FC.HammerFormatter.HammerFormatter() -> void
Google.AI.Edge.Localagents.FC.HammerFormatter.HammerFormatter(Google.AI.Edge.Localagents.FC.ModelFormatterOptions? formatterOptions) -> void
Google.AI.Edge.Localagents.FC.HammerFormatter.StartModelTurn() -> string?
Google.AI.Edge.Localagents.FC.LlamaFormatter
Google.AI.Edge.Localagents.FC.LlamaFormatter.LlamaFormatter() -> void
Google.AI.Edge.Localagents.FC.LlamaFormatter.LlamaFormatter(Google.AI.Edge.Localagents.FC.ModelFormatterOptions? formatterOptions) -> void
Google.AI.Edge.Localagents.FC.LlamaFormatter.StartModelTurn() -> string?
Google.AI.Edge.Localagents.FC.LlmInferenceBackend
Google.AI.Edge.Localagents.FC.LlmInferenceBackend.Close() -> void
Google.AI.Edge.Localagents.FC.ModelFormatterOptions
Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder
Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.Build() -> Google.AI.Edge.Localagents.FC.ModelFormatterOptions?
Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.Builder() -> void
Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.Builder(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.AI.Edge.Localagents.FC.ModelFormatterOptions.ModelFormatterOptions() -> void
Google.AI.Edge.Localagents.FC.ModelFormatterOptions.ModelFormatterOptions(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.AI.Edge.Localagents.FC.Toolretrieval.DefaultToolFormatter
Google.AI.Edge.Localagents.FC.Toolretrieval.DefaultToolFormatter.DefaultToolFormatter() -> void
Google.AI.Edge.Localagents.FC.Toolretrieval.DefaultToolRetrievalClient
Google.AI.Edge.Localagents.FC.Toolretrieval.DefaultToolRetrievalClient.AddRawText(System.Collections.Generic.IList<string!>? textEntries, System.Collections.Generic.IList<System.Collections.Generic.IDictionary<string!, string!>!>? metadata) -> Java.Lang.Boolean?
Google.AI.Edge.Localagents.FC.Toolretrieval.IToolFormatter
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.AddFunctionMetadata(string? functionName, Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata? metadata) -> Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata?
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.FunctionMetadata() -> void
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.FunctionMetadata(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.GetFunctionMetadata(string? functionName) -> Java.Util.Optional?
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.RemoveFunctionMetadata(string? functionName) -> Java.Util.Optional?
Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.ToolMetadata() -> void
abstract Google.AI.Edge.Localagents.FC.ModelFormatterOptions.AddPromptTemplate() -> bool
abstract Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.SetAddPromptTemplate(bool addPromptTemplate) -> Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder?
override Google.AI.Edge.Localagents.FC.ChatSession.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.ChatSession.RewindResult.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.ChatSession.RewindResult.ThresholdClass.get -> nint
override Google.AI.Edge.Localagents.FC.ChatSession.RewindResult.ThresholdType.get -> System.Type!
override Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint.ThresholdClass.get -> nint
override Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint.ThresholdType.get -> System.Type!
override Google.AI.Edge.Localagents.FC.FstConstraintProvider.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.FunctionCallException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.GemmaFormatter.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.GenerativeModel.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.HammerFormatter.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.LlamaFormatter.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.LlmInferenceBackend.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.ThresholdClass.get -> nint
override Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder.ThresholdType.get -> System.Type!
override Google.AI.Edge.Localagents.FC.ModelFormatterOptions.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.ModelFormatterOptions.ThresholdClass.get -> nint
override Google.AI.Edge.Localagents.FC.ModelFormatterOptions.ThresholdType.get -> System.Type!
override Google.AI.Edge.Localagents.FC.Toolretrieval.DefaultToolFormatter.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.Toolretrieval.DefaultToolRetrievalClient.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
override Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.ThresholdClass.get -> nint
override Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.ThresholdType.get -> System.Type!
override Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.InvalidFunctionName.get -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.InvalidParameterName.get -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.MissingRequiredParameter.get -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.ParseError.get -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.Valid.get -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.ValueOf(string? name) -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus?
static Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus.Values() -> Google.AI.Edge.Localagents.FC.FunctionCallException.FunctionCallStatus![]?
static Google.AI.Edge.Localagents.FC.ModelFormatterOptions.InvokeBuilder() -> Google.AI.Edge.Localagents.FC.ModelFormatterOptions.Builder?
virtual Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint.Close() -> void
virtual Google.AI.Edge.Localagents.FC.FstConstraintProvider.FstConstraint.ConstraintHandle.get -> long
virtual Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.AddAttribute(string? key, string? value) -> Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata?
virtual Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.GetAttribute(string? key) -> Java.Util.Optional?
virtual Google.AI.Edge.Localagents.FC.Toolretrieval.ToolMetadata.FunctionMetadata.RemoveAttribute(string? key) -> Java.Util.Optional?
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<!-- Remove proto packages as they are internal types -->
<remove-node path="/api/package[@name='com.google.ai.edge.localagents.core.proto']" />
<remove-node path="/api/package[@name='com.google.ai.edge.localagents.fc.proto']" />
</metadata>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<!-- Remove proto packages as they are internal types -->
<remove-node path="/api/package[@name='com.google.ai.edge.localagents.rag.memory.proto']" />
<remove-node path="/api/package[@name='com.google.ai.edge.localagents.rag.models.proto']" />
<!-- Chain is internal -->
<remove-node path="/api/package/class/implements[@name='com.google.ai.edge.localagents.rag.chains.Chain']" />
<!-- -->
<add-node path="/api/package[@name='com.google.ai.edge.localagents.rag.memory']/class[@name='DefaultVectorStore']">
<method abstract="false" deprecated="not deprecated" final="false" name="getNearestRecords" native="false"
return="java.util.List&lt;com.google.ai.edge.localagents.rag.memory.VectorStoreRecord&lt;java.lang.Object&gt;&gt;"
jni-return="Lcom/google/common/collect/ImmutableList&lt;Lcom/google/ai/edge/localagents/rag/memory/VectorStoreRecord&lt;TT;&gt;;&gt;;"
static="false" synchronized="false" visibility="public" bridge="false" synthetic="false"
jni-signature="(Ljava/util/List;IF)Lcom/google/common/collect/ImmutableList;">
<parameter name="queryEmbeddings" type="java.util.List&lt;java.lang.Float&gt;" jni-type="Ljava/util/List&lt;Ljava/lang/Float;&gt;;" />
<parameter name="topK" type="int" jni-type="I" />
<parameter name="minSimilarityScore" type="float" jni-type="F" />
</method>
<method abstract="false" deprecated="not deprecated" final="false" name="getNearestRecords"
native="false" return="java.util.List" jni-return="Ljava/util/List;" static="false"
synchronized="false" visibility="public" bridge="true" synthetic="true"
jni-signature="(Ljava/util/List;IF)Ljava/util/List;">
<parameter name="queryEmbeddings" type="java.util.List" jni-type="Ljava/util/List;" />
<parameter name="topK" type="int" jni-type="I" />
<parameter name="minSimilarityScore" type="float" jni-type="F" />
</method>
</add-node>
<add-node path="/api/package[@name='com.google.ai.edge.localagents.rag.memory']/class[@name='SqliteVectorStore']">
<method abstract="false" deprecated="not deprecated" final="false" name="getNearestRecords" native="false"
return="java.util.List&lt;com.google.ai.edge.localagents.rag.memory.VectorStoreRecord&lt;java.lang.Object&gt;&gt;"
jni-return="Lcom/google/common/collect/ImmutableList&lt;Lcom/google/ai/edge/localagents/rag/memory/VectorStoreRecord&lt;Ljava/lang/String;&gt;;&gt;;"
static="false" synchronized="false" visibility="public" bridge="false" synthetic="false"
jni-signature="(Ljava/util/List;IF)Lcom/google/common/collect/ImmutableList;">
<parameter name="queryEmbeddings" type="java.util.List&lt;java.lang.Float&gt;" jni-type="Ljava/util/List&lt;Ljava/lang/Float;&gt;;" />
<parameter name="topK" type="int" jni-type="I" />
<parameter name="minSimilarityScore" type="float" jni-type="F" />
</method>
<method abstract="false" deprecated="not deprecated" final="false" name="getNearestRecords"
native="false" return="java.util.List" jni-return="Ljava/util/List;" static="false"
synchronized="false" visibility="public" bridge="true" synthetic="true"
jni-signature="(Ljava/util/List;IF)Ljava/util/List;">
<parameter name="queryEmbeddings" type="java.util.List" jni-type="Ljava/util/List;" />
<parameter name="topK" type="int" jni-type="I" />
<parameter name="minSimilarityScore" type="float" jni-type="F" />
</method>
</add-node>
<attr
path="/api/package[@name='com.google.ai.edge.localagents.rag.memory']/interface[@name='VectorStore']/method[@name='getNearestRecords']"
name="return">java.util.List&lt;com.google.ai.edge.localagents.rag.memory.VectorStoreRecord&lt;java.lang.Object&gt;&gt;</attr>
</metadata>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
Loading