Skip to content

Commit 1b2700c

Browse files
authored
Add the AICore artifact (#1256)
* Add AICore library * Add AICore license: * https://developer.android.com/ai/gemini-nano/experimental/terms
1 parent 3a3b00e commit 1b2700c

File tree

10 files changed

+262
-0
lines changed

10 files changed

+262
-0
lines changed

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@
359359
<AndroidNamespaceReplacement Include='mediapipe' Replacement='MediaPipe' />
360360
<AndroidNamespaceReplacement Include='llminference' Replacement='LlmInference' />
361361
<AndroidNamespaceReplacement Include='genai' Replacement='GenAI' />
362+
<AndroidNamespaceReplacement Include='aicore' Replacement='AICore' />
362363

363364
<AndroidNamespaceReplacement Include='admanager' Replacement='AdManager' />
364365
<AndroidNamespaceReplacement Include='appopen' Replacement='AppOpen' />

config.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2423,6 +2423,14 @@
24232423
"type": "androidlibrary",
24242424
"excludedRuntimeDependencies": "org.json.json"
24252425
},
2426+
{
2427+
"groupId": "com.google.ai.edge.aicore",
2428+
"artifactId": "aicore",
2429+
"version": "0.0.1-exp02",
2430+
"nugetVersion": "0.0.1-exp02",
2431+
"nugetId": "Xamarin.Google.AI.Edge.AICore",
2432+
"type": "xbd"
2433+
},
24262434
{
24272435
"groupId": "com.google.android",
24282436
"artifactId": "annotations",
@@ -5325,6 +5333,11 @@
53255333
"file": "templates/licenses/play-integrity.txt",
53265334
"proprietary": true
53275335
},
5336+
{
5337+
"name": "AICore Terms of Service",
5338+
"file": "templates/licenses/aicore.txt",
5339+
"proprietary": true
5340+
},
53285341
{
53295342
"name": "Public Domain",
53305343
"file": "templates/licenses/public-domain.txt",

published-namespaces.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,8 @@ Google.Ads.InteractiveMedia.V3.Impl.Data
991991
Google.Ads.Mediation
992992
Google.Ads.Mediation.Admob
993993
Google.Ads.Nonagon.Util.Logging.Csi
994+
Google.AI.Edge.AICore
995+
Google.AI.Edge.AICore.Java
994996
Google.AI.Edge.LocalAgents.FunctionCalling
995997
Google.AI.Edge.LocalAgents.FunctionCalling.ToolRetrieval
996998
Google.AI.Edge.LocalAgents.RAG.Chains
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
namespace Google.AI.Edge.AICore;
2+
3+
partial class Content
4+
{
5+
partial class Builder
6+
{
7+
public global::Google.AI.Edge.AICore.Content.Builder SetParts(global::System.Collections.Generic.IList<global::Google.AI.Edge.AICore.IPart> parts)
8+
{
9+
Parts = parts;
10+
return this;
11+
}
12+
13+
public global::Google.AI.Edge.AICore.Content.Builder SetRole(global::Google.AI.Edge.AICore.ContentRole role)
14+
{
15+
Role = role;
16+
return this;
17+
}
18+
}
19+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
#nullable enable
2+
Google.AI.Edge.AICore.Candidate
3+
Google.AI.Edge.AICore.Candidate.Candidate(Google.AI.Edge.AICore.Content! content, Google.AI.Edge.AICore.CandidateFinishReason finishReason) -> void
4+
Google.AI.Edge.AICore.Candidate.Content.get -> Google.AI.Edge.AICore.Content!
5+
Google.AI.Edge.AICore.Candidate.FinishReason.get -> Google.AI.Edge.AICore.CandidateFinishReason
6+
Google.AI.Edge.AICore.CandidateFinishReason
7+
Google.AI.Edge.AICore.CandidateFinishReason.MaxTokens = 1 -> Google.AI.Edge.AICore.CandidateFinishReason
8+
Google.AI.Edge.AICore.CandidateFinishReason.Stop = 0 -> Google.AI.Edge.AICore.CandidateFinishReason
9+
Google.AI.Edge.AICore.ConnectionException
10+
Google.AI.Edge.AICore.Content
11+
Google.AI.Edge.AICore.Content.Builder
12+
Google.AI.Edge.AICore.Content.Builder.AddPart(Google.AI.Edge.AICore.IPart! data) -> Google.AI.Edge.AICore.Content.Builder!
13+
Google.AI.Edge.AICore.Content.Builder.AddText(string! text) -> Google.AI.Edge.AICore.Content.Builder!
14+
Google.AI.Edge.AICore.Content.Builder.Build() -> Google.AI.Edge.AICore.Content!
15+
Google.AI.Edge.AICore.Content.Builder.Builder() -> void
16+
Google.AI.Edge.AICore.Content.Builder.Parts.get -> System.Collections.Generic.IList<Google.AI.Edge.AICore.IPart!>!
17+
Google.AI.Edge.AICore.Content.Builder.Parts.set -> void
18+
Google.AI.Edge.AICore.Content.Builder.Role.get -> Google.AI.Edge.AICore.ContentRole
19+
Google.AI.Edge.AICore.Content.Builder.Role.set -> void
20+
Google.AI.Edge.AICore.Content.Builder.SetParts(System.Collections.Generic.IList<Google.AI.Edge.AICore.IPart!>! parts) -> Google.AI.Edge.AICore.Content.Builder!
21+
Google.AI.Edge.AICore.Content.Builder.SetRole(Google.AI.Edge.AICore.ContentRole role) -> Google.AI.Edge.AICore.Content.Builder!
22+
Google.AI.Edge.AICore.Content.Parts.get -> System.Collections.Generic.IList<Google.AI.Edge.AICore.IPart!>!
23+
Google.AI.Edge.AICore.Content.Role.get -> Google.AI.Edge.AICore.ContentRole
24+
Google.AI.Edge.AICore.ContentRole
25+
Google.AI.Edge.AICore.ContentRole.Model = 1 -> Google.AI.Edge.AICore.ContentRole
26+
Google.AI.Edge.AICore.ContentRole.User = 0 -> Google.AI.Edge.AICore.ContentRole
27+
Google.AI.Edge.AICore.DownloadConfig
28+
Google.AI.Edge.AICore.DownloadConfig.DownloadCallback.get -> Google.AI.Edge.AICore.IDownloadCallback!
29+
Google.AI.Edge.AICore.DownloadConfig.DownloadConfig() -> void
30+
Google.AI.Edge.AICore.DownloadConfig.DownloadConfig(Google.AI.Edge.AICore.IDownloadCallback! downloadCallback) -> void
31+
Google.AI.Edge.AICore.DownloadException
32+
Google.AI.Edge.AICore.GenerateContentResponse
33+
Google.AI.Edge.AICore.GenerateContentResponse.Candidates.get -> System.Collections.Generic.IList<Google.AI.Edge.AICore.Candidate!>!
34+
Google.AI.Edge.AICore.GenerateContentResponse.GenerateContentResponse(System.Collections.Generic.IList<Google.AI.Edge.AICore.Candidate!>! candidates) -> void
35+
Google.AI.Edge.AICore.GenerateContentResponse.Text.get -> string?
36+
Google.AI.Edge.AICore.GenerationConfig
37+
Google.AI.Edge.AICore.GenerationConfig.Builder
38+
Google.AI.Edge.AICore.GenerationConfig.Builder.Build() -> Google.AI.Edge.AICore.GenerationConfig!
39+
Google.AI.Edge.AICore.GenerationConfig.Builder.Builder() -> void
40+
Google.AI.Edge.AICore.GenerationConfig.Builder.CallbackExecutor.get -> Java.Util.Concurrent.IExecutor!
41+
Google.AI.Edge.AICore.GenerationConfig.Builder.CallbackExecutor.set -> void
42+
Google.AI.Edge.AICore.GenerationConfig.Builder.CandidateCount.get -> Java.Lang.Integer?
43+
Google.AI.Edge.AICore.GenerationConfig.Builder.CandidateCount.set -> void
44+
Google.AI.Edge.AICore.GenerationConfig.Builder.Context.get -> Android.Content.Context?
45+
Google.AI.Edge.AICore.GenerationConfig.Builder.Context.set -> void
46+
Google.AI.Edge.AICore.GenerationConfig.Builder.MaxOutputTokens.get -> Java.Lang.Integer?
47+
Google.AI.Edge.AICore.GenerationConfig.Builder.MaxOutputTokens.set -> void
48+
Google.AI.Edge.AICore.GenerationConfig.Builder.Temperature.get -> Java.Lang.Float?
49+
Google.AI.Edge.AICore.GenerationConfig.Builder.Temperature.set -> void
50+
Google.AI.Edge.AICore.GenerationConfig.Builder.TopK.get -> Java.Lang.Integer?
51+
Google.AI.Edge.AICore.GenerationConfig.Builder.TopK.set -> void
52+
Google.AI.Edge.AICore.GenerationConfig.Builder.WorkerExecutor.get -> Java.Util.Concurrent.IExecutorService!
53+
Google.AI.Edge.AICore.GenerationConfig.Builder.WorkerExecutor.set -> void
54+
Google.AI.Edge.AICore.GenerationConfig.CallbackExecutor.get -> Java.Util.Concurrent.IExecutor!
55+
Google.AI.Edge.AICore.GenerationConfig.CandidateCount.get -> Java.Lang.Integer?
56+
Google.AI.Edge.AICore.GenerationConfig.Context.get -> Android.Content.Context?
57+
Google.AI.Edge.AICore.GenerationConfig.MaxOutputTokens.get -> Java.Lang.Integer?
58+
Google.AI.Edge.AICore.GenerationConfig.Temperature.get -> Java.Lang.Float?
59+
Google.AI.Edge.AICore.GenerationConfig.TopK.get -> Java.Lang.Integer?
60+
Google.AI.Edge.AICore.GenerationConfig.WorkerExecutor.get -> Java.Util.Concurrent.IExecutorService!
61+
Google.AI.Edge.AICore.GenerativeAIErrorCode
62+
Google.AI.Edge.AICore.GenerativeAIErrorCode.BadData = 2 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
63+
Google.AI.Edge.AICore.GenerativeAIErrorCode.BadRequest = 3 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
64+
Google.AI.Edge.AICore.GenerativeAIErrorCode.BindingDied = 603 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
65+
Google.AI.Edge.AICore.GenerativeAIErrorCode.BindingFailure = 601 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
66+
Google.AI.Edge.AICore.GenerativeAIErrorCode.Busy = 9 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
67+
Google.AI.Edge.AICore.GenerativeAIErrorCode.Cancelled = 7 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
68+
Google.AI.Edge.AICore.GenerativeAIErrorCode.ComputeError = 5 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
69+
Google.AI.Edge.AICore.GenerativeAIErrorCode.IpcError = 6 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
70+
Google.AI.Edge.AICore.GenerativeAIErrorCode.NeedsSystemUpdate = 604 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
71+
Google.AI.Edge.AICore.GenerativeAIErrorCode.NotAvailable = 8 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
72+
Google.AI.Edge.AICore.GenerativeAIErrorCode.NotEnoughDiskSpace = 501 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
73+
Google.AI.Edge.AICore.GenerativeAIErrorCode.NullBinding = 605 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
74+
Google.AI.Edge.AICore.GenerativeAIErrorCode.RequestProcessingError = 4 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
75+
Google.AI.Edge.AICore.GenerativeAIErrorCode.RequestTooLarge = 12 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
76+
Google.AI.Edge.AICore.GenerativeAIErrorCode.ResponseGenerationError = 15 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
77+
Google.AI.Edge.AICore.GenerativeAIErrorCode.ResponseProcessingError = 11 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
78+
Google.AI.Edge.AICore.GenerativeAIErrorCode.ServiceDisconnected = 602 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
79+
Google.AI.Edge.AICore.GenerativeAIErrorCode.ServiceProcessingError = 10 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
80+
Google.AI.Edge.AICore.GenerativeAIErrorCode.Unknown = 0 -> Google.AI.Edge.AICore.GenerativeAIErrorCode
81+
Google.AI.Edge.AICore.GenerativeAIException
82+
Google.AI.Edge.AICore.GenerativeAIException.ErrorCode.get -> Google.AI.Edge.AICore.GenerativeAIErrorCode
83+
Google.AI.Edge.AICore.GenerativeAIException.GenerativeAIException(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
84+
Google.AI.Edge.AICore.GenerativeModel
85+
Google.AI.Edge.AICore.GenerativeModel.Close() -> void
86+
Google.AI.Edge.AICore.GenerativeModel.DownloadConfig.get -> Google.AI.Edge.AICore.DownloadConfig!
87+
Google.AI.Edge.AICore.GenerativeModel.GenerateContent(Google.AI.Edge.AICore.Content![]! prompt, Kotlin.Coroutines.IContinuation! _completion) -> Java.Lang.Object?
88+
Google.AI.Edge.AICore.GenerativeModel.GenerateContent(string! prompt, Kotlin.Coroutines.IContinuation! _completion) -> Java.Lang.Object?
89+
Google.AI.Edge.AICore.GenerativeModel.GenerateContentStream(params Google.AI.Edge.AICore.Content![]! prompt) -> Xamarin.KotlinX.Coroutines.Flow.IFlow!
90+
Google.AI.Edge.AICore.GenerativeModel.GenerateContentStream(string! prompt) -> Xamarin.KotlinX.Coroutines.Flow.IFlow!
91+
Google.AI.Edge.AICore.GenerativeModel.GenerationConfig.get -> Google.AI.Edge.AICore.GenerationConfig!
92+
Google.AI.Edge.AICore.GenerativeModel.GenerativeModel(Google.AI.Edge.AICore.GenerationConfig! generationConfig) -> void
93+
Google.AI.Edge.AICore.GenerativeModel.GenerativeModel(Google.AI.Edge.AICore.GenerationConfig! generationConfig, Google.AI.Edge.AICore.DownloadConfig! downloadConfig) -> void
94+
Google.AI.Edge.AICore.GenerativeModel.PrepareInferenceEngine(Kotlin.Coroutines.IContinuation! _completion) -> Java.Lang.Object?
95+
Google.AI.Edge.AICore.IDownloadCallback
96+
Google.AI.Edge.AICore.IDownloadCallback.OnDownloadCompleted() -> void
97+
Google.AI.Edge.AICore.IDownloadCallback.OnDownloadDidNotStart(Google.AI.Edge.AICore.GenerativeAIException! e) -> void
98+
Google.AI.Edge.AICore.IDownloadCallback.OnDownloadFailed(string! failureStatus, Google.AI.Edge.AICore.GenerativeAIException! e) -> void
99+
Google.AI.Edge.AICore.IDownloadCallback.OnDownloadPending() -> void
100+
Google.AI.Edge.AICore.IDownloadCallback.OnDownloadProgress(long totalBytesDownloaded) -> void
101+
Google.AI.Edge.AICore.IDownloadCallback.OnDownloadStarted(long bytesToDownload) -> void
102+
Google.AI.Edge.AICore.IPart
103+
Google.AI.Edge.AICore.InferenceException
104+
Google.AI.Edge.AICore.Java.GenerativeModelFutures
105+
Google.AI.Edge.AICore.Java.GenerativeModelFutures.GenerativeModelFutures(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
106+
Google.AI.Edge.AICore.PreparationException
107+
Google.AI.Edge.AICore.TextPart
108+
Google.AI.Edge.AICore.TextPart.Text.get -> string!
109+
Google.AI.Edge.AICore.TextPart.TextPart(string! text) -> void
110+
Google.AI.Edge.AICore.TokenizationException
111+
Google.AI.Edge.AICore.UnknownException
112+
abstract Google.AI.Edge.AICore.Java.GenerativeModelFutures.GenerateContent(params Google.AI.Edge.AICore.Content![]! prompt) -> Google.Common.Util.Concurrent.IListenableFuture!
113+
abstract Google.AI.Edge.AICore.Java.GenerativeModelFutures.GenerateContentStream(params Google.AI.Edge.AICore.Content![]! prompt) -> ReactiveStreams.IPublisher!
114+
abstract Google.AI.Edge.AICore.Java.GenerativeModelFutures.GenerativeModel.get -> Google.AI.Edge.AICore.GenerativeModel!
115+
override Google.AI.Edge.AICore.Candidate.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
116+
override Google.AI.Edge.AICore.ConnectionException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
117+
override Google.AI.Edge.AICore.Content.Builder.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
118+
override Google.AI.Edge.AICore.Content.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
119+
override Google.AI.Edge.AICore.DownloadConfig.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
120+
override Google.AI.Edge.AICore.DownloadException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
121+
override Google.AI.Edge.AICore.GenerateContentResponse.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
122+
override Google.AI.Edge.AICore.GenerationConfig.Builder.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
123+
override Google.AI.Edge.AICore.GenerationConfig.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
124+
override Google.AI.Edge.AICore.GenerativeAIException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
125+
override Google.AI.Edge.AICore.GenerativeAIException.ThresholdClass.get -> nint
126+
override Google.AI.Edge.AICore.GenerativeAIException.ThresholdType.get -> System.Type!
127+
override Google.AI.Edge.AICore.GenerativeModel.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
128+
override Google.AI.Edge.AICore.InferenceException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
129+
override Google.AI.Edge.AICore.Java.GenerativeModelFutures.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
130+
override Google.AI.Edge.AICore.Java.GenerativeModelFutures.ThresholdClass.get -> nint
131+
override Google.AI.Edge.AICore.Java.GenerativeModelFutures.ThresholdType.get -> System.Type!
132+
override Google.AI.Edge.AICore.PreparationException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
133+
override Google.AI.Edge.AICore.TextPart.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
134+
override Google.AI.Edge.AICore.TokenizationException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
135+
override Google.AI.Edge.AICore.UnknownException.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
136+
static Google.AI.Edge.AICore.Java.GenerativeModelFutures.From(Google.AI.Edge.AICore.GenerativeModel! model) -> Google.AI.Edge.AICore.Java.GenerativeModelFutures!
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<enum-field-mappings>
2+
3+
<mapping clr-enum-type="Google.AI.Edge.AICore.GenerativeAIErrorCode" jni-interface="com/google/ai/edge/aicore/GenerativeAIException$ErrorCode">
4+
<field clr-name="BadData" jni-name="BAD_DATA" value="2" />
5+
<field clr-name="BadRequest" jni-name="BAD_REQUEST" value="3" />
6+
<field clr-name="BindingDied" jni-name="BINDING_DIED" value="603" />
7+
<field clr-name="BindingFailure" jni-name="BINDING_FAILURE" value="601" />
8+
<field clr-name="Busy" jni-name="BUSY" value="9" />
9+
<field clr-name="Cancelled" jni-name="CANCELLED" value="7" />
10+
<field clr-name="ComputeError" jni-name="COMPUTE_ERROR" value="5" />
11+
<field clr-name="IpcError" jni-name="IPC_ERROR" value="6" />
12+
<field clr-name="NeedsSystemUpdate" jni-name="NEEDS_SYSTEM_UPDATE" value="604" />
13+
<field clr-name="NotAvailable" jni-name="NOT_AVAILABLE" value="8" />
14+
<field clr-name="NotEnoughDiskSpace" jni-name="NOT_ENOUGH_DISK_SPACE" value="501" />
15+
<field clr-name="NullBinding" jni-name="NULL_BINDING" value="605" />
16+
<field clr-name="RequestProcessingError" jni-name="REQUEST_PROCESSING_ERROR" value="4" />
17+
<field clr-name="RequestTooLarge" jni-name="REQUEST_TOO_LARGE" value="12" />
18+
<field clr-name="ResponseGenerationError" jni-name="RESPONSE_GENERATION_ERROR" value="15" />
19+
<field clr-name="ResponseProcessingError" jni-name="RESPONSE_PROCESSING_ERROR" value="11" />
20+
<field clr-name="ServiceDisconnected" jni-name="SERVICE_DISCONNECTED" value="602" />
21+
<field clr-name="ServiceProcessingError" jni-name="SERVICE_PROCESSING_ERROR" value="10" />
22+
<field clr-name="Unknown" jni-name="UNKNOWN" value="0" />
23+
</mapping>
24+
25+
<mapping clr-enum-type="Google.AI.Edge.AICore.CandidateFinishReason" jni-interface="com/google/ai/edge/aicore/Candidate$FinishReason">
26+
<field clr-name="MaxTokens" jni-name="MAX_TOKENS" value="1" />
27+
<field clr-name="Stop" jni-name="STOP" value="0" />
28+
</mapping>
29+
30+
<mapping clr-enum-type="Google.AI.Edge.AICore.ContentRole" jni-interface="com/google/ai/edge/aicore/Content$Role">
31+
<field clr-name="Model" jni-name="MODEL" value="1" />
32+
<field clr-name="User" jni-name="USER" value="0" />
33+
</mapping>
34+
35+
</enum-field-mappings>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<enum-method-mappings>
2+
3+
<mapping jni-class="com/google/ai/edge/aicore/GenerativeAIException">
4+
<method jni-name="getErrorCode" parameter="return" clr-enum-type="Google.AI.Edge.AICore.GenerativeAIErrorCode" />
5+
</mapping>
6+
7+
<mapping jni-class="com/google/ai/edge/aicore/Candidate">
8+
<method jni-name="getFinishReason" parameter="return" clr-enum-type="Google.AI.Edge.AICore.CandidateFinishReason" />
9+
<method jni-name="constructor" parameter="finishReason" clr-enum-type="Google.AI.Edge.AICore.CandidateFinishReason" />
10+
</mapping>
11+
12+
<mapping jni-class="com/google/ai/edge/aicore/Content">
13+
<method jni-name="getRole" parameter="return" clr-enum-type="Google.AI.Edge.AICore.ContentRole" />
14+
</mapping>
15+
16+
<mapping jni-class="com/google/ai/edge/aicore/Content.Builder">
17+
<method jni-name="getRole" parameter="return" clr-enum-type="Google.AI.Edge.AICore.ContentRole" />
18+
<method jni-name="setRole" parameter="value" clr-enum-type="Google.AI.Edge.AICore.ContentRole" />
19+
</mapping>
20+
21+
</enum-method-mappings>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<metadata>
3+
4+
<!-- fix companions -->
5+
<attr path="/api/package/class[substring(@name,string-length(@name)-9)='.Companion']" name="managedName">CompanionStatic</attr>
6+
<remove-node path="/api/package/class[substring(@name,string-length(@name)-9)='.Companion' and count(method)=0 and count(field)=0]" />
7+
<attr path="/api/package/class[substring(@name,string-length(@name)-7)='.Default']" name="managedName">DefaultStatic</attr>
8+
<remove-node path="/api/package/class[substring(@name,string-length(@name)-7)='.Default' and count(method)=0 and count(field)=0]" />
9+
10+
<!-- remove unused companions -->
11+
<remove-node path="/api/package/class[@name='Candidate.FinishReason.Companion']" />
12+
<remove-node path="/api/package/class[@name='Content.Companion']" />
13+
<remove-node path="/api/package/class[@name='Content.Role.Companion']" />
14+
<remove-node path="/api/package/class[@name='GenerationConfig.Companion']" />
15+
<remove-node path="/api/package/class[@name='GenerativeAIException.ErrorCode.Companion']" />
16+
<remove-node path="/api/package/class[@name='GenerativeModelFutures.Companion']" />
17+
18+
<!-- remove unused Kotlin helpers -->
19+
<remove-node path="/api/package/class[@name='ContentKt']" />
20+
<remove-node path="/api/package/class[@name='GenerationConfigKt']" />
21+
<remove-node path="/api/package/class[@name='PartKt']" />
22+
23+
<!-- fix enums -->
24+
<remove-node path="/api/package/interface[@name='Candidate.FinishReason']" />
25+
<remove-node path="/api/package/interface[@name='Content.Role']" />
26+
<remove-node path="/api/package/interface[@name='GenerativeAIException.ErrorCode']" />
27+
28+
<!-- fix parameter types -->
29+
<attr path="/api/package/class[@name='Content.Builder']/method[@name='addPart' and count(parameter)=1 and parameter[1][@type='T']]/parameter[1]" name="managedType">Google.AI.Edge.AICore.IPart</attr>
30+
31+
</metadata>

templates/licenses/aicore.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
AICore Terms of Service
2+
3+
For latest AICore Terms of Service, see https://developer.android.com/ai/gemini-nano/experimental/terms.

0 commit comments

Comments
 (0)