diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/Info.plist
new file mode 100644
index 00000000000..e6616da7312
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/Info.plist
@@ -0,0 +1,139 @@
+
+
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ AppCheckCore.framework/AppCheckCore
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ BinaryPath
+ AppCheckCore.framework/AppCheckCore
+ LibraryIdentifier
+ tvos-arm64_x86_64-simulator
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ tvos
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ AppCheckCore.framework/AppCheckCore
+ LibraryIdentifier
+ ios-arm64_x86_64-simulator
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ AppCheckCore.framework/AppCheckCore
+ LibraryIdentifier
+ watchos-arm64_x86_64-simulator
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ watchos
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ AppCheckCore.framework/AppCheckCore
+ LibraryIdentifier
+ tvos-arm64
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ tvos
+
+
+ BinaryPath
+ AppCheckCore.framework/AppCheckCore
+ LibraryIdentifier
+ watchos-arm64_arm64_32
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+ arm64_32
+
+ SupportedPlatform
+ watchos
+
+
+ BinaryPath
+ AppCheckCore.framework/Versions/A/AppCheckCore
+ LibraryIdentifier
+ ios-arm64_x86_64-maccatalyst
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ maccatalyst
+
+
+ BinaryPath
+ AppCheckCore.framework/Versions/A/AppCheckCore
+ LibraryIdentifier
+ macos-arm64_x86_64
+ LibraryPath
+ AppCheckCore.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ macos
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/AppCheckCore
new file mode 100644
index 00000000000..5c7e152c6d2
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..ebd6c96fb41
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Info.plist
new file mode 100644
index 00000000000..2dd4bd15ed9
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Info.plist
@@ -0,0 +1,57 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ iPhoneOS
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 21C52
+ DTPlatformName
+ iphoneos
+ DTPlatformVersion
+ 17.2
+ DTSDKBuild
+ 21C52
+ DTSDKName
+ iphoneos17.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64/AppCheckCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/AppCheckCore
new file mode 120000
index 00000000000..b58ad60c522
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/AppCheckCore
@@ -0,0 +1 @@
+Versions/Current/AppCheckCore
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Headers b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Headers
new file mode 120000
index 00000000000..a177d2a6b92
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Modules b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Modules
new file mode 120000
index 00000000000..5736f3186e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Modules
@@ -0,0 +1 @@
+Versions/Current/Modules
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Resources b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Resources
new file mode 120000
index 00000000000..953ee36f3bb
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Resources
@@ -0,0 +1 @@
+Versions/Current/Resources
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/AppCheckCore
new file mode 100644
index 00000000000..00089084e0d
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..ebd6c96fb41
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Resources/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Resources/Info.plist
new file mode 100644
index 00000000000..d8da226fd4f
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/A/Resources/Info.plist
@@ -0,0 +1,54 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+
+ DTPlatformName
+ macosx
+ DTPlatformVersion
+ 14.2
+ DTSDKBuild
+ 23C53
+ DTSDKName
+ macosx14.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ LSMinimumSystemVersion
+ 10.15
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 2
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/Current b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/Current
new file mode 120000
index 00000000000..8c7e5a667f1
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-maccatalyst/AppCheckCore.framework/Versions/Current
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore
new file mode 100644
index 00000000000..85f17f69aa7
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..ebd6c96fb41
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist
new file mode 100644
index 00000000000..b940a57f262
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist
@@ -0,0 +1,53 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ iPhoneSimulator
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 21C52
+ DTPlatformName
+ iphonesimulator
+ DTPlatformVersion
+ 17.2
+ DTSDKBuild
+ 21C52
+ DTSDKName
+ iphonesimulator17.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 1
+ 2
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/ios-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/AppCheckCore
new file mode 120000
index 00000000000..b58ad60c522
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/AppCheckCore
@@ -0,0 +1 @@
+Versions/Current/AppCheckCore
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Headers b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Headers
new file mode 120000
index 00000000000..a177d2a6b92
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Modules b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Modules
new file mode 120000
index 00000000000..5736f3186e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Modules
@@ -0,0 +1 @@
+Versions/Current/Modules
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Resources b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Resources
new file mode 120000
index 00000000000..953ee36f3bb
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Resources
@@ -0,0 +1 @@
+Versions/Current/Resources
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/AppCheckCore
new file mode 100644
index 00000000000..e150acb4de4
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..0670d0ebab4
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Resources/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Resources/Info.plist
new file mode 100644
index 00000000000..182d478a7bc
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/A/Resources/Info.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+
+ DTPlatformName
+ macosx
+ DTPlatformVersion
+ 14.2
+ DTSDKBuild
+ 23C53
+ DTSDKName
+ macosx14.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ LSMinimumSystemVersion
+ 10.15
+ MinimumOSVersion
+ 100.0
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/Current b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/Current
new file mode 120000
index 00000000000..8c7e5a667f1
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/macos-arm64_x86_64/AppCheckCore.framework/Versions/Current
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/AppCheckCore
new file mode 100644
index 00000000000..32994e7a0c9
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..ebd6c96fb41
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Info.plist
new file mode 100644
index 00000000000..59b2b6f93d7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Info.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ AppleTVOS
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 21K354
+ DTPlatformName
+ appletvos
+ DTPlatformVersion
+ 17.2
+ DTSDKBuild
+ 21K354
+ DTSDKName
+ appletvos17.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 3
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64/AppCheckCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore
new file mode 100644
index 00000000000..31ce3320b87
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..ebd6c96fb41
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist
new file mode 100644
index 00000000000..6c0fdde717c
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ AppleTVSimulator
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 21K354
+ DTPlatformName
+ appletvsimulator
+ DTPlatformVersion
+ 17.2
+ DTSDKBuild
+ 21K354
+ DTSDKName
+ appletvsimulator17.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 3
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/tvos-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/AppCheckCore
new file mode 100644
index 00000000000..e8e9a321f52
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..4339b763292
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Info.plist
new file mode 100644
index 00000000000..21dbe7d5e40
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Info.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ WatchOS
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 21S355
+ DTPlatformName
+ watchos
+ DTPlatformVersion
+ 10.2
+ DTSDKBuild
+ 21S355
+ DTSDKName
+ watchos10.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 4
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_arm64_32/AppCheckCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore
new file mode 100644
index 00000000000..62a60088678
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/AppCheckCore differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
new file mode 100644
index 00000000000..4339b763292
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore-umbrella.h
@@ -0,0 +1,29 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+#import "AppCheckCore.h"
+#import "GACAppAttestProvider.h"
+#import "GACAppCheck.h"
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckDebugProvider.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+#import "GACDeviceCheckProvider.h"
+
+FOUNDATION_EXPORT double AppCheckCoreVersionNumber;
+FOUNDATION_EXPORT const unsigned char AppCheckCoreVersionString[];
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h
new file mode 100644
index 00000000000..a0752153244
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/AppCheckCore.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 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 "GACAppCheck.h"
+#import "GACAppCheckErrors.h"
+#import "GACAppCheckLogger.h"
+#import "GACAppCheckProvider.h"
+#import "GACAppCheckSettings.h"
+#import "GACAppCheckToken.h"
+#import "GACAppCheckTokenDelegate.h"
+#import "GACAppCheckTokenResult.h"
+
+// Debug provider
+#import "GACAppCheckDebugProvider.h"
+
+// DeviceCheck provider
+#import "GACDeviceCheckProvider.h"
+
+// App Attest provider.
+#import "GACAppAttestProvider.h"
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h
new file mode 100644
index 00000000000..39175bd5209
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppAttestProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2021 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
+
+#import "GACAppCheckProvider.h"
+
+#import "GACAppCheckAvailability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck/dcappattestservice) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_APP_ATTEST_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreAppAttestProvider)
+@interface GACAppAttestProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key, if needed, or nil.
+/// @param accessGroup The Keychain Access Group.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppAttestProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(nullable NSString *)APIKey
+ keychainAccessGroup:(nullable NSString *)accessGroup
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h
new file mode 100644
index 00000000000..0c953ff8e63
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheck.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2020 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
+
+@protocol GACAppCheckProvider;
+@protocol GACAppCheckSettingsProtocol;
+@protocol GACAppCheckTokenDelegate;
+@class GACAppCheckToken;
+@class GACAppCheckTokenResult;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreProtocol) @protocol GACAppCheckProtocol
+
+/// Requests an App Check token.
+///
+/// @param forcingRefresh If `YES`, a new Firebase app check token is requested and the token
+/// cache is ignored. If `NO`, the cached token is used if it exists and has not expired yet. In
+/// most cases, `NO` should be used. `YES` should only be used if the server explicitly returns an
+/// error, indicating a revoked token.
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)tokenForcingRefresh:(BOOL)forcingRefresh
+ completion:(void (^)(GACAppCheckTokenResult *result))handler
+ NS_SWIFT_NAME(token(forcingRefresh:completion:));
+
+/// Retrieve a new limited-use App Check token
+///
+/// This method does not affect the token generation behavior of the
+/// ``tokenForcingRefresh()`` method.
+///
+/// @param handler The completion handler to call when the token fetch request completes. The
+/// `result` parameter includes the App Check token if the request succeeds, or a placeholder token
+/// and an error if the request fails.
+- (void)limitedUseTokenWithCompletion:(void (^)(GACAppCheckTokenResult *result))handler;
+
+@end
+
+/// A class used to manage App Check tokens for a given resource.
+NS_SWIFT_NAME(AppCheckCore)
+@interface GACAppCheck : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Returns an instance of `AppCheck` for an application.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param appCheckProvider An object that provides App Check tokens.
+/// @param settings An object that provides App Check settings.
+/// @param tokenDelegate A delegate that receives token update notifications.
+/// @param accessGroup The identifier for a keychain group that the app shares items with; if
+/// provided, requires the Keychain Access Groups Entitlement.
+/// @return An instance of `AppCheckCore` with the specified token provider.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ appCheckProvider:(id)appCheckProvider
+ settings:(id)settings
+ tokenDelegate:(nullable id)tokenDelegate
+ keychainAccessGroup:(nullable NSString *)accessGroup;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
new file mode 100644
index 00000000000..f64ca430897
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckAvailability.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2021 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.
+ */
+
+// Availability conditions for different App Check SDK components.
+
+#import
+#import
+
+#pragma mark - DeviceCheck
+
+// `DeviceCheckProvider` availability.
+#define GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(11.0), macos(10.15), macCatalyst(13.0), tvos(11.0), watchos(9.0))
+
+#pragma mark - App Attest
+
+// `AppAttestProvider` availability annotations
+#define GAC_APP_ATTEST_PROVIDER_AVAILABILITY \
+ API_AVAILABLE(ios(14.0), macos(11.3), macCatalyst(14.5), tvos(15.0), watchos(9.0))
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
new file mode 100644
index 00000000000..9a1deceaace
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckDebugProvider.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckProvider.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An App Check provider that can exchange a debug token registered in the Firebase console for an
+/// App Check token. The debug provider is designed to enable testing applications on a simulator or
+/// in a test environment.
+///
+/// NOTE: Do not use the debug provider in production applications used by real users.
+///
+/// WARNING: Keep the App Check debug token secret. If you accidentally share one (e.g., commit it
+/// to a public source repository), remove it in the Firebase console ASAP.
+///
+/// To use `AppCheckCoreDebugProvider` on a local simulator:
+/// 1. Launch the app. A local debug token will be logged when the `AppCheckCoreDebugProvider` is
+/// instantiated. For example:
+/// "[AppCheckCore][I-GAC004001] App Check debug token: 'AB12C3D4-56EF-789G-01H2-IJ234567K8L9'."
+/// 2. Register the debug token in the Firebase console.
+///
+/// Once the debug token is registered in the Firebase console, the debug provider will be able to
+/// provide a valid App Check token.
+///
+/// To use `AppCheckCoreDebugProvider` in a Continuous Integration (CI) environment:
+/// 1. Create a new App Check debug token in the Firebase console.
+/// 2. Add the debug token to the secure storage of your build environment. E.g., see
+/// [Encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) for
+/// GitHub Actions.
+/// 4. Add an environment variable to the scheme with a name `AppCheckDebugToken` and a value like
+/// `$(MY_APP_CHECK_DEBUG_TOKEN)`.
+/// 5. Configure the build script to pass the debug token as in environment variable, e.g.:
+/// `xcodebuild test -scheme InstallationsExample -workspace InstallationsExample.xcworkspace \
+/// MY_APP_CHECK_DEBUG_TOKEN=$(MY_SECRET_ON_CI)`
+NS_SWIFT_NAME(AppCheckCoreDebugProvider)
+@interface GACAppCheckDebugProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param baseURL The base URL for the App Check service; defaults to
+/// `https://firebaseappcheck.googleapis.com/v1` if nil.
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDebugProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ baseURL:(nullable NSString *)baseURL
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+/// Returns the locally generated token.
+- (NSString *)localDebugToken;
+
+/// Returns the currently used App Check debug token.
+///
+/// The priority of the token used is:
+/// 1. The `AppCheckDebugToken` environment variable value
+/// 2. The `FIRAAppCheckDebugToken` environment variable value
+/// 3. A previously generated token, stored locally on the device
+/// 4. A newly generated random token. The generated token will be stored locally for future use
+///
+/// @return The currently used App Check debug token.
+- (NSString *)currentDebugToken;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h
new file mode 100644
index 00000000000..c6d4576aa4d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckErrors.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2021 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
+
+/// Firebase app check error domain.
+FOUNDATION_EXTERN NSErrorDomain const GACAppCheckErrorDomain NS_SWIFT_NAME(AppCheckCoreErrorDomain);
+
+typedef NS_ERROR_ENUM(GACAppCheckErrorDomain, GACAppCheckErrorCode){
+ /// An unknown or non-actionable error.
+ GACAppCheckErrorCodeUnknown = 0,
+
+ /// A network connection error.
+ GACAppCheckErrorCodeServerUnreachable = 1,
+
+ /// Invalid configuration error. Currently, an exception is thrown but this error is reserved
+ /// for future implementations of invalid configuration detection.
+ GACAppCheckErrorCodeInvalidConfiguration = 2,
+
+ /// System keychain access error. Ensure that the app has proper keychain access.
+ GACAppCheckErrorCodeKeychain = 3,
+
+ /// Selected app attestation provider is not supported on the current platform or OS version.
+ GACAppCheckErrorCodeUnsupported = 4
+
+} NS_SWIFT_NAME(AppCheckCoreErrorCode);
+
+#pragma mark - Error Message Codes
+
+typedef NS_ENUM(NSInteger, GACAppCheckMessageCode) {
+ GACLoggerAppCheckMessageCodeUnknown = 1001,
+
+ // App Check
+ GACLoggerAppCheckMessageCodeProviderIsMissing = 2002,
+ GACLoggerAppCheckMessageCodeUnexpectedHTTPCode = 3001,
+
+ // Debug Provider
+ GACLoggerAppCheckMessageLocalDebugToken = 4001,
+ GACLoggerAppCheckMessageEnvironmentVariableDebugToken = 4002,
+ GACLoggerAppCheckMessageDebugProviderFirebaseEnvironmentVariable = 4003,
+ GACLoggerAppCheckMessageDebugProviderFailedExchange = 4004,
+
+ // App Attest Provider
+ GACLoggerAppCheckMessageCodeAppAttestNotSupported = 7001,
+ GACLoggerAppCheckMessageCodeAttestationRejected = 7002
+} NS_SWIFT_NAME(AppCheckCoreMessageCode);
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h
new file mode 100644
index 00000000000..cab60ceeb48
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckLogger.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2023 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 "GACAppCheckErrors.h"
+
+/// Constants that specify the level of logging to perform in App Check Core.
+typedef NS_ENUM(NSInteger, GACAppCheckLogLevel) {
+ /// The debug log level; equivalent to `OS_LOG_TYPE_DEBUG`.
+ GACAppCheckLogLevelDebug = 1,
+ /// The informational log level; equivalent to `OS_LOG_TYPE_INFO`.
+ GACAppCheckLogLevelInfo = 2,
+ /// The warning log level; equivalent to `OS_LOG_TYPE_DEFAULT`.
+ GACAppCheckLogLevelWarning = 3,
+ /// The error log level; equivalent to `OS_LOG_TYPE_ERROR`.
+ GACAppCheckLogLevelError = 4,
+ /// The fault log level; equivalent to `OS_LOG_TYPE_FAULT`.
+ GACAppCheckLogLevelFault = 5
+} NS_SWIFT_NAME(AppCheckCoreLogLevel);
+
+NS_SWIFT_NAME(AppCheckCoreLogger)
+@interface GACAppCheckLogger : NSObject
+
+/// The current logging level.
+///
+/// Messages with levels equal to or higher priority than `logLevel` will be printed, where
+/// Fault > Error > Warning > Info > Debug.
+@property(class, atomic, assign) GACAppCheckLogLevel logLevel;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h
new file mode 100644
index 00000000000..437c6128470
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckProvider.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A block to be called before sending API requests.
+/// @param request The request that is about to be sent.
+typedef void (^GACAppCheckAPIRequestHook)(NSMutableURLRequest *request);
+
+/// Defines the methods required to be implemented by a specific App Check provider.
+NS_SWIFT_NAME(AppCheckCoreProvider)
+@protocol GACAppCheckProvider
+
+/// Returns a new App Check token.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getToken(completion:));
+
+/// Returns a new App Check token suitable for consumption in a limited-use scenario.
+/// @param handler The completion handler. Make sure to call the handler with either a token
+/// or an error.
+- (void)getLimitedUseTokenWithCompletion:
+ (void (^)(GACAppCheckToken *_Nullable token, NSError *_Nullable error))handler
+ NS_SWIFT_NAME(getLimitedUseToken(completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h
new file mode 100644
index 00000000000..d0092d82bec
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckSettings.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A collection of App Check-wide settings and parameters.
+NS_SWIFT_NAME(AppCheckCoreSettingsProtocol)
+@protocol GACAppCheckSettingsProtocol
+
+/// If App Check token auto-refresh is enabled.
+@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
+
+@end
+
+@interface GACAppCheckSettings : NSObject
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h
new file mode 100644
index 00000000000..29f859e8100
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckToken.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An object representing an App Check token.
+NS_SWIFT_NAME(AppCheckCoreToken)
+@interface GACAppCheckToken : NSObject
+
+/// The App Check token.
+@property(nonatomic, readonly) NSString *token;
+
+/// The App Check token's expiration date in the device's local time.
+@property(nonatomic, readonly) NSDate *expirationDate;
+
+/// The date when the App Check token was received in the device's local time.
+@property(nonatomic, readonly) NSDate *receivedAtDate;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// Convenience initializer that uses the current device local time to set `receivedAtDate`.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+- (instancetype)initWithToken:(NSString *)token expirationDate:(NSDate *)expirationDate;
+
+/// The designated initializer.
+/// @param token A Firebase App Check token.
+/// @param expirationDate A Firebase App Check token expiration date in the device local time.
+/// @param receivedAtDate A date when the Firebase App Check token was received in the device's
+/// local time.
+- (instancetype)initWithToken:(NSString *)token
+ expirationDate:(NSDate *)expirationDate
+ receivedAtDate:(NSDate *)receivedAtDate NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
new file mode 100644
index 00000000000..ab8fddfc6d6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenDelegate.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2023 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
+
+@class GACAppCheckToken;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(AppCheckCoreTokenDelegate)
+@protocol GACAppCheckTokenDelegate
+
+/// Called each time an App Check token is refreshed.
+///
+/// @param token The updated App Check token.
+/// @param serviceName A unique identifier for the App Check instance, may be a Firebase App Name
+/// or an SDK name.
+- (void)tokenDidUpdate:(GACAppCheckToken *)token serviceName:(NSString *)serviceName;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
new file mode 100644
index 00000000000..86733965cf7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACAppCheckTokenResult.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2023 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
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class GACAppCheckToken;
+
+NS_SWIFT_NAME(AppCheckCoreTokenResult)
+@interface GACAppCheckTokenResult : NSObject
+
+/// An App Check token in the case of success or a placeholder token in the case of a failure.
+@property(nonatomic, readonly) GACAppCheckToken *token;
+
+/// A token fetch error in the case of a failure or `nil` in the case of success.
+@property(nonatomic, readonly, nullable) NSError *error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token;
+
+- (instancetype)initWithError:(NSError *)error;
+
+- (instancetype)initWithToken:(GACAppCheckToken *)token
+ error:(nullable NSError *)error NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
new file mode 100644
index 00000000000..930da7867e7
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Headers/GACDeviceCheckProvider.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 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
+
+#import "GACAppCheckAvailability.h"
+#import "GACAppCheckProvider.h"
+
+@protocol GACDeviceCheckAPIServiceProtocol;
+@protocol GACDeviceCheckTokenGenerator;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Firebase App Check provider that verifies app integrity using the
+/// [DeviceCheck](https://developer.apple.com/documentation/devicecheck) API.
+/// This class is available on all platforms for select OS versions. See
+/// https://firebase.google.com/docs/ios/learn-more for more details.
+GAC_DEVICE_CHECK_PROVIDER_AVAILABILITY
+NS_SWIFT_NAME(AppCheckCoreDeviceCheckProvider)
+@interface GACDeviceCheckProvider : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/// The default initializer.
+/// @param serviceName A unique identifier to differentiate storage keys corresponding to the same
+/// `resourceName`; may be a Firebase App Name or an SDK name.
+/// @param resourceName The name of the resource protected by App Check; for a Firebase App this is
+/// "projects/{project_id}/apps/{app_id}".
+/// @param APIKey The Google Cloud Platform API key.
+/// @param requestHooks Hooks that will be invoked on requests through this service.
+/// @return An instance of `AppCheckCoreDeviceCheckProvider`.
+- (instancetype)initWithServiceName:(NSString *)serviceName
+ resourceName:(NSString *)resourceName
+ APIKey:(NSString *)APIKey
+ requestHooks:(nullable NSArray *)requestHooks;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist
new file mode 100644
index 00000000000..6024519ef86
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Info.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22G830
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AppCheckCore
+ CFBundleIdentifier
+ org.cocoapods.AppCheckCore
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AppCheckCore
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 11.0.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ WatchSimulator
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 21S355
+ DTPlatformName
+ watchsimulator
+ DTPlatformVersion
+ 10.2
+ DTSDKBuild
+ 21S355
+ DTSDKName
+ watchsimulator10.2
+ DTXcode
+ 1520
+ DTXcodeBuild
+ 15C500b
+ MinimumOSVersion
+ 100.0
+ UIDeviceFamily
+
+ 4
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap
new file mode 100644
index 00000000000..07e35551ae6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/AppCheckCore.xcframework/watchos-arm64_x86_64-simulator/AppCheckCore.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module AppCheckCore {
+umbrella header "AppCheckCore-umbrella.h"
+export *
+module * { export * }
+ link framework "Security"
+}
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/Info.plist b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/Info.plist
new file mode 100644
index 00000000000..3125e2fbc79
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/Info.plist
@@ -0,0 +1,139 @@
+
+
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ FBLPromises.framework/FBLPromises
+ LibraryIdentifier
+ ios-arm64_x86_64-simulator
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ FBLPromises.framework/FBLPromises
+ LibraryIdentifier
+ tvos-arm64_x86_64-simulator
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ tvos
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ FBLPromises.framework/FBLPromises
+ LibraryIdentifier
+ watchos-arm64_arm64_32
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+ arm64_32
+
+ SupportedPlatform
+ watchos
+
+
+ BinaryPath
+ FBLPromises.framework/FBLPromises
+ LibraryIdentifier
+ watchos-arm64_x86_64-simulator
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ watchos
+ SupportedPlatformVariant
+ simulator
+
+
+ BinaryPath
+ FBLPromises.framework/Versions/A/FBLPromises
+ LibraryIdentifier
+ macos-arm64_x86_64
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ macos
+
+
+ BinaryPath
+ FBLPromises.framework/FBLPromises
+ LibraryIdentifier
+ tvos-arm64
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ tvos
+
+
+ BinaryPath
+ FBLPromises.framework/FBLPromises
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ BinaryPath
+ FBLPromises.framework/Versions/A/FBLPromises
+ LibraryIdentifier
+ ios-arm64_x86_64-maccatalyst
+ LibraryPath
+ FBLPromises.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ maccatalyst
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises
new file mode 100644
index 00000000000..756168014ad
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises_Privacy.bundle/Info.plist b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises_Privacy.bundle/Info.plist
new file mode 100644
index 00000000000..e0e0ce0d83c
Binary files /dev/null and b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises_Privacy.bundle/Info.plist differ
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy
new file mode 100644
index 00000000000..5397adcb7b4
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/FBLPromises_Privacy.bundle/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+ NSPrivacyTrackingDomains
+
+
+
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+All.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+All.h
new file mode 100644
index 00000000000..9c0090e2426
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+All.h
@@ -0,0 +1,63 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(AllAdditions)
+
+/**
+ Wait until all of the given promises are fulfilled.
+ If one of the given promises is rejected, then the returned promise is rejected with same error.
+ If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
+ it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
+ Promises resolved with `nil` become `NSNull` instances in the resulting array.
+
+ @param promises Promises to wait for.
+ @return Promise of an array containing the values of input promises in the same order.
+ */
++ (FBLPromise *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Wait until all of the given promises are fulfilled.
+ If one of the given promises is rejected, then the returned promise is rejected with same error.
+ If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
+ it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly.
+ Promises resolved with `nil` become `NSNull` instances in the resulting array.
+
+ @param queue A queue to dispatch on.
+ @param promises Promises to wait for.
+ @return Promise of an array containing the values of input promises in the same order.
+ */
++ (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ all:(NSArray *)promises NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `all` operators.
+ Usage: FBLPromise.all(@[ ... ])
+ */
+@interface FBLPromise(DotSyntax_AllAdditions)
+
++ (FBLPromise * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h
new file mode 100644
index 00000000000..13000f5b459
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Always.h
@@ -0,0 +1,54 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(AlwaysAdditions)
+
+typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
+ @return A new pending promise to be resolved with same resolution as the receiver.
+ */
+- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param queue A queue to dispatch on.
+ @param work A block that always executes, no matter if the receiver is rejected or fulfilled.
+ @return A new pending promise to be resolved with same resolution as the receiver.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `always` operators.
+ Usage: promise.always(^{...})
+ */
+@interface FBLPromise(DotSyntax_AlwaysAdditions)
+
+- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h
new file mode 100644
index 00000000000..82875bf77ff
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Any.h
@@ -0,0 +1,69 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(AnyAdditions)
+
+/**
+ Waits until all of the given promises are either fulfilled or rejected.
+ If all promises are rejected, then the returned promise is rejected with same error
+ as the last one rejected.
+ If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
+ values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively.
+ If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
+ it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
+ Promises resolved with `nil` become `NSNull` instances in the resulting array.
+
+ @param promises Promises to wait for.
+ @return Promise of array containing the values or `NSError`s of input promises in the same order.
+ */
++ (FBLPromise *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Waits until all of the given promises are either fulfilled or rejected.
+ If all promises are rejected, then the returned promise is rejected with same error
+ as the last one rejected.
+ If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
+ values or `NSError`s, matching the original order of fulfilled or rejected promises respectively.
+ If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
+ it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
+ Promises resolved with `nil` become `NSNull` instances in the resulting array.
+
+ @param queue A queue to dispatch on.
+ @param promises Promises to wait for.
+ @return Promise of array containing the values or `NSError`s of input promises in the same order.
+ */
++ (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ any:(NSArray *)promises NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `any` operators.
+ Usage: FBLPromise.any(@[ ... ])
+ */
+@interface FBLPromise(DotSyntax_AnyAdditions)
+
++ (FBLPromise * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h
new file mode 100644
index 00000000000..0588a9eafa6
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Async.h
@@ -0,0 +1,60 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(AsyncAdditions)
+
+typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill,
+ FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise and executes `work` block asynchronously.
+
+ @param work A block to perform any operations needed to resolve the promise.
+ @return A new pending promise.
+ */
++ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise and executes `work` block asynchronously on the given queue.
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to perform any operations needed to resolve the promise.
+ @return A new pending promise.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `async` operators.
+ Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... })
+ */
+@interface FBLPromise(DotSyntax_AsyncAdditions)
+
++ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h
new file mode 100644
index 00000000000..c97a1baf41c
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Await.h
@@ -0,0 +1,32 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Waits for promise resolution. The current thread blocks until the promise is resolved.
+
+ @param promise Promise to wait for.
+ @param error Error the promise was rejected with, or `nil` if the promise was fulfilled.
+ @return Value the promise was fulfilled with. If the promise was rejected, the return value
+ is always `nil`, but the error out arg is not.
+ */
+FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise,
+ NSError **error) NS_REFINED_FOR_SWIFT;
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h
new file mode 100644
index 00000000000..a9ff170fc51
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Catch.h
@@ -0,0 +1,59 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(CatchAdditions)
+
+typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise which eventually gets resolved with same resolution as the receiver.
+ If receiver is rejected, then `reject` block is executed asynchronously.
+
+ @param reject A block to handle the error that receiver was rejected with.
+ @return A new pending promise.
+ */
+- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise which eventually gets resolved with same resolution as the receiver.
+ If receiver is rejected, then `reject` block is executed asynchronously on the given queue.
+
+ @param queue A queue to invoke the `reject` block on.
+ @param reject A block to handle the error that receiver was rejected with.
+ @return A new pending promise.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `catch` operators.
+ Usage: promise.catch(^(NSError *error) { ... })
+ */
+@interface FBLPromise(DotSyntax_CatchAdditions)
+
+- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h
new file mode 100644
index 00000000000..557df4850fb
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Delay.h
@@ -0,0 +1,59 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(DelayAdditions)
+
+/**
+ Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
+ rejects with the same error immediately.
+
+ @param interval Time to wait in seconds.
+ @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
+ with the same error immediately.
+ */
+- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
+ rejects with the same error immediately.
+
+ @param queue A queue to dispatch on.
+ @param interval Time to wait in seconds.
+ @return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
+ with the same error immediately.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `delay` operators.
+ Usage: promise.delay(...)
+ */
+@interface FBLPromise(DotSyntax_DelayAdditions)
+
+- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h
new file mode 100644
index 00000000000..6838e0adf0b
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Do.h
@@ -0,0 +1,55 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(DoAdditions)
+
+typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise and executes `work` block asynchronously.
+
+ @param work A block that returns a value or an error used to resolve the promise.
+ @return A new pending promise.
+ */
++ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise and executes `work` block asynchronously on the given queue.
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that returns a value or an error used to resolve the promise.
+ @return A new pending promise.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `do` operators.
+ Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... })
+ */
+@interface FBLPromise(DotSyntax_DoAdditions)
+
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h
new file mode 100644
index 00000000000..2f67258deac
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Race.h
@@ -0,0 +1,62 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(RaceAdditions)
+
+/**
+ Wait until any of the given promises are fulfilled.
+ If one of the promises is rejected, then the returned promise is rejected with same error.
+ If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
+ it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
+
+ @param promises Promises to wait for.
+ @return A new pending promise to be resolved with the same resolution as the first promise, among
+ the given ones, which was resolved.
+ */
++ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Wait until any of the given promises are fulfilled.
+ If one of the promises is rejected, then the returned promise is rejected with same error.
+ If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
+ it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
+
+ @param queue A queue to dispatch on.
+ @param promises Promises to wait for.
+ @return A new pending promise to be resolved with the same resolution as the first promise, among
+ the given ones, which was resolved.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `race` operators.
+ Usage: FBLPromise.race(@[ ... ])
+ */
+@interface FBLPromise(DotSyntax_RaceAdditions)
+
++ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h
new file mode 100644
index 00000000000..bb7df7ecfa3
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Recover.h
@@ -0,0 +1,60 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(RecoverAdditions)
+
+typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Provides a new promise to recover in case the receiver gets rejected.
+
+ @param recovery A block to handle the error that the receiver was rejected with.
+ @return A new pending promise to use instead of the rejected one that gets resolved with resolution
+ returned from `recovery` block.
+ */
+- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Provides a new promise to recover in case the receiver gets rejected.
+
+ @param queue A queue to dispatch on.
+ @param recovery A block to handle the error that the receiver was rejected with.
+ @return A new pending promise to use instead of the rejected one that gets resolved with resolution
+ returned from `recovery` block.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `recover` operators.
+ Usage: promise.recover(^id(NSError *error) {...})
+ */
+@interface FBLPromise(DotSyntax_RecoverAdditions)
+
+- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
new file mode 100644
index 00000000000..5bb1eeee47d
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Reduce.h
@@ -0,0 +1,71 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(ReduceAdditions)
+
+typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next)
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Sequentially reduces a collection of values to a single promise using a given combining block
+ and the value `self` resolves with as initial value.
+
+ @param items An array of values to process in order.
+ @param reducer A block to combine an accumulating value and an element of the sequence into
+ the new accumulating value or a promise resolved with it, to be used in the next
+ call of the `reducer` or returned to the caller.
+ @return A new pending promise returned from the last `reducer` invocation.
+ Or `self` if `items` is empty.
+ */
+- (FBLPromise *)reduce:(NSArray *)items
+ combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Sequentially reduces a collection of values to a single promise using a given combining block
+ and the value `self` resolves with as initial value.
+
+ @param queue A queue to dispatch on.
+ @param items An array of values to process in order.
+ @param reducer A block to combine an accumulating value and an element of the sequence into
+ the new accumulating value or a promise resolved with it, to be used in the next
+ call of the `reducer` or returned to the caller.
+ @return A new pending promise returned from the last `reducer` invocation.
+ Or `self` if `items` is empty.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ reduce:(NSArray *)items
+ combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators.
+ Usage: promise.reduce(values, ^id(id partial, id next) { ... })
+ */
+@interface FBLPromise(DotSyntax_ReduceAdditions)
+
+- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn
+ FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h
new file mode 100644
index 00000000000..414a17a29ae
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Retry.h
@@ -0,0 +1,165 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The default number of retry attempts is 1. */
+FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
+
+/** The default delay interval before making a retry attempt is 1.0 second. */
+FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise(RetryAdditions)
+
+typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
+typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
+ `work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+ error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+ block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
+ rejection where the `work` block is retried on the given `queue` after a delay of
+ `FBLPromiseRetryDefaultDelayInterval` second(s).
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+ error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+ block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+ count is less than or equal to zero.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+ error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+ block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)attempts:(NSInteger)count
+ retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+ count is less than or equal to zero.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+ error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+ block, or rejects with the same error after all retry attempts have been exhausted.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ attempts:(NSInteger)count
+ retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously, or rejects with the same error after all retry attempts have
+ been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
+ continue to retry until the number of specified attempts have been exhausted or will bail early if
+ the given condition is not met.
+
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+ count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+ the number of remaining retry attempts and the error that the promise was rejected
+ with.
+ @param work A block that executes asynchronously on the default queue and returns a value or an
+ error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+ block, or rejects with the same error after all retry attempts have been exhausted or if
+ the given condition is not met.
+ */
++ (instancetype)attempts:(NSInteger)count
+ delay:(NSTimeInterval)interval
+ condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+ retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise that fulfills with the same value as the promise returned from `work`
+ block, which executes asynchronously on the given `queue`, or rejects with the same error after all
+ retry attempts have been exhausted. On rejection, the `work` block is retried after the given
+ delay `interval` and will continue to retry until the number of specified attempts have been
+ exhausted or will bail early if the given condition is not met.
+
+ @param queue A queue to invoke the `work` block on.
+ @param count Max number of retry attempts. The `work` block will be executed once if the specified
+ count is less than or equal to zero.
+ @param interval Time to wait before the next retry attempt.
+ @param predicate Condition to check before the next retry attempt. The predicate block provides the
+ the number of remaining retry attempts and the error that the promise was rejected
+ with.
+ @param work A block that executes asynchronously on the given `queue` and returns a value or an
+ error used to resolve the promise.
+ @return A new pending promise that fulfills with the same value as the promise returned from `work`
+ block, or rejects with the same error after all retry attempts have been exhausted or if
+ the given condition is not met.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ attempts:(NSInteger)count
+ delay:(NSTimeInterval)interval
+ condition:(nullable FBLPromiseRetryPredicateBlock)predicate
+ retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
+ Usage: FBLPromise.retry(^id { ... })
+ */
+@interface FBLPromise(DotSyntax_RetryAdditions)
+
++ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
+ FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
++ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
+ FBLPromiseRetryPredicateBlock __nullable,
+ FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h
new file mode 100644
index 00000000000..8478ae22933
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Testing.h
@@ -0,0 +1,57 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Waits for all scheduled promises blocks.
+
+ @param timeout Maximum time to wait.
+ @return YES if all promises blocks have completed before the timeout and NO otherwise.
+ */
+FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT;
+
+@interface FBLPromise(TestingAdditions)
+
+/**
+ Dispatch group for promises that is typically used to wait for all scheduled blocks.
+ */
+@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT;
+
+/**
+ Properties to get the current state of the promise.
+ */
+@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT;
+@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT;
+@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT;
+
+/**
+ Value the promise was fulfilled with.
+ Can be nil if the promise is still pending, was resolved with nil or after it has been rejected.
+ */
+@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT;
+
+/**
+ Error the promise was rejected with.
+ Can be nil if the promise is still pending or after it has been fulfilled.
+ */
+@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h
new file mode 100644
index 00000000000..32027e69738
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Then.h
@@ -0,0 +1,63 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(ThenAdditions)
+
+typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise which eventually gets resolved with resolution returned from `work`
+ block: either value, error or another promise. The `work` block is executed asynchronously only
+ when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with
+ the same error.
+
+ @param work A block to handle the value that receiver was fulfilled with.
+ @return A new pending promise to be resolved with resolution returned from the `work` block.
+ */
+- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Creates a pending promise which eventually gets resolved with resolution returned from `work`
+ block: either value, error or another promise. The `work` block is executed asynchronously when the
+ receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same
+ error.
+
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to handle the value that receiver was fulfilled with.
+ @return A new pending promise to be resolved with resolution returned from the `work` block.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `then` operators.
+ Usage: promise.then(^id(id value) { ... })
+ */
+@interface FBLPromise(DotSyntax_ThenAdditions)
+
+- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
new file mode 100644
index 00000000000..184ba166fa3
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Timeout.h
@@ -0,0 +1,57 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(TimeoutAdditions)
+
+/**
+ Waits for a promise with the specified `timeout`.
+
+ @param interval Time to wait in seconds.
+ @return A new pending promise that gets either resolved with same resolution as the receiver or
+ rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
+ */
+- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Waits for a promise with the specified `timeout`.
+
+ @param queue A queue to dispatch on.
+ @param interval Time to wait in seconds.
+ @return A new pending promise that gets either resolved with same resolution as the receiver or
+ rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators.
+ Usage: promise.timeout(...)
+ */
+@interface FBLPromise(DotSyntax_TimeoutAdditions)
+
+- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h
new file mode 100644
index 00000000000..9dfa2f16ae4
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Validate.h
@@ -0,0 +1,60 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface FBLPromise(ValidateAdditions)
+
+typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Validates a fulfilled value or rejects the value if it can not be validated.
+
+ @param predicate An expression to validate.
+ @return A new pending promise that gets either resolved with same resolution as the receiver or
+ rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
+ */
+- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Validates a fulfilled value or rejects the value if it can not be validated.
+
+ @param queue A queue to dispatch on.
+ @param predicate An expression to validate.
+ @return A new pending promise that gets either resolved with same resolution as the receiver or
+ rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
+ */
+- (FBLPromise *)onQueue:(dispatch_queue_t)queue
+ validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
+
+@end
+
+/**
+ Convenience dot-syntax wrappers for `FBLPromise` `validate` operators.
+ Usage: promise.validate(^BOOL(id value) { ... })
+ */
+@interface FBLPromise(DotSyntax_ValidateAdditions)
+
+- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
+ NS_SWIFT_UNAVAILABLE("");
+- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn
+ FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
new file mode 100644
index 00000000000..664e1bbffbf
--- /dev/null
+++ b/FirebaseVertexAI/Sample/Frameworks/FBLPromises.xcframework/ios-arm64/FBLPromises.framework/Headers/FBLPromise+Wrap.h
@@ -0,0 +1,316 @@
+/**
+ Copyright 2018 Google Inc. All rights reserved.
+
+ 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 "FBLPromise.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Different types of completion handlers available to be wrapped with promise.
+ */
+typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
+ NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
+ NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable,
+ NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable)
+ NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE("");
+typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable)
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ Provides an easy way to convert methods that use common callback patterns into promises.
+ */
+@interface FBLPromise(WrapAdditions)
+
+/**
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with `nil` when completion handler is invoked.
+ */
++ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with `nil` when completion handler is invoked.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an object provided by completion handler.
+ */
++ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an object provided by completion handler.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an error provided by completion handler.
+ If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
+ */
++ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an error provided by completion handler.
+ If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an object provided by completion handler if error is `nil`.
+ Otherwise, rejects with the error.
+ */
++ (instancetype)wrapObjectOrErrorCompletion:
+ (void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an object provided by completion handler if error is `nil`.
+ Otherwise, rejects with the error.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an error or object provided by completion handler. If error
+ is not `nil`, rejects with the error.
+ */
++ (instancetype)wrapErrorOrObjectCompletion:
+ (void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param queue A queue to invoke the `work` block on.
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an error or object provided by completion handler. If error
+ is not `nil`, rejects with the error.
+ */
++ (instancetype)onQueue:(dispatch_queue_t)queue
+ wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work
+ NS_SWIFT_UNAVAILABLE("");
+
+/**
+ @param work A block to perform any operations needed to resolve the promise.
+ @returns A promise that resolves with an array of objects provided by completion handler in order
+ if error is `nil`. Otherwise, rejects with the error.
+ */
++ (FBLPromise