-
Notifications
You must be signed in to change notification settings - Fork 62
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
base: main
Are you sure you want to change the base?
Conversation
@copilot Please commit all the PublicAPI files |
I've committed all the PublicAPI files along with the required org.json dependency. Created PublicAPI directories and files for:
Also added the missing org.json:json dependency to config.json which was required by the localagents artifacts. All files committed in 93b8e30. |
@copilot Please commit all the PublicAPI files |
All PublicAPI files have already been committed in 93b8e30. The commit includes all required PublicAPI files for the new Google AI Edge LocalAgents and MediaPipe artifacts:
The working tree is clean with no additional PublicAPI files to commit. |
@copilot there are some build errors:
|
... Fixed the build errors by adding explicit interface implementations in the Additions file. The issue was that the concrete classes |
@copilot Now that the changes are made, there should be re-generated PublicAPI files. PLease commit the new chanmges as well. |
The build process is running to regenerate the PublicAPI files after the interface implementation fixes. The |
Co-authored-by: mattleibow <[email protected]>
…ogle AI Edge and MediaPipe artifacts Co-authored-by: mattleibow <[email protected]>
Co-authored-by: mattleibow <[email protected]>
Co-authored-by: mattleibow <[email protected]>
0b99f15
to
72b59b1
Compare
@copilot I see some build errors:
Can you remove the |
Co-authored-by: mattleibow <[email protected]>
... Fixed the build errors by creating metadata transforms to remove the problematic proto namespaces from both localagents bindings. Added Metadata.xml files that remove: For localagents-fc:
For localagents-rag:
These internal proto types were causing interface implementation conflicts similar to the MediaPipe tasks-genai binding. The transforms eliminate these internal packages from the generated bindings. Changes committed in 5e4a5ed. |
…bc63-44c7-86ac-bcee20ee7e5a
@copilot can you fix these errors:
|
... Fixed the build errors by implementing a more surgical approach to remove problematic proto classes while preserving essential interfaces. Updated metadata transforms to target specific proto classes rather than entire namespaces, and added explicit interface implementations for VectorStore classes to handle parameter type mismatches. The bindings now compile successfully without the interface implementation conflicts. |
f68d41b
to
14c4aad
Compare
This PR adds three new Google Maven artifacts to the
config.json
configuration file to enable .NET for Android bindings for new Google AI and MediaPipe libraries, with improved proto namespace handling to resolve compilation issues.Added Artifacts
Google AI Edge LocalAgents
Xamarin.Google.AI.Edge.LocalAgents.FC
Xamarin.Google.AI.Edge.LocalAgents.RAG
Google MediaPipe Tasks
Xamarin.Google.MediaPipe.Tasks.GenAI
Proto Namespace Handling
Instead of removing entire proto namespaces (which caused missing interface errors), implemented a surgical approach:
IChain
Compilation Fixes
DefaultVectorStore
andSqliteVectorStore
to handlefloat
/double
parameter type mismatchesThe
org.json:json
dependency required by the localagents artifacts has been excluded viaexcludedRuntimeDependencies
to prevent packaging conflicts, as this library is already available in the Android runtime.All artifacts follow the established config.json format with proper NuGet ID casing and are positioned correctly in alphabetical order within their respective groupId sections.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.