Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
8f3091e
init with example working with google ai
cynthiajoan Mar 27, 2024
9563d97
working demo for vertex ai
cynthiajoan Mar 28, 2024
954f891
remove firebase config files
cynthiajoan Mar 28, 2024
7799bc2
Add the image test assets
cynthiajoan Mar 28, 2024
2acb329
add FirebaseVertexAI class
cynthiajoan Mar 29, 2024
4a9b8aa
some code and documentation clean up
cynthiajoan Apr 2, 2024
362880d
resolve the version update for generative ai
cynthiajoan Apr 4, 2024
d31a582
rename package name to firebase_vertexai
cynthiajoan Apr 4, 2024
563e773
update to product endpoint
cynthiajoan Apr 8, 2024
974d223
Merge https://github.com/firebase/flutterfire into vertex_ai
cynthiajoan Apr 16, 2024
88e399c
FirebaseAppCheck implementation
cynthiajoan Apr 18, 2024
d13d5a3
move the override to separate files
cynthiajoan Apr 18, 2024
cabcada
fix the timeout maxvalue for js
cynthiajoan Apr 19, 2024
058a397
unblock compile error
cynthiajoan Apr 19, 2024
122658e
fix multiple lint issues.
cynthiajoan Apr 22, 2024
f56d8c9
add function calling and system instruction
cynthiajoan Apr 30, 2024
6ad30c5
add location option
cynthiajoan Apr 30, 2024
50df02f
Add package info to request header
cynthiajoan May 1, 2024
115a941
some misc update
cynthiajoan May 6, 2024
2a2e430
update change
cynthiajoan May 7, 2024
1eb2184
Get license header check pass
cynthiajoan May 7, 2024
760196e
Add totalBillableCharacters to CountTokensResponse
cynthiajoan May 7, 2024
399c18d
Move location field to service level
cynthiajoan May 7, 2024
4723d66
Merge https://github.com/firebase/flutterfire into vertex_ai
cynthiajoan May 7, 2024
e93f2db
fix the compiling problem
cynthiajoan May 7, 2024
a1d2fb8
Update readme
cynthiajoan May 7, 2024
5a8b080
fix the doc name
cynthiajoan May 7, 2024
867aa1d
delete the test for example app
cynthiajoan May 7, 2024
235255b
fix for analyzer
cynthiajoan May 7, 2024
9dd5bb9
fix analyzer for vertex_api
cynthiajoan May 8, 2024
e54b18f
try clean analyzer issues
cynthiajoan May 8, 2024
c9a4783
add dev dependency
cynthiajoan May 8, 2024
427bbfe
hopefully last fix for analyzer
cynthiajoan May 8, 2024
dbb1715
Add unit test for content
cynthiajoan May 8, 2024
231a22c
remove unused import
cynthiajoan May 8, 2024
44dc585
Update vertexai test
cynthiajoan May 8, 2024
f7c7a74
Update with the code review comments
cynthiajoan May 9, 2024
8efd472
more clean up on the review
cynthiajoan May 10, 2024
5ac8d0d
remove app check from the example dependency
cynthiajoan May 10, 2024
7b8a694
Update pubspec.yaml
cynthiajoan May 10, 2024
9e442db
fix analyzer on example
cynthiajoan May 10, 2024
2626180
Merge branch 'vertex_ai' of https://github.com/firebase/flutterfire i…
cynthiajoan May 10, 2024
0145af3
revert the app_check change in the PR
cynthiajoan May 10, 2024
0486513
more comma fix for analyzer
cynthiajoan May 10, 2024
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
183 changes: 183 additions & 0 deletions packages/firebase_vertexai/all_lint_rules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
# Copyright 2021 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# in the LICENSE file.

