diff --git a/packages/firebase_dynamic_links/README.md b/packages/firebase_dynamic_links/README.md
deleted file mode 100644
index df2b0cde1d15..000000000000
--- a/packages/firebase_dynamic_links/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Firebase Dynamic Links
-
-⚠️ **DEPRECATED** ⚠️
-
-This package has been deprecated and removed from the FlutterFire repository.
-
-## Why was it deprecated?
-
-Firebase Dynamic Links has been deprecated by Google and will be shut down on August 25th, 2025. For more information about the deprecation and migration options, please visit:
-
-**[Firebase Dynamic Links Deprecation FAQ](https://firebase.google.com/support/dynamic-links-faq)**
-
-## Migration Options
-
-The deprecation FAQ provides detailed guidance on how to migrate from Firebase Dynamic Links, including:
-
-- **Full feature parity**: Use alternative deep-linking service providers
-- **Simple deep-linking**: Migrate to App Links and Universal Links
-- **No replacement needed**: Remove the package entirely
-
-## Timeline
-
-- **August 25th, 2025**: Firebase Dynamic Links service will be completely shut down
-- All existing links will stop working
-- All APIs will return error responses
-
-Please refer to the official deprecation FAQ for complete migration guidance and support.
\ No newline at end of file
diff --git a/packages/firebase_vertexai/README.md b/packages/firebase_vertexai/README.md
new file mode 100644
index 000000000000..cee1314420b2
--- /dev/null
+++ b/packages/firebase_vertexai/README.md
@@ -0,0 +1,39 @@
+# Firebase Vertex AI
+
+⚠️ **DEPRECATED** ⚠️
+
+This package has been deprecated and replaced by the Firebase AI Logic package.
+
+## Why was it deprecated?
+
+The "Vertex AI in Firebase" SDK has been replaced by the Firebase AI Logic client SDKs to accommodate the evolving set of supported features and services. The new Firebase AI Logic SDK provides better alignment across platforms and improved functionality.
+
+## Migration Options
+
+Migrate to the new Firebase AI Logic package (`firebase_ai`) which provides:
+
+- **Enhanced functionality**: Access to the latest AI features and models
+- **Better platform alignment**: Consistent APIs across all supported platforms
+- **Improved performance**: Optimized for modern AI workloads
+- **Future-proof**: Active development and support
+
+## Migration Guide
+
+For detailed migration instructions, please visit:
+
+**[Firebase AI Logic Migration Guide](https://firebase.google.com/docs/ai-logic/migrate-from-preview?api=dev)**
+
+The migration guide covers:
+- API changes and breaking changes
+- Code migration examples
+- Platform-specific migration notes
+- Troubleshooting common issues
+
+## Next Steps
+
+1. **Install the new package**: Add `firebase_ai` to your `pubspec.yaml`
+2. **Update your code**: Follow the migration guide to update your implementation
+3. **Test thoroughly**: Ensure all functionality works as expected
+4. **Remove old package**: Remove `firebase_vertexai` from your dependencies
+
+Please refer to the official migration guide for complete migration guidance and support.
\ No newline at end of file
diff --git a/packages/firebase_vertexai/all_lint_rules.yaml b/packages/firebase_vertexai/all_lint_rules.yaml
deleted file mode 100644
index dc4ec3a951c3..000000000000
--- a/packages/firebase_vertexai/all_lint_rules.yaml
+++ /dev/null
@@ -1,183 +0,0 @@
-# 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
diff --git a/packages/firebase_vertexai/analysis_options.yaml b/packages/firebase_vertexai/analysis_options.yaml
deleted file mode 100644
index ef9d047bb7f0..000000000000
--- a/packages/firebase_vertexai/analysis_options.yaml
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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
- deprecated_member_use_from_same_package: 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 predictable
- # 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
diff --git a/packages/firebase_vertexai/firebase_vertexai/.gitignore b/packages/firebase_vertexai/firebase_vertexai/.gitignore
deleted file mode 100644
index ac5aa9893e48..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/.gitignore
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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/
diff --git a/packages/firebase_vertexai/firebase_vertexai/.metadata b/packages/firebase_vertexai/firebase_vertexai/.metadata
deleted file mode 100644
index f1665318eeba..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/.metadata
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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
diff --git a/packages/firebase_vertexai/firebase_vertexai/CHANGELOG.md b/packages/firebase_vertexai/firebase_vertexai/CHANGELOG.md
deleted file mode 100644
index 161c8c754f8c..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/CHANGELOG.md
+++ /dev/null
@@ -1,167 +0,0 @@
-## 2.2.0
-
- - **FIX**(firebaseai): remove candidateCount from LiveGenerationConfig since the connection fails silently when it is set ([#17647](https://github.com/firebase/flutterfire/issues/17647)). ([537a3c30](https://github.com/firebase/flutterfire/commit/537a3c30397a82459c02dfdd70e3a9670c26fd59))
- - **FEAT**(firebaseai): add thinking feature ([#17652](https://github.com/firebase/flutterfire/issues/17652)). ([5faec2c1](https://github.com/firebase/flutterfire/commit/5faec2c1ddf0682ef9d88fb2d354f5f3f22405fa))
- - **FEAT**(firebaseai): imagen editing ([#17556](https://github.com/firebase/flutterfire/issues/17556)). ([62811a61](https://github.com/firebase/flutterfire/commit/62811a61354d412c6322bd68004b8d1537e3e483))
-
-## 2.1.0
-
- - **FEAT**(firebaseai): make Live API working with developer API ([#17503](https://github.com/firebase/flutterfire/issues/17503)). ([467eaa18](https://github.com/firebase/flutterfire/commit/467eaa1810257a420039d29a070314784218a03f))
- - **FEAT**(firebaseai): handle unknown parts when parsing content ([#17522](https://github.com/firebase/flutterfire/issues/17522)). ([ac59c249](https://github.com/firebase/flutterfire/commit/ac59c249ade0388b9b375766fb6c2f1b0c4daddd))
-
-## 2.0.0
-
-> Note: This release has breaking changes.
-
- - **BREAKING** **FEAT**: bump iOS SDK to version 12.0.0 ([#17549](https://github.com/firebase/flutterfire/issues/17549)). ([b2619e68](https://github.com/firebase/flutterfire/commit/b2619e685fec897513483df1d7be347b64f95606))
-
-## 1.8.3
-
- - Update a dependency to the latest release.
-
-## 1.8.2
-
- - Update a dependency to the latest release.
-
-## 1.8.1
-
- - **FIX**(core): bump Pigeon to v25.3.2 ([#17438](https://github.com/firebase/flutterfire/issues/17438)). ([4d24ef53](https://github.com/firebase/flutterfire/commit/4d24ef534464b39dcaef4151c83c78f87b36fb78))
-
-## 1.8.0
-
- - **FEAT**(firebaseai): Add flutter_soloud for sound output in Live API audio streaming example. ([#17305](https://github.com/firebase/flutterfire/issues/17305)). ([86350e9f](https://github.com/firebase/flutterfire/commit/86350e9f36534cb0dd871f61dba70a44aee7a427))
-
-## 1.7.0
-
-[changed] **Renamed / Replaced:** Vertex AI in Firebase and its `FirebaseVertexAI` library have been renamed and replaced by the new Firebase AI Logic SDK: `FirebaseAI`. This is to accommodate the evolving set of supported features and services. Please migrate to the new `FirebaseAI` module. See details in the [migration guide](https://firebase.google.com/docs/vertex-ai/migrate-to-latest-sdk).
-
-Note: Existing `FirebaseVertexAI` users may continue to use `import firebase_vertexai` and the `FirebaseVertexAI` top-level class, though these will be removed in a future release. Also, going forward, new features will only be added into the new `FirebaseAI` module.
-
-## 1.6.0
-
- - **FIX**(vertexai): add missing HarmBlockThreshold to exported APIs ([#17249](https://github.com/firebase/flutterfire/issues/17249)). ([59d902c6](https://github.com/firebase/flutterfire/commit/59d902c63bd1bd040f5357cb6a341db446429430))
- - **FEAT**(vertexai): Live API breaking changes ([#17299](https://github.com/firebase/flutterfire/issues/17299)). ([69cd2a64](https://github.com/firebase/flutterfire/commit/69cd2a640d25e0f2b623f2e631d090ead8af140d))
-
-## 1.5.0
-
- - **FIX**(vertex_ai): handle null predictions ([#17211](https://github.com/firebase/flutterfire/issues/17211)). ([d559703d](https://github.com/firebase/flutterfire/commit/d559703d71904918fc5c0e8ad02b86313738d263))
- - **FIX**(vertexai): follow up changes for LiveModel ([#17236](https://github.com/firebase/flutterfire/issues/17236)). ([a7a842ef](https://github.com/firebase/flutterfire/commit/a7a842ef3ecee197dc5c2eefd12781086071d53b))
- - **FIX**(vertexai): Add meta to the dependency list ([#17208](https://github.com/firebase/flutterfire/issues/17208)). ([5c9c2221](https://github.com/firebase/flutterfire/commit/5c9c222198dc9ea8d1af8535e8d64ca2e2174ea4))
- - **FEAT**(vertexai): Add repetition penalties to GenerationConfig ([#17234](https://github.com/firebase/flutterfire/issues/17234)). ([6e23afc2](https://github.com/firebase/flutterfire/commit/6e23afc2d7d1ed177f8c54741f2e26a6cbb892e8))
- - **FEAT**(vertexai): Add Live streaming feature ([#16991](https://github.com/firebase/flutterfire/issues/16991)). ([4ab6b4c9](https://github.com/firebase/flutterfire/commit/4ab6b4c92878eec4c12b2bf57553d85a2288b8f3))
- - **FEAT**(vertexai): Add HarmBlockMethod ([#17125](https://github.com/firebase/flutterfire/issues/17125)). ([bbf618db](https://github.com/firebase/flutterfire/commit/bbf618dbb0def1c9afaccedf6fcddda80d8c96ac))
- - **FEAT**(vertexai): Unhandled ContentModality fix with more multimodal examples for vertexai testapp ([#17150](https://github.com/firebase/flutterfire/issues/17150)). ([76461d78](https://github.com/firebase/flutterfire/commit/76461d78631d5e9ce128f5cb79bc21483fd53508))
-
-## 1.4.0
-
- - **FEAT**(vertexai): add Imagen support ([#16976](https://github.com/firebase/flutterfire/issues/16976)). ([cd9d896d](https://github.com/firebase/flutterfire/commit/cd9d896d87ffe9f4949b025ddbb13b88bafbc176))
-
-## 1.3.0
-
- - **FEAT**(vertexai): add support for token-based usage metrics ([#17065](https://github.com/firebase/flutterfire/issues/17065)). ([b1bd93fb](https://github.com/firebase/flutterfire/commit/b1bd93fb25dbe36621fbc4b13e13bec805b79328))
-
-## 1.2.0
-
- - **FIX**(firebase_vertexai): Corrected minor typo in VertexAISDKException ([#17033](https://github.com/firebase/flutterfire/issues/17033)). ([ba543d08](https://github.com/firebase/flutterfire/commit/ba543d08a68f60476ce2b2260506fe035c503aaa))
- - **FEAT**(vertexai): organize example page and functions ([#17008](https://github.com/firebase/flutterfire/issues/17008)). ([6b76260d](https://github.com/firebase/flutterfire/commit/6b76260de7bc03aa6e1cd68bed2e224d53437239))
-
-## 1.1.1
-
- - Update a dependency to the latest release.
-
-## 1.1.0
-
- - **FIX**(firebase_vertexai): Remove unnecessary trailing whitespace ([#16926](https://github.com/firebase/flutterfire/issues/16926)). ([d9c98c40](https://github.com/firebase/flutterfire/commit/d9c98c403b4652c2a962c015e0f05d21ae580a71))
-
-## 1.0.4
-
- - Update a dependency to the latest release.
-
-## 1.0.3
-
- - Update a dependency to the latest release.
-
-## 1.0.2
-
- - **FIX**(vertexai): fix the url in the service not available error ([#13547](https://github.com/firebase/flutterfire/issues/13547)). ([a8bfebd7](https://github.com/firebase/flutterfire/commit/a8bfebd7295f26f7ef16e2ed51a8ccaa35755c46))
-
-## 1.0.1
-
- - **FIX**(vertexai): hotfix for vertexai auth access to storage ([#13534](https://github.com/firebase/flutterfire/issues/13534)). ([9f693094](https://github.com/firebase/flutterfire/commit/9f6930947dbd35a61c583c17bb128f1af4702a5d))
-
-## 1.0.0
-
-Use the Vertex AI in Firebase SDK to call the Vertex AI Gemini API directly from your app. This client SDK is built specifically for use with Flutter apps, offering security options against unauthorized clients as well as integrations with other Firebase services.
-
- * If you're new to this SDK, visit the getting started guide.
- * If you used the preview version of the library, visit the migration guide to learn about some important updates.
-
-> Note: This release has breaking changes.
-
- - **BREAKING** **FEAT**(vertexai): Vertex AI in Firebase is now Generally Available (GA) and can be used in production apps. ([#13453](https://github.com/firebase/flutterfire/issues/13453)). ([77b48800](https://github.com/firebase/flutterfire/commit/77b488001a2b68b46ccff4fc96d143ef891d3e5a))
-
-## 0.2.3+4
-
- - Update a dependency to the latest release.
-
-## 0.2.3+3
-
- - Update a dependency to the latest release.
-
-## 0.2.3+2
-
- - Update a dependency to the latest release.
-
-## 0.2.3+1
-
- - Update a dependency to the latest release.
-
-## 0.2.3
-
- - **FIX**(vertexai): update history getter to reflect google_generative_ai updates ([#13040](https://github.com/firebase/flutterfire/issues/13040)). ([cc542d76](https://github.com/firebase/flutterfire/commit/cc542d76b989d550f29a9b0a1adb761da64372a7))
- - **FEAT**: bump iOS SDK to version 11.0.0 ([#13158](https://github.com/firebase/flutterfire/issues/13158)). ([c0e0c997](https://github.com/firebase/flutterfire/commit/c0e0c99703ea394d1bb873ac225c5fe3539b002d))
-
-## 0.2.2+4
-
- - Update a dependency to the latest release.
-
-## 0.2.2+3
-
- - Update a dependency to the latest release.
-
-## 0.2.2+2
-
- - Update a dependency to the latest release.
-
-## 0.2.2+1
-
- - Update a dependency to the latest release.
-
-## 0.2.2
-
- - **FEAT**(vertexai): add name constructor for function calling schema ([#12898](https://github.com/firebase/flutterfire/issues/12898)). ([466884b6](https://github.com/firebase/flutterfire/commit/466884b6474b47ffe4f3f4ca5b3e989a5898dba9))
-
-## 0.2.1
-
- - **FIX**(vertexai): fix the countTokens brokage ([#12899](https://github.com/firebase/flutterfire/issues/12899)). ([e946eb9b](https://github.com/firebase/flutterfire/commit/e946eb9b429da16bea617b68dda32f23d0deb5bc))
-
-## 0.2.0
-
-> Note: This release has breaking changes.
-
- - **BREAKING** **REFACTOR**: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK `v11` breaking change ([#12872](https://github.com/firebase/flutterfire/issues/12872)). ([de0cea2c](https://github.com/firebase/flutterfire/commit/de0cea2c3c36694a76361be784255986fac84a43))
-
-## 0.1.1
-
- - **REFACTOR**(vertexai): Split into separate libraries ([#12794](https://github.com/firebase/flutterfire/issues/12794)). ([85a517f4](https://github.com/firebase/flutterfire/commit/85a517f42930ce902881be9b321e360b0801530f))
- - **FEAT**(vertexai): Add support for UsageMetaData ([#12787](https://github.com/firebase/flutterfire/issues/12787)). ([08f61ecb](https://github.com/firebase/flutterfire/commit/08f61ecb05526d52a469436248833d5d93f85298))
- - **FEAT**(vertexai): Add a few more parameters to the model request ([#12824](https://github.com/firebase/flutterfire/issues/12824)). ([35ad8d41](https://github.com/firebase/flutterfire/commit/35ad8d41237af2190c9a6ef2ebdfff08b4e813cf))
- - **FEAT**(vertex): Add auth support in the vertexai ([#12797](https://github.com/firebase/flutterfire/issues/12797)). ([3241c0b8](https://github.com/firebase/flutterfire/commit/3241c0b8a9a7dbb4d8ba85d5d0ace35b82204222))
-
-## 0.1.0+1
-
- - Update a dependency to the latest release.
-
-## 0.1.0
-
-- Initial release of the Vertex AI in Firebase SDK (public preview). Learn how to [get started](https://firebase.google.com/docs/vertex-ai/get-started) with the SDK in your app.
diff --git a/packages/firebase_vertexai/firebase_vertexai/LICENSE b/packages/firebase_vertexai/firebase_vertexai/LICENSE
deleted file mode 100644
index e58143fccfb6..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright 2024 Google LLC
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/packages/firebase_vertexai/firebase_vertexai/README.md b/packages/firebase_vertexai/firebase_vertexai/README.md
deleted file mode 100644
index a09cb52bd87a..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Vertex AI in Firebase Flutter
-[](https://pub.dev/packages/firebase_vertexai)
-
-A Flutter plugin to use the [Vertex AI](https://firebase.google.com/docs/vertex-ai/).
-
-To learn more about Vertex AI, please visit the [website](https://cloud.google.com/vertex-ai)
-
-**Generally Available**: Vertex AI in Firebase is now Generally Available (GA) and can be used in production apps
-
-## Getting Started
-
-To get started with Vertex AI in Firebase Flutter, please [see the documentation](https://firebase.google.com/docs/vertex-ai/get-started?platform=flutter).
-
-## Usage
-
-To start use this plugin, please visit the [Text only prompt documentation](https://firebase.google.com/docs/vertex-ai/text-gen-from-text?platform=flutter)
-
-## Issues and feedback
-
-Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new).
-
-Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new).
-
-To contribute a change to this plugin,
-please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md)
-and open a [pull request](https://github.com/firebase/flutterfire/pulls).
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/.gitignore b/packages/firebase_vertexai/firebase_vertexai/example/.gitignore
deleted file mode 100644
index 53bed76d8faa..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/.gitignore
+++ /dev/null
@@ -1,51 +0,0 @@
-# Miscellaneous
-*.class
-*.log
-*.pyc
-*.swp
-.DS_Store
-.atom/
-.build/
-.buildlog/
-.history
-.svn/
-.swiftpm/
-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
-**/doc/api/
-**/ios/Flutter/.last_build_id
-.dart_tool/
-.flutter-plugins
-.flutter-plugins-dependencies
-.pub-cache/
-.pub/
-/build/
-
-# Symbolication related
-app.*.symbols
-
-# Obfuscation related
-app.*.map.json
-
-# Android Studio will place build artifacts here
-/android/app/debug
-/android/app/profile
-/android/app/release
-
-#firebase
-firebase_options.dart
-google-services.json
-GoogleService-Info.plist
-firebase.json
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/.metadata b/packages/firebase_vertexai/firebase_vertexai/example/.metadata
deleted file mode 100644
index e8f7bf911cbc..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/.metadata
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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: "ea121f8859e4b13e47a8f845e4586164519588bc"
- channel: "stable"
-
-project_type: app
-
-# Tracks metadata for the flutter migrate command
-migration:
- platforms:
- - platform: root
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- - platform: android
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- - platform: ios
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- - platform: linux
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- - platform: macos
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- - platform: web
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- - platform: windows
- create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
-
- # User provided section
-
- # List of Local paths (relative to this file) that should be
- # ignored by the migrate tool.
- #
- # Files that are not part of the templates will be ignored by default.
- unmanaged_files:
- - 'lib/main.dart'
- - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/README.md b/packages/firebase_vertexai/firebase_vertexai/example/README.md
deleted file mode 100644
index cd631c7d2747..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# firebase_vertexai_example
-
-Sample app to show how to use Vertex AI in Firebase.
-
-## Getting Started
-
-This project is a starting point for a Flutter application.
-
-A few resources to get you started if this is your first Flutter project:
-
-- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
-- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
-
-For help getting started with Flutter development, view the
-[online documentation](https://docs.flutter.dev/), which offers tutorials,
-samples, guidance on mobile development, and a full API reference.
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/analysis_options.yaml b/packages/firebase_vertexai/firebase_vertexai/example/analysis_options.yaml
deleted file mode 100644
index b6cd704fb940..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/analysis_options.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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: ../../../../analysis_options.yaml
-linter:
- rules:
- avoid_print: false
- depend_on_referenced_packages: false
- library_private_types_in_public_api: false
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/.gitignore b/packages/firebase_vertexai/firebase_vertexai/example/android/.gitignore
deleted file mode 100644
index be3943c96d8e..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-gradle-wrapper.jar
-/.gradle
-/captures/
-/gradlew
-/gradlew.bat
-/local.properties
-GeneratedPluginRegistrant.java
-.cxx/
-
-# Remember to never publicly share your keystore.
-# See https://flutter.dev/to/reference-keystore
-key.properties
-**/*.keystore
-**/*.jks
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/build.gradle b/packages/firebase_vertexai/firebase_vertexai/example/android/app/build.gradle
deleted file mode 100644
index 1c814271cc8e..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/build.gradle
+++ /dev/null
@@ -1,59 +0,0 @@
-plugins {
- id "com.android.application"
- // START: FlutterFire Configuration
- id 'com.google.gms.google-services'
- // END: FlutterFire Configuration
- id "kotlin-android"
- id "dev.flutter.flutter-gradle-plugin"
-}
-
-def localProperties = new Properties()
-def localPropertiesFile = rootProject.file('local.properties')
-if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader('UTF-8') { reader ->
- localProperties.load(reader)
- }
-}
-
-def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
-if (flutterVersionCode == null) {
- flutterVersionCode = '1'
-}
-
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
-if (flutterVersionName == null) {
- flutterVersionName = '1.0'
-}
-
-android {
- namespace "io.flutter.plugins.firebase.vertexai.example"
-
- compileSdk 35
-
- defaultConfig {
- applicationId "io.flutter.plugins.firebase.vertexai.example"
- minSdk 23
- targetSdk 33
- versionCode flutterVersionCode.toInteger()
- versionName flutterVersionName
- }
-
- buildFeatures {
- buildConfig true
- }
-
- buildTypes {
- release {
- // TODO: Add your own signing config for the release build.
- // Signing with the debug keys for now, so `flutter run --release` works.
- signingConfig signingConfigs.debug
- }
- }
- kotlinOptions {
- jvmTarget = '1.8' // Or '11'
- }
-}
-
-flutter {
- source '../..'
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/build.gradle.kts b/packages/firebase_vertexai/firebase_vertexai/example/android/app/build.gradle.kts
deleted file mode 100644
index 3415989fde7e..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/build.gradle.kts
+++ /dev/null
@@ -1,47 +0,0 @@
-plugins {
- id("com.android.application")
- // START: FlutterFire Configuration
- id("com.google.gms.google-services")
- // END: FlutterFire Configuration
- id("kotlin-android")
- // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
- id("dev.flutter.flutter-gradle-plugin")
-}
-
-android {
- namespace = "com.example.vertex_ai_example"
- compileSdk = flutter.compileSdkVersion
- ndkVersion = "27.0.12077973"
-
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- }
-
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_11.toString()
- }
-
- defaultConfig {
- // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
- applicationId = "com.example.vertex_ai_example"
- // You can update the following values to match your application needs.
- // For more information, see: https://flutter.dev/to/review-gradle-config.
- minSdk = 23
- targetSdk = flutter.targetSdkVersion
- versionCode = flutter.versionCode
- versionName = flutter.versionName
- }
-
- buildTypes {
- release {
- // TODO: Add your own signing config for the release build.
- // Signing with the debug keys for now, so `flutter run --release` works.
- signingConfig = signingConfigs.getByName("debug")
- }
- }
-}
-
-flutter {
- source = "../.."
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/debug/AndroidManifest.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/debug/AndroidManifest.xml
deleted file mode 100644
index d30de11e3410..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/debug/AndroidManifest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/AndroidManifest.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 48622205141f..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/kotlin/com/example/vertex_ai_example/MainActivity.kt b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/kotlin/com/example/vertex_ai_example/MainActivity.kt
deleted file mode 100644
index a09c414f7bc6..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/kotlin/com/example/vertex_ai_example/MainActivity.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.example.vertex_ai_example
-
-import io.flutter.embedding.android.FlutterActivity
-
-class MainActivity : FlutterActivity()
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/drawable-v21/launch_background.xml
deleted file mode 100644
index f74085f3f6a2..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/drawable-v21/launch_background.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/drawable/launch_background.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/drawable/launch_background.xml
deleted file mode 100644
index 304732f88420..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/drawable/launch_background.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index db77bb4b7b09..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 17987b79bb8a..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 09d4391482be..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index d5f1c8d34e7a..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 4d6372eebdb2..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/values-night/styles.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/values-night/styles.xml
deleted file mode 100644
index 06952be745f9..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/values-night/styles.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/values/styles.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/values/styles.xml
deleted file mode 100644
index cb1ef88056ed..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/profile/AndroidManifest.xml b/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/profile/AndroidManifest.xml
deleted file mode 100644
index 399f6981d5d3..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/app/src/profile/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/build.gradle b/packages/firebase_vertexai/firebase_vertexai/example/android/build.gradle
deleted file mode 100644
index 4533872eedd6..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/build.gradle
+++ /dev/null
@@ -1,31 +0,0 @@
-buildscript {
- repositories {
- google()
- mavenCentral()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:8.3.0'
- // START: FlutterFire Configuration
- classpath 'com.google.gms:google-services:4.4.0'
- // END: FlutterFire Configuration
- }
-}
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-rootProject.buildDir = '../build'
-subprojects {
- project.buildDir = "${rootProject.buildDir}/${project.name}"
-}
-subprojects {
- project.evaluationDependsOn(':app')
-}
-
-tasks.register("clean", Delete) {
- delete rootProject.buildDir
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/build.gradle.kts b/packages/firebase_vertexai/firebase_vertexai/example/android/build.gradle.kts
deleted file mode 100644
index 89176ef44e8c..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/build.gradle.kts
+++ /dev/null
@@ -1,21 +0,0 @@
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get()
-rootProject.layout.buildDirectory.value(newBuildDir)
-
-subprojects {
- val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
- project.layout.buildDirectory.value(newSubprojectBuildDir)
-}
-subprojects {
- project.evaluationDependsOn(":app")
-}
-
-tasks.register("clean") {
- delete(rootProject.layout.buildDirectory)
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/gradle.properties b/packages/firebase_vertexai/firebase_vertexai/example/android/gradle.properties
deleted file mode 100644
index f018a61817f5..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
-android.useAndroidX=true
-android.enableJetifier=true
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_vertexai/firebase_vertexai/example/android/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index afa1e8eb0a83..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/settings.gradle b/packages/firebase_vertexai/firebase_vertexai/example/android/settings.gradle
deleted file mode 100644
index a4d924db8bec..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/settings.gradle
+++ /dev/null
@@ -1,28 +0,0 @@
-pluginManagement {
- def flutterSdkPath = {
- def properties = new Properties()
- file("local.properties").withInputStream { properties.load(it) }
- def flutterSdkPath = properties.getProperty("flutter.sdk")
- assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
- return flutterSdkPath
- }()
-
- includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
-}
-
-plugins {
- id "dev.flutter.flutter-plugin-loader" version "1.0.0"
- id "com.android.application" version "8.3.0" apply false
- // START: FlutterFire Configuration
- id "com.google.gms.google-services" version "4.3.15" apply false
- // END: FlutterFire Configuration
- id "org.jetbrains.kotlin.android" version "1.9.22" apply false
-}
-
-include ":app"
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/android/settings.gradle.kts b/packages/firebase_vertexai/firebase_vertexai/example/android/settings.gradle.kts
deleted file mode 100644
index 9e2d35ccf5e0..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/android/settings.gradle.kts
+++ /dev/null
@@ -1,28 +0,0 @@
-pluginManagement {
- val flutterSdkPath = run {
- val properties = java.util.Properties()
- file("local.properties").inputStream().use { properties.load(it) }
- val flutterSdkPath = properties.getProperty("flutter.sdk")
- require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
- flutterSdkPath
- }
-
- includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
-}
-
-plugins {
- id("dev.flutter.flutter-plugin-loader") version "1.0.0"
- id("com.android.application") version "8.7.0" apply false
- // START: FlutterFire Configuration
- id("com.google.gms.google-services") version("4.3.15") apply false
- // END: FlutterFire Configuration
- id("org.jetbrains.kotlin.android") version "1.8.22" apply false
-}
-
-include(":app")
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/assets/documents/gemini_summary.pdf b/packages/firebase_vertexai/firebase_vertexai/example/assets/documents/gemini_summary.pdf
deleted file mode 100644
index 08881c7839ec..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/assets/documents/gemini_summary.pdf and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/assets/images/cat.jpg b/packages/firebase_vertexai/firebase_vertexai/example/assets/images/cat.jpg
deleted file mode 100644
index 8d2069e6c979..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/assets/images/cat.jpg and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/assets/images/scones.jpg b/packages/firebase_vertexai/firebase_vertexai/example/assets/images/scones.jpg
deleted file mode 100644
index ce689588e871..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/assets/images/scones.jpg and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/assets/videos/landscape.mp4 b/packages/firebase_vertexai/firebase_vertexai/example/assets/videos/landscape.mp4
deleted file mode 100644
index a7f4298dd7e9..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/assets/videos/landscape.mp4 and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/.gitignore b/packages/firebase_vertexai/firebase_vertexai/example/ios/.gitignore
deleted file mode 100644
index 7a7f9873ad7d..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/.gitignore
+++ /dev/null
@@ -1,34 +0,0 @@
-**/dgph
-*.mode1v3
-*.mode2v3
-*.moved-aside
-*.pbxuser
-*.perspectivev3
-**/*sync/
-.sconsign.dblite
-.tags*
-**/.vagrant/
-**/DerivedData/
-Icon?
-**/Pods/
-**/.symlinks/
-profile
-xcuserdata
-**/.generated/
-Flutter/App.framework
-Flutter/Flutter.framework
-Flutter/Flutter.podspec
-Flutter/Generated.xcconfig
-Flutter/ephemeral/
-Flutter/app.flx
-Flutter/app.zip
-Flutter/flutter_assets/
-Flutter/flutter_export_environment.sh
-ServiceDefinitions.json
-Runner/GeneratedPluginRegistrant.*
-
-# Exceptions to above rules.
-!default.mode1v3
-!default.mode2v3
-!default.pbxuser
-!default.perspectivev3
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/AppFrameworkInfo.plist b/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/AppFrameworkInfo.plist
deleted file mode 100644
index 7c5696400627..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/AppFrameworkInfo.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- App
- CFBundleIdentifier
- io.flutter.flutter.app
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- App
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1.0
- MinimumOSVersion
- 12.0
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/Debug.xcconfig b/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/Debug.xcconfig
deleted file mode 100644
index ec97fc6f3021..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/Debug.xcconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
-#include "Generated.xcconfig"
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/Release.xcconfig b/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/Release.xcconfig
deleted file mode 100644
index c4855bfe2000..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Flutter/Release.xcconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
-#include "Generated.xcconfig"
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Podfile b/packages/firebase_vertexai/firebase_vertexai/example/ios/Podfile
deleted file mode 100644
index 6649374d4c19..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Podfile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Uncomment this line to define a global platform for your project
-platform :ios, '15.0'
-
-# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
-ENV['COCOAPODS_DISABLE_STATS'] = 'true'
-
-project 'Runner', {
- 'Debug' => :debug,
- 'Profile' => :release,
- 'Release' => :release,
-}
-
-def flutter_root
- generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
- unless File.exist?(generated_xcode_build_settings_path)
- raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
- end
-
- File.foreach(generated_xcode_build_settings_path) do |line|
- matches = line.match(/FLUTTER_ROOT\=(.*)/)
- return matches[1].strip if matches
- end
- raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
-end
-
-require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
-
-flutter_ios_podfile_setup
-
-target 'Runner' do
- use_frameworks!
-
- flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
- target 'RunnerTests' do
- inherit! :search_paths
- end
-end
-
-post_install do |installer|
- installer.pods_project.targets.each do |target|
- flutter_additional_ios_build_settings(target)
- end
-end
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.pbxproj b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.pbxproj
deleted file mode 100644
index 37f29d6208ac..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,731 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 54;
- objects = {
-
-/* Begin PBXBuildFile section */
- 12DD27C70B6F1A3A29F606CA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EC8278BABD88B76D174C9B3 /* Pods_RunnerTests.framework */; };
- 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
- 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
- 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
- 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
- 7B483211B8F8447551559CD8 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A7451CAF0BF9B58B1FC94AC /* Pods_Runner.framework */; };
- 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
- 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
- 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
- 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 97C146E61CF9000F007C117D /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 97C146ED1CF9000F007C117D;
- remoteInfo = Runner;
- };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- );
- name = "Embed Frameworks";
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
- 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
- 1B003FC08370C067F6112BA3 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; };
- 1E4EFC92E26DC42959308596 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
- 2DF9D5C450661BB71EE1CA4A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
- 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
- 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
- 5A7451CAF0BF9B58B1FC94AC /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 5EC8278BABD88B76D174C9B3 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
- 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
- 8E74AA7A780E6AD093F2280C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; };
- 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
- 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
- 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- B2BD865801978D1293EC9548 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
- B5411DA55636D994211B15CD /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 97C146EB1CF9000F007C117D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 7B483211B8F8447551559CD8 /* Pods_Runner.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E0117E231D8F6E331F0AF95D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 12DD27C70B6F1A3A29F606CA /* Pods_RunnerTests.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 331C8082294A63A400263BE5 /* RunnerTests */ = {
- isa = PBXGroup;
- children = (
- 331C807B294A618700263BE5 /* RunnerTests.swift */,
- );
- path = RunnerTests;
- sourceTree = "";
- };
- 51AC52FF58548C49E2FD13CA /* Pods */ = {
- isa = PBXGroup;
- children = (
- 2DF9D5C450661BB71EE1CA4A /* Pods-Runner.debug.xcconfig */,
- B2BD865801978D1293EC9548 /* Pods-Runner.release.xcconfig */,
- 1E4EFC92E26DC42959308596 /* Pods-Runner.profile.xcconfig */,
- 1B003FC08370C067F6112BA3 /* Pods-RunnerTests.debug.xcconfig */,
- 8E74AA7A780E6AD093F2280C /* Pods-RunnerTests.release.xcconfig */,
- B5411DA55636D994211B15CD /* Pods-RunnerTests.profile.xcconfig */,
- );
- name = Pods;
- path = Pods;
- sourceTree = "";
- };
- 67A1388587063912C673254D /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 5A7451CAF0BF9B58B1FC94AC /* Pods_Runner.framework */,
- 5EC8278BABD88B76D174C9B3 /* Pods_RunnerTests.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- 9740EEB11CF90186004384FC /* Flutter */ = {
- isa = PBXGroup;
- children = (
- 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
- 9740EEB21CF90195004384FC /* Debug.xcconfig */,
- 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
- 9740EEB31CF90195004384FC /* Generated.xcconfig */,
- );
- name = Flutter;
- sourceTree = "";
- };
- 97C146E51CF9000F007C117D = {
- isa = PBXGroup;
- children = (
- 9740EEB11CF90186004384FC /* Flutter */,
- 97C146F01CF9000F007C117D /* Runner */,
- 97C146EF1CF9000F007C117D /* Products */,
- 331C8082294A63A400263BE5 /* RunnerTests */,
- 51AC52FF58548C49E2FD13CA /* Pods */,
- 67A1388587063912C673254D /* Frameworks */,
- );
- sourceTree = "";
- };
- 97C146EF1CF9000F007C117D /* Products */ = {
- isa = PBXGroup;
- children = (
- 97C146EE1CF9000F007C117D /* Runner.app */,
- 331C8081294A63A400263BE5 /* RunnerTests.xctest */,
- );
- name = Products;
- sourceTree = "";
- };
- 97C146F01CF9000F007C117D /* Runner */ = {
- isa = PBXGroup;
- children = (
- 97C146FA1CF9000F007C117D /* Main.storyboard */,
- 97C146FD1CF9000F007C117D /* Assets.xcassets */,
- 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
- 97C147021CF9000F007C117D /* Info.plist */,
- 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
- 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
- 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
- 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
- );
- path = Runner;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 331C8080294A63A400263BE5 /* RunnerTests */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
- buildPhases = (
- 8580F0CE7F25830B9BDEF0A0 /* [CP] Check Pods Manifest.lock */,
- 331C807D294A63A400263BE5 /* Sources */,
- 331C807F294A63A400263BE5 /* Resources */,
- E0117E231D8F6E331F0AF95D /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- 331C8086294A63A400263BE5 /* PBXTargetDependency */,
- );
- name = RunnerTests;
- productName = RunnerTests;
- productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */;
- productType = "com.apple.product-type.bundle.unit-test";
- };
- 97C146ED1CF9000F007C117D /* Runner */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
- buildPhases = (
- 0C5779354B72E692610FCBAC /* [CP] Check Pods Manifest.lock */,
- 9740EEB61CF901F6004384FC /* Run Script */,
- 97C146EA1CF9000F007C117D /* Sources */,
- 97C146EB1CF9000F007C117D /* Frameworks */,
- 97C146EC1CF9000F007C117D /* Resources */,
- 9705A1C41CF9048500538489 /* Embed Frameworks */,
- 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
- 8F2729CA72CB997339394B4E /* [CP] Embed Pods Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Runner;
- productName = Runner;
- productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 97C146E61CF9000F007C117D /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = YES;
- LastUpgradeCheck = 1510;
- ORGANIZATIONNAME = "";
- TargetAttributes = {
- 331C8080294A63A400263BE5 = {
- CreatedOnToolsVersion = 14.0;
- TestTargetID = 97C146ED1CF9000F007C117D;
- };
- 97C146ED1CF9000F007C117D = {
- CreatedOnToolsVersion = 7.3.1;
- LastSwiftMigration = 1100;
- };
- };
- };
- buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
- compatibilityVersion = "Xcode 9.3";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = 97C146E51CF9000F007C117D;
- productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 97C146ED1CF9000F007C117D /* Runner */,
- 331C8080294A63A400263BE5 /* RunnerTests */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 331C807F294A63A400263BE5 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 97C146EC1CF9000F007C117D /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
- 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
- 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
- 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 0C5779354B72E692610FCBAC /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
- };
- 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
- isa = PBXShellScriptBuildPhase;
- alwaysOutOfDate = 1;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
- );
- name = "Thin Binary";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
- };
- 8580F0CE7F25830B9BDEF0A0 /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
- };
- 8F2729CA72CB997339394B4E /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
- );
- name = "[CP] Embed Pods Frameworks";
- outputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
- 9740EEB61CF901F6004384FC /* Run Script */ = {
- isa = PBXShellScriptBuildPhase;
- alwaysOutOfDate = 1;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Run Script";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 331C807D294A63A400263BE5 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 97C146EA1CF9000F007C117D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
- 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
- 331C8086294A63A400263BE5 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 97C146ED1CF9000F007C117D /* Runner */;
- targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
- 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 97C146FB1CF9000F007C117D /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
- 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 97C147001CF9000F007C117D /* Base */,
- );
- name = LaunchScreen.storyboard;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 249021D3217E4FDB00AE95B9 /* Profile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = NO;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- SUPPORTED_PLATFORMS = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- VALIDATE_PRODUCT = YES;
- };
- name = Profile;
- };
- 249021D4217E4FDB00AE95B9 /* Profile */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CLANG_ENABLE_MODULES = YES;
- CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
- DEVELOPMENT_TEAM = S8QB4VV633;
- ENABLE_BITCODE = NO;
- INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- PRODUCT_BUNDLE_IDENTIFIER = com.example.vertexAiExample;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
- SWIFT_VERSION = 5.0;
- VERSIONING_SYSTEM = "apple-generic";
- };
- name = Profile;
- };
- 331C8088294A63A400263BE5 /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1B003FC08370C067F6112BA3 /* Pods-RunnerTests.debug.xcconfig */;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- GENERATE_INFOPLIST_FILE = YES;
- MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.example.vertexAiExample.RunnerTests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 5.0;
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
- };
- name = Debug;
- };
- 331C8089294A63A400263BE5 /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 8E74AA7A780E6AD093F2280C /* Pods-RunnerTests.release.xcconfig */;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- GENERATE_INFOPLIST_FILE = YES;
- MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.example.vertexAiExample.RunnerTests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
- };
- name = Release;
- };
- 331C808A294A63A400263BE5 /* Profile */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = B5411DA55636D994211B15CD /* Pods-RunnerTests.profile.xcconfig */;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- GENERATE_INFOPLIST_FILE = YES;
- MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.example.vertexAiExample.RunnerTests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 5.0;
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
- };
- name = Profile;
- };
- 97C147031CF9000F007C117D /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = NO;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- 97C147041CF9000F007C117D /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_USER_SCRIPT_SANDBOXING = NO;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- SUPPORTED_PLATFORMS = iphoneos;
- SWIFT_COMPILATION_MODE = wholemodule;
- SWIFT_OPTIMIZATION_LEVEL = "-O";
- TARGETED_DEVICE_FAMILY = "1,2";
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 97C147061CF9000F007C117D /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CLANG_ENABLE_MODULES = YES;
- CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
- DEVELOPMENT_TEAM = S8QB4VV633;
- ENABLE_BITCODE = NO;
- INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- PRODUCT_BUNDLE_IDENTIFIER = com.example.vertexAiExample;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 5.0;
- VERSIONING_SYSTEM = "apple-generic";
- };
- name = Debug;
- };
- 97C147071CF9000F007C117D /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CLANG_ENABLE_MODULES = YES;
- CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
- DEVELOPMENT_TEAM = S8QB4VV633;
- ENABLE_BITCODE = NO;
- INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- PRODUCT_BUNDLE_IDENTIFIER = com.example.vertexAiExample;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
- SWIFT_VERSION = 5.0;
- VERSIONING_SYSTEM = "apple-generic";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 331C8088294A63A400263BE5 /* Debug */,
- 331C8089294A63A400263BE5 /* Release */,
- 331C808A294A63A400263BE5 /* Profile */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 97C147031CF9000F007C117D /* Debug */,
- 97C147041CF9000F007C117D /* Release */,
- 249021D3217E4FDB00AE95B9 /* Profile */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 97C147061CF9000F007C117D /* Debug */,
- 97C147071CF9000F007C117D /* Release */,
- 249021D4217E4FDB00AE95B9 /* Profile */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 97C146E61CF9000F007C117D /* Project object */;
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a6254f..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d68..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index f9b0d7c5ea15..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- PreviewsEnabled
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
deleted file mode 100644
index 15cada4838e2..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 21a3cc14c74e..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d68..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index f9b0d7c5ea15..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- PreviewsEnabled
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/AppDelegate.swift b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/AppDelegate.swift
deleted file mode 100644
index 626664468b89..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/AppDelegate.swift
+++ /dev/null
@@ -1,13 +0,0 @@
-import Flutter
-import UIKit
-
-@main
-@objc class AppDelegate: FlutterAppDelegate {
- override func application(
- _ application: UIApplication,
- didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
- ) -> Bool {
- GeneratedPluginRegistrant.register(with: self)
- return super.application(application, didFinishLaunchingWithOptions: launchOptions)
- }
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index d36b1fab2d9d..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "images" : [
- {
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "Icon-App-20x20@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "Icon-App-20x20@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-App-29x29@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-App-29x29@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-App-29x29@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-App-40x40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-App-40x40@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-App-60x60@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-App-60x60@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "20x20",
- "idiom" : "ipad",
- "filename" : "Icon-App-20x20@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "20x20",
- "idiom" : "ipad",
- "filename" : "Icon-App-20x20@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "Icon-App-29x29@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "Icon-App-29x29@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "Icon-App-40x40@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "Icon-App-40x40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "Icon-App-76x76@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "Icon-App-76x76@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "83.5x83.5",
- "idiom" : "ipad",
- "filename" : "Icon-App-83.5x83.5@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "1024x1024",
- "idiom" : "ios-marketing",
- "filename" : "Icon-App-1024x1024@1x.png",
- "scale" : "1x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
deleted file mode 100644
index dc9ada4725e9..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
deleted file mode 100644
index 7353c41ecf9c..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
deleted file mode 100644
index 797d452e4589..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
deleted file mode 100644
index 6ed2d933e112..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
deleted file mode 100644
index 4cd7b0099ca8..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
deleted file mode 100644
index fe730945a01f..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
deleted file mode 100644
index 321773cd857a..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
deleted file mode 100644
index 797d452e4589..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
deleted file mode 100644
index 502f463a9bc8..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
deleted file mode 100644
index 0ec303439225..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
deleted file mode 100644
index 0ec303439225..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
deleted file mode 100644
index e9f5fea27c70..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
deleted file mode 100644
index 84ac32ae7d98..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
deleted file mode 100644
index 8953cba09064..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
deleted file mode 100644
index 0467bf12aa4d..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
deleted file mode 100644
index 0bedcf2fd467..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "LaunchImage.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "LaunchImage@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "LaunchImage@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
deleted file mode 100644
index 9da19eacad3b..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
deleted file mode 100644
index 9da19eacad3b..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
deleted file mode 100644
index 9da19eacad3b..000000000000
Binary files a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
deleted file mode 100644
index 89c2725b70f1..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Launch Screen Assets
-
-You can customize the launch screen with your own desired assets by replacing the image files in this directory.
-
-You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
\ No newline at end of file
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index f2e259c7c939..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Base.lproj/Main.storyboard b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Base.lproj/Main.storyboard
deleted file mode 100644
index f3c28516fb38..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Info.plist b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Info.plist
deleted file mode 100644
index ce396f3af000..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Info.plist
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleDisplayName
- Vertex Ai Example
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- vertex_ai_example
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
- CFBundleSignature
- ????
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- CADisableMinimumFrameDurationOnPhone
-
- UIApplicationSupportsIndirectInputEvents
-
- NSMicrophoneUsageDescription
- Need microphone to talk with Gemini
-
-
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Runner-Bridging-Header.h b/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Runner-Bridging-Header.h
deleted file mode 100644
index 308a2a560b42..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/ios/Runner/Runner-Bridging-Header.h
+++ /dev/null
@@ -1 +0,0 @@
-#import "GeneratedPluginRegistrant.h"
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/lib/main.dart b/packages/firebase_vertexai/firebase_vertexai/example/lib/main.dart
deleted file mode 100644
index be06969a756d..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/lib/main.dart
+++ /dev/null
@@ -1,327 +0,0 @@
-// Copyright 2024 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-import 'package:firebase_ai/firebase_ai.dart';
-import 'package:firebase_auth/firebase_auth.dart';
-import 'package:firebase_core/firebase_core.dart';
-import 'package:firebase_vertexai/firebase_vertexai.dart';
-import 'package:flutter/material.dart';
-
-import 'pages/audio_page.dart';
-import 'pages/bidi_page.dart';
-// Import after file is generated through flutterfire_cli.
-// import 'package:vertex_ai_example/firebase_options.dart';
-
-import 'pages/chat_page.dart';
-import 'pages/document.dart';
-import 'pages/function_calling_page.dart';
-import 'pages/image_prompt_page.dart';
-import 'pages/imagen_page.dart';
-import 'pages/schema_page.dart';
-import 'pages/token_count_page.dart';
-import 'pages/video_page.dart';
-
-void main() async {
- WidgetsFlutterBinding.ensureInitialized();
- // Enable this line instead once have the firebase_options.dart generated and
- // imported through flutterfire_cli.
- // await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
- await Firebase.initializeApp();
- await FirebaseAuth.instance.signInAnonymously();
- runApp(const GenerativeAISample());
-}
-
-class GenerativeAISample extends StatefulWidget {
- const GenerativeAISample({super.key});
-
- @override
- State createState() => _GenerativeAISampleState();
-}
-
-class _GenerativeAISampleState extends State {
- bool _useVertexBackend = false;
- late GenerativeModel _currentModel;
- late ImagenModel _currentImagenModel;
- int _currentBottomNavIndex = 0;
-
- @override
- void initState() {
- super.initState();
-
- _initializeModel(_useVertexBackend);
- }
-
- void _initializeModel(bool useVertexBackend) {
- var generationConfig = ImagenGenerationConfig(
- negativePrompt: 'frog',
- numberOfImages: 1,
- aspectRatio: ImagenAspectRatio.square1x1,
- imageFormat: ImagenFormat.jpeg(compressionQuality: 75),
- );
- if (useVertexBackend) {
- final vertexInstance =
- // ignore: deprecated_member_use
- FirebaseVertexAI.instanceFor(auth: FirebaseAuth.instance);
- _currentModel = vertexInstance.generativeModel(model: 'gemini-1.5-flash');
- _currentImagenModel = vertexInstance.imagenModel(
- model: 'imagen-3.0-generate-001',
- generationConfig: generationConfig,
- safetySettings: ImagenSafetySettings(
- ImagenSafetyFilterLevel.blockLowAndAbove,
- ImagenPersonFilterLevel.allowAdult,
- ),
- );
- } else {
- final googleAI = FirebaseAI.googleAI(auth: FirebaseAuth.instance);
- _currentModel = googleAI.generativeModel(model: 'gemini-2.0-flash');
- _currentImagenModel = googleAI.imagenModel(
- model: 'imagen-3.0-generate-001',
- generationConfig: generationConfig,
- safetySettings: ImagenSafetySettings(
- ImagenSafetyFilterLevel.blockLowAndAbove,
- ImagenPersonFilterLevel.allowAdult,
- ),
- );
- }
- }
-
- void _toggleBackend(bool value) {
- setState(() {
- _useVertexBackend = value;
- });
- _initializeModel(_useVertexBackend);
- }
-
- void _onBottomNavTapped(int index) {
- setState(() {
- _currentBottomNavIndex = index;
- });
- }
-
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'Flutter + ${_useVertexBackend ? 'Vertex AI' : 'Google AI'}',
- debugShowCheckedModeBanner: false,
- themeMode: ThemeMode.dark,
- theme: ThemeData(
- colorScheme: ColorScheme.fromSeed(
- brightness: Brightness.dark,
- seedColor: const Color.fromARGB(255, 171, 222, 244),
- ),
- useMaterial3: true,
- ),
- home: HomeScreen(
- key: ValueKey(
- '${_useVertexBackend}_${_currentModel.hashCode}',
- ),
- model: _currentModel,
- imagenModel: _currentImagenModel,
- useVertexBackend: _useVertexBackend,
- onBackendChanged: _toggleBackend,
- selectedIndex: _currentBottomNavIndex,
- onSelectedIndexChanged: _onBottomNavTapped,
- ),
- );
- }
-}
-
-class HomeScreen extends StatefulWidget {
- final GenerativeModel model;
- final ImagenModel imagenModel;
- final bool useVertexBackend;
- final ValueChanged onBackendChanged;
- final int selectedIndex;
- final ValueChanged onSelectedIndexChanged;
-
- const HomeScreen({
- super.key,
- required this.model,
- required this.imagenModel,
- required this.useVertexBackend,
- required this.onBackendChanged,
- required this.selectedIndex,
- required this.onSelectedIndexChanged,
- });
-
- @override
- State createState() => _HomeScreenState();
-}
-
-class _HomeScreenState extends State {
- void _onItemTapped(int index) {
- widget.onSelectedIndexChanged(index);
- }
-
-// Method to build the selected page on demand
- Widget _buildSelectedPage(
- int index,
- GenerativeModel currentModel,
- ImagenModel currentImagenModel,
- bool useVertexBackend,
- ) {
- switch (index) {
- case 0:
- return ChatPage(title: 'Chat', model: currentModel);
- case 1:
- return AudioPage(title: 'Audio', model: currentModel);
- case 2:
- return TokenCountPage(title: 'Token Count', model: currentModel);
- case 3:
- // FunctionCallingPage initializes its own model as per original design
- return FunctionCallingPage(
- title: 'Function Calling',
- useVertexBackend: useVertexBackend,
- );
- case 4:
- return ImagePromptPage(title: 'Image Prompt', model: currentModel);
- case 5:
- return ImagenPage(title: 'Imagen Model', model: currentImagenModel);
- case 6:
- return SchemaPromptPage(title: 'Schema Prompt', model: currentModel);
- case 7:
- return DocumentPage(title: 'Document Prompt', model: currentModel);
- case 8:
- return VideoPage(title: 'Video Prompt', model: currentModel);
- case 9:
- return BidiPage(title: 'Bidi Stream', model: currentModel);
- default:
- // Fallback to the first page in case of an unexpected index
- return ChatPage(title: 'Chat', model: currentModel);
- }
- }
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: Text(
- 'Flutter + ${widget.useVertexBackend ? 'Vertex AI' : 'Google AI'}',
- ),
- actions: [
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Row(
- mainAxisSize: MainAxisSize.min,
- children: [
- Text(
- 'Google AI',
- style: TextStyle(
- fontSize: 12,
- color: widget.useVertexBackend
- ? Theme.of(context)
- .colorScheme
- .onSurface
- .withValues(alpha: 0.7)
- : Theme.of(context).colorScheme.primary,
- ),
- ),
- Switch(
- value: widget.useVertexBackend,
- onChanged: widget.onBackendChanged,
- activeTrackColor: Colors.green.withValues(alpha: 0.5),
- inactiveTrackColor: Colors.blueGrey.withValues(alpha: 0.5),
- activeThumbColor: Colors.green,
- inactiveThumbColor: Colors.blueGrey,
- ),
- Text(
- 'Vertex AI',
- style: TextStyle(
- fontSize: 12,
- color: widget.useVertexBackend
- ? Theme.of(context).colorScheme.primary
- : Theme.of(context)
- .colorScheme
- .onSurface
- .withValues(alpha: 0.7),
- ),
- ),
- ],
- ),
- ),
- ],
- ),
- body: Center(
- child: _buildSelectedPage(
- widget.selectedIndex,
- widget.model,
- widget.imagenModel,
- widget.useVertexBackend,
- ),
- ),
- bottomNavigationBar: BottomNavigationBar(
- type: BottomNavigationBarType.fixed,
- selectedFontSize: 10,
- unselectedFontSize: 9,
- selectedItemColor: Theme.of(context).colorScheme.primary,
- unselectedItemColor:
- Theme.of(context).colorScheme.onSurface.withValues(alpha: 0.7),
- items: const [
- BottomNavigationBarItem(
- icon: Icon(Icons.chat),
- label: 'Chat',
- tooltip: 'Chat',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.mic),
- label: 'Audio',
- tooltip: 'Audio Prompt',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.numbers),
- label: 'Tokens',
- tooltip: 'Token Count',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.functions),
- label: 'Functions',
- tooltip: 'Function Calling',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.image),
- label: 'Image',
- tooltip: 'Image Prompt',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.image_search),
- label: 'Imagen',
- tooltip: 'Imagen Model',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.schema),
- label: 'Schema',
- tooltip: 'Schema Prompt',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.edit_document),
- label: 'Document',
- tooltip: 'Document Prompt',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.video_collection),
- label: 'Video',
- tooltip: 'Video Prompt',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.stream),
- label: 'Bidi',
- tooltip: 'Bidi Stream',
- ),
- ],
- currentIndex: widget.selectedIndex,
- onTap: _onItemTapped,
- ),
- );
- }
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/lib/pages/audio_page.dart b/packages/firebase_vertexai/firebase_vertexai/example/lib/pages/audio_page.dart
deleted file mode 100644
index 235022bf1338..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/lib/pages/audio_page.dart
+++ /dev/null
@@ -1,185 +0,0 @@
-// Copyright 2025 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-import 'dart:io';
-
-import 'package:flutter/material.dart';
-import 'package:firebase_vertexai/firebase_vertexai.dart';
-import '../widgets/message_widget.dart';
-import 'package:record/record.dart';
-import 'package:path_provider/path_provider.dart';
-
-final record = AudioRecorder();
-
-class AudioPage extends StatefulWidget {
- const AudioPage({super.key, required this.title, required this.model});
-
- final String title;
- final GenerativeModel model;
-
- @override
- State createState() => _AudioPageState();
-}
-
-class _AudioPageState extends State {
- ChatSession? chat;
- final ScrollController _scrollController = ScrollController();
- final List _messages = [];
- bool _recording = false;
-
- @override
- void initState() {
- super.initState();
- chat = widget.model.startChat();
- }
-
- Future recordAudio() async {
- if (!await record.hasPermission()) {
- print('Audio recording permission denied');
- return;
- }
-
- final dir = Directory(
- '${(await getApplicationDocumentsDirectory()).path}/libs/recordings',
- );
-
- // ignore: avoid_slow_async_io
- if (!await dir.exists()) {
- await dir.create(recursive: true);
- }
-
- String filePath =
- '${dir.path}/recording_${DateTime.now().millisecondsSinceEpoch}.wav';
-
- await record.start(
- const RecordConfig(
- encoder: AudioEncoder.wav,
- ),
- path: filePath,
- );
- }
-
- Future stopRecord() async {
- var path = await record.stop();
-
- if (path == null) {
- print('Failed to stop recording');
- return;
- }
-
- debugPrint('Recording saved to: $path');
-
- try {
- File file = File(path);
- final audio = await file.readAsBytes();
- debugPrint('Audio file size: ${audio.length} bytes');
-
- final audioPart = InlineDataPart('audio/wav', audio);
-
- await _submitAudioToModel(audioPart);
-
- await file.delete();
- debugPrint('Recording deleted successfully.');
- } catch (e) {
- debugPrint('Error processing recording: $e');
- }
- }
-
- Future _submitAudioToModel(audioPart) async {
- try {
- const textPrompt = 'What is in the audio recording?';
-
- setState(() {
- _messages.add(MessageData(text: textPrompt, fromUser: true));
- });
-
- final response = await widget.model.generateContent([
- Content.multi([const TextPart(textPrompt), audioPart]),
- ]);
-
- setState(() {
- _messages.add(MessageData(text: response.text, fromUser: false));
- });
-
- debugPrint(response.text);
- } catch (e) {
- debugPrint('Error sending audio to model: $e');
- }
- }
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: Text(widget.title),
- ),
- body: Padding(
- padding: const EdgeInsets.all(8),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Expanded(
- child: ListView.builder(
- controller: _scrollController,
- itemBuilder: (context, idx) {
- return MessageWidget(
- text: _messages[idx].text,
- image: _messages[idx].image,
- isFromUser: _messages[idx].fromUser ?? false,
- );
- },
- itemCount: _messages.length,
- ),
- ),
- Padding(
- padding: const EdgeInsets.symmetric(
- vertical: 25,
- horizontal: 15,
- ),
- child: Row(
- children: [
- IconButton(
- onPressed: () async {
- setState(() {
- _recording = !_recording;
- });
- if (_recording) {
- await recordAudio();
- } else {
- await stopRecord();
- }
- },
- icon: Icon(
- Icons.mic,
- color: _recording
- ? Colors.blueGrey
- : Theme.of(context).colorScheme.primary,
- ),
- ),
- const SizedBox.square(
- dimension: 15,
- ),
- const Text(
- 'Tap the mic to record, tap again to submit',
- ),
- ],
- ),
- ),
- ],
- ),
- ),
- );
- }
-}
diff --git a/packages/firebase_vertexai/firebase_vertexai/example/lib/pages/bidi_page.dart b/packages/firebase_vertexai/firebase_vertexai/example/lib/pages/bidi_page.dart
deleted file mode 100644
index 4d6cd0077c41..000000000000
--- a/packages/firebase_vertexai/firebase_vertexai/example/lib/pages/bidi_page.dart
+++ /dev/null
@@ -1,424 +0,0 @@
-// Copyright 2025 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-import 'dart:async';
-import 'dart:developer' as developer;
-
-import 'package:flutter/material.dart';
-import 'package:firebase_vertexai/firebase_vertexai.dart';
-
-import '../utils/audio_input.dart';
-import '../utils/audio_output.dart';
-import '../widgets/message_widget.dart';
-
-class BidiPage extends StatefulWidget {
- const BidiPage({super.key, required this.title, required this.model});
-
- final String title;
- final GenerativeModel model;
-
- @override
- State createState() => _BidiPageState();
-}
-
-class LightControl {
- final int? brightness;
- final String? colorTemperature;
-
- LightControl({this.brightness, this.colorTemperature});
-}
-
-class _BidiPageState extends State {
- final ScrollController _scrollController = ScrollController();
- final TextEditingController _textController = TextEditingController();
- final FocusNode _textFieldFocus = FocusNode();
- final List _messages = [];
- bool _loading = false;
- bool _sessionOpening = false;
- bool _recording = false;
- late LiveGenerativeModel _liveModel;
- late LiveSession _session;
- StreamController _stopController = StreamController();
- final _audioOutput = AudioOutput();
- final _audioInput = AudioInput();
-
- @override
- void initState() {
- super.initState();
-
- final config = LiveGenerationConfig(
- speechConfig: SpeechConfig(voiceName: 'Fenrir'),
- responseModalities: [
- ResponseModalities.audio,
- ],
- );
-
- // ignore: deprecated_member_use
- _liveModel = FirebaseVertexAI.instance.liveGenerativeModel(
- model: 'gemini-2.0-flash-exp',
- liveGenerationConfig: config,
- tools: [
- Tool.functionDeclarations([lightControlTool]),
- ],
- );
- _initAudio();
- }
-
- Future _initAudio() async {
- await _audioOutput.init();
- await _audioInput.init();
- }
-
- void _scrollDown() {
- WidgetsBinding.instance.addPostFrameCallback(
- (_) => _scrollController.animateTo(
- _scrollController.position.maxScrollExtent,
- duration: const Duration(
- milliseconds: 750,
- ),
- curve: Curves.easeOutCirc,
- ),
- );
- }
-
- @override
- void dispose() {
- if (_sessionOpening) {
- _stopController.close();
- _sessionOpening = false;
- _session.close();
- }
- super.dispose();
- }
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: Text(widget.title),
- ),
- body: Padding(
- padding: const EdgeInsets.all(8),
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Expanded(
- child: ListView.builder(
- controller: _scrollController,
- itemBuilder: (context, idx) {
- return MessageWidget(
- text: _messages[idx].text,
- image: _messages[idx].image,
- isFromUser: _messages[idx].fromUser ?? false,
- );
- },
- itemCount: _messages.length,
- ),
- ),
- Padding(
- padding: const EdgeInsets.symmetric(
- vertical: 25,
- horizontal: 15,
- ),
- child: Row(
- children: [
- Expanded(
- child: TextField(
- autofocus: true,
- focusNode: _textFieldFocus,
- controller: _textController,
- onSubmitted: _sendTextPrompt,
- ),
- ),
- const SizedBox.square(
- dimension: 15,
- ),
- IconButton(
- tooltip: 'Start Streaming',
- onPressed: !_loading
- ? () async {
- await _setupSession();
- }
- : null,
- icon: Icon(
- Icons.network_wifi,
- color: _sessionOpening
- ? Theme.of(context).colorScheme.secondary
- : Theme.of(context).colorScheme.primary,
- ),
- ),
- IconButton(
- tooltip: 'Send Stream Message',
- onPressed: !_loading
- ? () async {
- if (_recording) {
- await _stopRecording();
- } else {
- await _startRecording();
- }
- }
- : null,
- icon: Icon(
- _recording ? Icons.stop : Icons.mic,
- color: _loading
- ? Theme.of(context).colorScheme.secondary
- : Theme.of(context).colorScheme.primary,
- ),
- ),
- if (!_loading)
- IconButton(
- onPressed: () async {
- await _sendTextPrompt(_textController.text);
- },
- icon: Icon(
- Icons.send,
- color: Theme.of(context).colorScheme.primary,
- ),
- )
- else
- const CircularProgressIndicator(),
- ],
- ),
- ),
- ],
- ),
- ),
- );
- }
-
- final lightControlTool = FunctionDeclaration(
- 'setLightValues',
- 'Set the brightness and color temperature of a room light.',
- parameters: {
- 'brightness': Schema.integer(
- description: 'Light level from 0 to 100. '
- 'Zero is off and 100 is full brightness.',
- ),
- 'colorTemperature': Schema.string(
- description: 'Color temperature of the light fixture, '
- 'which can be `daylight`, `cool` or `warm`.',
- ),
- },
- );
-
- Future