From dd4d7d0a067b7f8e78189edc21248eb97b992cf2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 17:47:57 +0000 Subject: [PATCH 1/3] Update dependency firebase/firebase-ios-sdk to v12 --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 2392491..ef52a39 100644 --- a/Package.swift +++ b/Package.swift @@ -17,7 +17,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/fumito-ito/FunctionCalling", from: "0.5.0"), - .package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "11.15.0") + .package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "12.1.0") ], targets: [ // Targets are the basic building blocks of a package, defining a module or a test suite. From e6b619d411a97d9d596bfca0db9bd6611b1174d2 Mon Sep 17 00:00:00 2001 From: Fumito Ito Date: Wed, 6 Aug 2025 00:01:20 +0900 Subject: [PATCH 2/3] use FirebaseAI instead of FirebaseVertexAI --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index ef52a39..a32efa1 100644 --- a/Package.swift +++ b/Package.swift @@ -26,7 +26,7 @@ let package = Package( name: "FunctionCalling-FirebaseVertexAI", dependencies: [ .product(name: "FunctionCalling", package: "FunctionCalling"), - .product(name: "FirebaseVertexAI", package: "firebase-ios-sdk") + .product(name: "FirebaseAI", package: "firebase-ios-sdk") ] ), .testTarget( From fc5874bf220f8973a41076ee76aaf234e3902d3e Mon Sep 17 00:00:00 2001 From: Fumito Ito Date: Wed, 6 Aug 2025 00:30:06 +0900 Subject: [PATCH 3/3] fix build errors --- .../Extension/FirebaseAI+Extension.swift | 13 +++++++++++++ .../Extension/InputSchema+Extension.swift | 8 ++++---- .../Extension/Tool+Extension.swift | 6 +++--- .../FunctionCalling_FirebaseVertexAI.swift | 7 +++---- 4 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 Sources/FunctionCalling-FirebaseVertexAI/Extension/FirebaseAI+Extension.swift diff --git a/Sources/FunctionCalling-FirebaseVertexAI/Extension/FirebaseAI+Extension.swift b/Sources/FunctionCalling-FirebaseVertexAI/Extension/FirebaseAI+Extension.swift new file mode 100644 index 0000000..8ae7ed4 --- /dev/null +++ b/Sources/FunctionCalling-FirebaseVertexAI/Extension/FirebaseAI+Extension.swift @@ -0,0 +1,13 @@ +// +// FirebaseAI+Extension.swift +// FunctionCalling-FirebaseVertexAI +// +// Created by 伊藤史 on 2025/08/06. +// + +import FirebaseAI + +// FIXME: "Since specifying FirebaseAI.Tool results in the error 'Tool' is not a +// member type of class 'FirebaseAI.FirebaseAI', I have no choice but to +// specify a typealias +public typealias FirebaseAITool = Tool diff --git a/Sources/FunctionCalling-FirebaseVertexAI/Extension/InputSchema+Extension.swift b/Sources/FunctionCalling-FirebaseVertexAI/Extension/InputSchema+Extension.swift index 28c6b6c..4ece6a0 100644 --- a/Sources/FunctionCalling-FirebaseVertexAI/Extension/InputSchema+Extension.swift +++ b/Sources/FunctionCalling-FirebaseVertexAI/Extension/InputSchema+Extension.swift @@ -6,10 +6,10 @@ // import FunctionCalling -import FirebaseVertexAI +import FirebaseAI extension FunctionCalling.InputSchema { - var toSchema: FirebaseVertexAI.Schema { + var toSchema: Schema { switch type { case .string: return .string( @@ -59,7 +59,7 @@ extension FunctionCalling.InputSchema { } extension Optional { - var toStringFormat: FirebaseVertexAI.Schema.StringFormat? { + var toStringFormat: Schema.StringFormat? { guard let format = self else { return nil } @@ -67,7 +67,7 @@ extension Optional { return .custom(format) } - var toIntegerFormat: FirebaseVertexAI.Schema.IntegerFormat? { + var toIntegerFormat: Schema.IntegerFormat? { guard let format = self else { return nil } diff --git a/Sources/FunctionCalling-FirebaseVertexAI/Extension/Tool+Extension.swift b/Sources/FunctionCalling-FirebaseVertexAI/Extension/Tool+Extension.swift index 8a50960..755094a 100644 --- a/Sources/FunctionCalling-FirebaseVertexAI/Extension/Tool+Extension.swift +++ b/Sources/FunctionCalling-FirebaseVertexAI/Extension/Tool+Extension.swift @@ -6,11 +6,11 @@ // import FunctionCalling -import FirebaseVertexAI +import FirebaseAI extension FunctionCalling.Tool { - var toFunctionDeclaration: FirebaseVertexAI.FunctionDeclaration { - let parameters: [String: FirebaseVertexAI.Schema] = { + var toFunctionDeclaration: FunctionDeclaration { + let parameters: [String: Schema] = { guard let properties = inputSchema.properties else { return [:] } diff --git a/Sources/FunctionCalling-FirebaseVertexAI/FunctionCalling_FirebaseVertexAI.swift b/Sources/FunctionCalling-FirebaseVertexAI/FunctionCalling_FirebaseVertexAI.swift index cf3f4af..856cf7a 100644 --- a/Sources/FunctionCalling-FirebaseVertexAI/FunctionCalling_FirebaseVertexAI.swift +++ b/Sources/FunctionCalling-FirebaseVertexAI/FunctionCalling_FirebaseVertexAI.swift @@ -6,15 +6,14 @@ // import FunctionCalling -import FirebaseVertexAI -import Foundation +import FirebaseAI extension ToolContainer { - public var firebaseVertexAITools: [FirebaseVertexAI.Tool] { + public var firebaseVertexAITools: [FirebaseAITool] { guard let declarations = allTools?.compactMap({ $0.toFunctionDeclaration }) else { return [.functionDeclarations([])] } - return [FirebaseVertexAI.Tool.functionDeclarations(declarations)] + return [FirebaseAITool.functionDeclarations(declarations)] } }