linter:
rules:
- always_declare_return_types
- always_put_control_body_on_new_line
- always_put_required_named_parameters_first
- always_require_non_null_named_parameters
- always_specify_types
- always_use_package_imports
- annotate_overrides
- avoid_annotating_with_dynamic
- avoid_bool_literals_in_conditional_expressions
- avoid_catches_without_on_clauses
- avoid_catching_errors
- avoid_classes_with_only_static_members
- avoid_double_and_int_checks
- avoid_empty_else
- avoid_equals_and_hash_code_on_mutable_classes
- avoid_escaping_inner_quotes
- avoid_field_initializers_in_const_classes
- avoid_function_literals_in_foreach_calls
- avoid_implementing_value_types
- avoid_init_to_null
- avoid_js_rounded_ints
- avoid_null_checks_in_equality_operators
- avoid_positional_boolean_parameters
- avoid_print
- avoid_private_typedef_functions
- avoid_redundant_argument_values
- avoid_relative_lib_imports
- avoid_renaming_method_parameters
- avoid_return_types_on_setters
- avoid_returning_null
- avoid_returning_null_for_future
- avoid_returning_null_for_void
- avoid_returning_this
- avoid_setters_without_getters
- avoid_shadowing_type_parameters
- avoid_single_cascade_in_expression_statements
- avoid_slow_async_io
- avoid_type_to_string
- avoid_types_as_parameter_names
- avoid_types_on_closure_parameters
- avoid_unnecessary_containers
- avoid_unused_constructor_parameters
- avoid_void_async
- avoid_web_libraries_in_flutter
- await_only_futures
- camel_case_extensions
- camel_case_types
- cancel_subscriptions
- cascade_invocations
- cast_nullable_to_non_nullable
- close_sinks
- comment_references
- constant_identifier_names
- control_flow_in_finally
- curly_braces_in_flow_control_structures
- diagnostic_describe_all_properties
- directives_ordering
- do_not_use_environment
- empty_catches
- empty_constructor_bodies
- empty_statements
- exhaustive_cases
- file_names
- flutter_style_todos
- hash_and_equals
- implementation_imports
- invariant_booleans
- iterable_contains_unrelated_type
- join_return_with_assignment
- leading_newlines_in_multiline_strings
- library_names
- library_prefixes
- lines_longer_than_80_chars
- list_remove_unrelated_type
- literal_only_boolean_expressions
- missing_whitespace_between_adjacent_strings
- no_adjacent_strings_in_list
- no_default_cases
- no_duplicate_case_values
- no_logic_in_create_state
- no_runtimeType_toString
- non_constant_identifier_names
- null_check_on_nullable_type_parameter
- null_closures
- omit_local_variable_types
- one_member_abstracts
- only_throw_errors
- overridden_fields
- package_api_docs
- package_names
- package_prefixed_library_names
- parameter_assignments
- prefer_adjacent_string_concatenation
- prefer_asserts_in_initializer_lists
- prefer_asserts_with_message
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_const_constructors
- prefer_const_constructors_in_immutables
- prefer_const_declarations
- prefer_const_literals_to_create_immutables
- prefer_constructors_over_static_methods
- prefer_contains
- prefer_double_quotes
- prefer_equal_for_default_values
- prefer_expression_function_bodies
- prefer_final_fields
- prefer_final_in_for_each
- prefer_final_locals
- prefer_for_elements_to_map_fromIterable
- prefer_foreach
- prefer_function_declarations_over_variables
- prefer_generic_function_type_aliases
- prefer_if_elements_to_conditional_expressions
- prefer_if_null_operators
- prefer_initializing_formals
- prefer_inlined_adds
- prefer_int_literals
- prefer_interpolation_to_compose_strings
- prefer_is_empty
- prefer_is_not_empty
- prefer_is_not_operator
- prefer_iterable_whereType
- prefer_mixin
- prefer_null_aware_operators
- prefer_relative_imports
- prefer_single_quotes
- prefer_spread_collections
- prefer_typing_uninitialized_variables
- prefer_void_to_null
- provide_deprecation_message
- public_member_api_docs
- recursive_getters
- sized_box_for_whitespace
- slash_for_doc_comments
- sort_child_properties_last
- sort_constructors_first
- sort_pub_dependencies
- sort_unnamed_constructors_first
- test_types_in_equals
- throw_in_finally
- tighten_type_of_initializing_formals
- type_annotate_public_apis
- type_init_formals
- unawaited_futures
- unnecessary_await_in_return
- unnecessary_brace_in_string_interps
- unnecessary_const
- unnecessary_final
- unnecessary_getters_setters
- unnecessary_lambdas
- unnecessary_new
- unnecessary_null_aware_assignments
- unnecessary_null_checks
- unnecessary_null_in_if_null_operators
- unnecessary_nullable_for_final_variable_declarations
- unnecessary_overrides
- unnecessary_parenthesis
- unnecessary_raw_strings
- unnecessary_statements
- unnecessary_string_escapes
- unnecessary_string_interpolations
- unnecessary_this
- unrelated_type_equality_checks
- unsafe_html
- use_full_hex_values_for_flutter_colors
- use_function_type_syntax_for_parameters
- use_is_even_rather_than_modulo
- use_key_in_widget_constructors
- use_late_for_private_fields_and_variables
- use_raw_strings
- use_rethrow_when_possible
- use_setters_to_change_properties
- use_string_buffers
- use_to_and_as_if_applicable
- valid_regexps
- void_checks
88 changes: 88 additions & 0 deletions packages/firebase_vertexai/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Copyright 2021 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# in the LICENSE file.

