Skip to content

Davidmotson.extra schema #7013

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

Merged
merged 9 commits into from
Jun 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions firebase-ai/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
* [changed] **Breaking Change**: Updated `SpeechConfig` to take in `Voice` class instead of `Voices` class.
* **Action Required:** Update all references of `SpeechConfig` initialization to use `Voice` class.
* [fixed] Fix incorrect model name in count token requests to the developer API backend
* [feature] Added support for extra schema properties like `title`, `minItems`, `maxItems`, `minimum`
and `maximum`. As well as support for the `anyOf` schema.

# 16.0.0
* [feature] Initial release of the Firebase AI SDK (`firebase-ai`). This SDK *replaces* the previous
Expand Down
52 changes: 52 additions & 0 deletions firebase-ai/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -765,84 +765,136 @@ package com.google.firebase.ai.type {
}

public final class Schema {
method public static com.google.firebase.ai.type.Schema anyOf(java.util.List<com.google.firebase.ai.type.Schema> schemas);
method public static com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items);
method public static com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null);
method public static com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false, String? title = null, Integer? minItems = null);
method public static com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false, String? title = null, Integer? minItems = null, Integer? maxItems = null);
method public static com.google.firebase.ai.type.Schema boolean();
method public static com.google.firebase.ai.type.Schema boolean(String? description = null);
method public static com.google.firebase.ai.type.Schema boolean(String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema boolean(String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values);
method public static com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values, String? description = null);
method public static com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values, String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values, String? description = null, boolean nullable = false, String? title = null);
method public java.util.List<com.google.firebase.ai.type.Schema>? getAnyOf();
method public String? getDescription();
method public java.util.List<java.lang.String>? getEnum();
method public String? getFormat();
method public com.google.firebase.ai.type.Schema? getItems();
method public Integer? getMaxItems();
method public Double? getMaximum();
method public Integer? getMinItems();
method public Double? getMinimum();
method public Boolean? getNullable();
method public java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema>? getProperties();
method public java.util.List<java.lang.String>? getRequired();
method public String? getTitle();
method public String getType();
method public static com.google.firebase.ai.type.Schema numDouble();
method public static com.google.firebase.ai.type.Schema numDouble(String? description = null);
method public static com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public static com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public static com.google.firebase.ai.type.Schema numFloat();
method public static com.google.firebase.ai.type.Schema numFloat(String? description = null);
method public static com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public static com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public static com.google.firebase.ai.type.Schema numInt();
method public static com.google.firebase.ai.type.Schema numInt(String? description = null);
method public static com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public static com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public static com.google.firebase.ai.type.Schema numLong();
method public static com.google.firebase.ai.type.Schema numLong(String? description = null);
method public static com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public static com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public static com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties);
method public static com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList());
method public static com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList(), String? description = null);
method public static com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList(), String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList(), String? description = null, boolean nullable = false, String? title = null);
method public static com.google.firebase.ai.type.Schema str();
method public static com.google.firebase.ai.type.Schema str(String? description = null);
method public static com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false);
method public static com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false, com.google.firebase.ai.type.StringFormat? format = null);
method public static com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false, com.google.firebase.ai.type.StringFormat? format = null, String? title = null);
property public final java.util.List<com.google.firebase.ai.type.Schema>? anyOf;
property public final String? description;
property public final java.util.List<java.lang.String>? enum;
property public final String? format;
property public final com.google.firebase.ai.type.Schema? items;
property public final Integer? maxItems;
property public final Double? maximum;
property public final Integer? minItems;
property public final Double? minimum;
property public final Boolean? nullable;
property public final java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema>? properties;
property public final java.util.List<java.lang.String>? required;
property public final String? title;
property public final String type;
field public static final com.google.firebase.ai.type.Schema.Companion Companion;
}

public static final class Schema.Companion {
method public com.google.firebase.ai.type.Schema anyOf(java.util.List<com.google.firebase.ai.type.Schema> schemas);
method public com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items);
method public com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null);
method public com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false, String? title = null, Integer? minItems = null);
method public com.google.firebase.ai.type.Schema array(com.google.firebase.ai.type.Schema items, String? description = null, boolean nullable = false, String? title = null, Integer? minItems = null, Integer? maxItems = null);
method public com.google.firebase.ai.type.Schema boolean();
method public com.google.firebase.ai.type.Schema boolean(String? description = null);
method public com.google.firebase.ai.type.Schema boolean(String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema boolean(String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values);
method public com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values, String? description = null);
method public com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values, String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema enumeration(java.util.List<java.lang.String> values, String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema numDouble();
method public com.google.firebase.ai.type.Schema numDouble(String? description = null);
method public com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public com.google.firebase.ai.type.Schema numDouble(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public com.google.firebase.ai.type.Schema numFloat();
method public com.google.firebase.ai.type.Schema numFloat(String? description = null);
method public com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public com.google.firebase.ai.type.Schema numFloat(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public com.google.firebase.ai.type.Schema numInt();
method public com.google.firebase.ai.type.Schema numInt(String? description = null);
method public com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public com.google.firebase.ai.type.Schema numInt(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public com.google.firebase.ai.type.Schema numLong();
method public com.google.firebase.ai.type.Schema numLong(String? description = null);
method public com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null);
method public com.google.firebase.ai.type.Schema numLong(String? description = null, boolean nullable = false, String? title = null, Double? minimum = null, Double? maximum = null);
method public com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties);
method public com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList());
method public com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList(), String? description = null);
method public com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList(), String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema obj(java.util.Map<java.lang.String,com.google.firebase.ai.type.Schema> properties, java.util.List<java.lang.String> optionalProperties = emptyList(), String? description = null, boolean nullable = false, String? title = null);
method public com.google.firebase.ai.type.Schema str();
method public com.google.firebase.ai.type.Schema str(String? description = null);
method public com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false);
method public com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false, com.google.firebase.ai.type.StringFormat? format = null);
method public com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false, com.google.firebase.ai.type.StringFormat? format = null, String? title = null);
}

public final class SerializationException extends com.google.firebase.ai.type.FirebaseAIException {
Expand Down
2 changes: 1 addition & 1 deletion firebase-ai/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.

version=16.1.1
version=16.2.0
latestReleasedVersion=16.1.0
Loading
Loading