include: all_lint_rules.yaml
analyzer:
# TODO(rrousselGit): disable implicit-cast/implicit-dynamic
errors:
# Otherwise cause the import of all_lint_rules to warn because of some rules conflicts.
# We explicitly enabled even conflicting rules and are fixing the conflict
# in this file
included_file_warning: ignore

linter:
rules:
## Disabled rules because the repository doesn't respect them (yet)

always_put_control_body_on_new_line: false
comment_references: false
prefer_constructors_over_static_methods: false
prefer_final_fields: false
prefer_final_locals: false
omit_local_variable_types: false
avoid_equals_and_hash_code_on_mutable_classes: false

#############

# Personal preference. I don't find it more readable
cascade_invocations: false

# Conflicts with `prefer_single_quotes`
# Single quotes are easier to type and don't compromise on readability.
prefer_double_quotes: false

# Conflicts with `omit_local_variable_types` and other rules.
# As per Dart guidelines, we want to avoid unnecessary types to make the code
# more readable.
# See https://dart.dev/guides/language/effective-dart/design#avoid-type-annotating-initialized-local-variables
always_specify_types: false

# Incompatible with `prefer_final_locals`
# Having immutable local variables makes larger functions more predictible
# so we will use `prefer_final_locals` instead.
unnecessary_final: false

# Not quite suitable for Flutter, which may have a `build` method with a single
# return, but that return is still complex enough that a "body" is worth it.
prefer_expression_function_bodies: false

# Conflicts with the convention used by flutter, which puts `Key key`
# and `@required Widget child` last.
always_put_required_named_parameters_first: false

# This project doesn't use Flutter-style todos
flutter_style_todos: false

# There are situations where we voluntarily want to catch everything,
# especially as a library.
avoid_catches_without_on_clauses: false

# Boring as it sometimes force a line of 81 characters to be split in two.
# As long as we try to respect that 80 characters limit, going slightly
# above is fine.
lines_longer_than_80_chars: false

# Conflicts with disabling `implicit-dynamic`
avoid_annotating_with_dynamic: false

# conflicts with `prefer_relative_imports`
always_use_package_imports: false

# Disabled for now until we have NNBD as it otherwise conflicts with `missing_return`
no_default_cases: false

# False positive, null checks don't need a message
prefer_asserts_with_message: false

# Cumbersome with `context.select`
avoid_types_on_closure_parameters: false

# Too many false positive (builders)
diagnostic_describe_all_properties: false

# false positives (setter-like functions)
avoid_positional_boolean_parameters: false

# Does not apply to providers
prefer_const_constructors_in_immutables: false
29 changes: 29 additions & 0 deletions packages/firebase_vertexai/firebase_vertexai/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
migrate_working_dir/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
**/doc/api/
.dart_tool/
build/
10 changes: 10 additions & 0 deletions packages/firebase_vertexai/firebase_vertexai/.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.

version:
revision: "b7e7d46a046ba8a22897a514bf2311a0f81ab198"
channel: "beta"

project_type: package
3 changes: 3 additions & 0 deletions packages/firebase_vertexai/firebase_vertexai/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.0.1

- Initial public preview release.
Loading