Build Information
Failed to build swift-gemini-api, reference main (bdc5cf), with Swift 6.4 for iOS using Xcode 27.0 on 24 Sep 2026 00:28:00 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme swift-gemini-api -destination generic/platform=iOSBuild Log
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onSetupComplete: ((Bool) -> Void)?
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:27:49: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
25 | public var onSetupComplete: ((Bool) -> Void)?
26 |
27 | private var socket: URLSessionWebSocketTask?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _socket: URLSessionWebSocketTask?
+-------------------------------------------------------------------
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:28:36: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
26 |
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _apiKey: String = ""
+-------------------------------------------------------------------
29 | private var urlSession: URLSession?
30 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:29:40: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _urlSession: URLSession?
+-------------------------------------------------------------------
30 |
31 | private let audioPlayer = StreamingAudioPlayer()
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:33:58: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
31 | private let audioPlayer = StreamingAudioPlayer()
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onOutputTranscription: ((String) -> Void)?
+-------------------------------------------------------------------
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:34:57: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onInputTranscription: ((String) -> Void)?
+-------------------------------------------------------------------
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:35:90: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onToolCall: ((_ name: String, _ id: String, _ args: [String: Any]) -> Void)?
+-------------------------------------------------------------------
36 |
37 | public var mute:Bool = false
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:37:33: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
37 | public var mute:Bool = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _mute: Bool = false
+-------------------------------------------------------------------
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:38:38: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
36 |
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _playAudio: Bool = true
+-------------------------------------------------------------------
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:39:45: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _input_audio_transcription = true
+-------------------------------------------------------------------
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:40:46: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _output_audio_transcription = true
+-------------------------------------------------------------------
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:41:44: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _response_modalities = ["AUDIO"]
+-------------------------------------------------------------------
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:42:31: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _candidateCount = 1
+-------------------------------------------------------------------
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:43:35: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _maxOutputTokens = 1024 // 256 // 256 // 256
+-------------------------------------------------------------------
44 | public var temperature = 0.7
45 | public var topP = 1
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:44:30: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _temperature = 0.7
+-------------------------------------------------------------------
45 | public var topP = 1
46 | public var topK = 0
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:45:24: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
45 | public var topP = 1
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _topP = 1
+-------------------------------------------------------------------
46 | public var topK = 0
47 | public var enable_affective_dialog = false
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:46:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
44 | public var temperature = 0.7
45 | public var topP = 1
46 | public var topK = 0
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _topK = 0
+-------------------------------------------------------------------
47 | public var enable_affective_dialog = false
48 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:47:44: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
45 | public var topP = 1
46 | public var topK = 0
47 | public var enable_affective_dialog = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _enable_affective_dialog = false
+-------------------------------------------------------------------
48 |
49 | let systemPrompt: String
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:52:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
50 |
51 | let model: String
52 | var host: String
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _host: String
+-------------------------------------------------------------------
53 | var version: String
54 | var language: Language
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:53:24: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
51 | let model: String
52 | var host: String
53 | var version: String
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _version: String
+-------------------------------------------------------------------
54 | var language: Language
55 | var voice: Voice
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:54:27: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
52 | var host: String
53 | var version: String
54 | var language: Language
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _language: Language
+-------------------------------------------------------------------
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:55:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
53 | var version: String
54 | var language: Language
55 | var voice: Voice
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _voice: Voice
+-------------------------------------------------------------------
56 | var enableGoogleSearch: Bool
57 | let verbose: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:56:33: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
54 | var language: Language
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _enableGoogleSearch: Bool
+-------------------------------------------------------------------
57 | let verbose: Bool
58 | let automaticActivityDetection: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:61:37: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
59 | let proactive_audio: Bool
60 |
61 | private var disconnected = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _disconnected = false
+-------------------------------------------------------------------
62 |
63 | public init(
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:377:41: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
375 | }
376 |
377 | var functionDeclarations: [Any] = []
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _functionDeclarations: [Any] = []
+-------------------------------------------------------------------
378 |
379 | public func addFunctionDeclarations(_ f:[String: Any] = [
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:550:1: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on class 'GeminiLiveClient' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
548 | }
549 | }
550 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in iOS 17.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s16swift_gemini_api16GeminiLiveClient10ObservablefMm_6MemberfMu_>(
+-------------------------------------------------------------------
551 |
552 | public actor Setup {
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:17:2: error: 'Observable()' is only available in iOS 17.0 or newer
15 | import Foundation
16 |
17 | @Observable
| `- error: 'Observable()' is only available in iOS 17.0 or newer
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
macro expansion @ObservationTracked:2:14: warning: stored property '_onSetupComplete' of 'Sendable'-conforming class 'GeminiLiveClient' is mutable
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:25:47: note: expanded code originates here
23 |
24 | public let setup = Setup()
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
|2 | private var _onSetupComplete: ((Bool) -> Void)?
| | `- warning: stored property '_onSetupComplete' of 'Sendable'-conforming class 'GeminiLiveClient' is mutable
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
Failed frontend command:
SwiftCompile normal arm64 (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioBufferData.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioFormat.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiAPI.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Language.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Retry.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingAudioPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingWAVWriter.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Voice.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/VoiceUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/audio.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/embedding.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/error.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/files.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/image.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/speech.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/text.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/video.swift -target arm64-apple-ios15.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/iphoneos27.0-24A430-e829b21a6f8c9b70876ba0858053c04440ceaa042ed91876912b2eeea4e3aa14.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name swift_gemini_api -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-ios27.0 -target-sdk-version 27.0 -target-sdk-name iphoneos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.abi.json
SwiftCompile normal arm64 Compiling\ error.swift,\ files.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/error.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/files.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/error.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile error.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/files.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile files.swift
SwiftCompile normal arm64 Compiling\ text.swift,\ video.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/text.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/video.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/text.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile text.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/video.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile video.swift
SwiftCompile normal arm64 Compiling\ image.swift,\ speech.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/image.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/speech.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/image.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile image.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/speech.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile speech.swift
SwiftCompile normal arm64 Compiling\ audio.swift,\ embedding.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/audio.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/embedding.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/audio.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile audio.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/embedding.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile embedding.swift
SwiftCompile normal arm64 Compiling\ Voice.swift,\ VoiceUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Voice.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/VoiceUtils.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Voice.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Voice.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/VoiceUtils.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile VoiceUtils.swift
SwiftCompile normal arm64 Compiling\ Language.swift,\ Retry.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Language.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Retry.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Language.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Language.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Retry.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Retry.swift
SwiftCompile normal arm64 Compiling\ AudioBufferData.swift,\ AudioFormat.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioBufferData.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioFormat.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioBufferData.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioBufferData.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioFormat.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioFormat.swift
SwiftCompile normal arm64 Compiling\ StreamingAudioPlayer.swift,\ StreamingWAVWriter.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingAudioPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingWAVWriter.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingAudioPlayer.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StreamingAudioPlayer.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingWAVWriter.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StreamingWAVWriter.swift
SwiftCompile normal arm64 Compiling\ AudioRecorder.swift,\ AudioRecorderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorderProtocol.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:147:40: error: cannot find type 'AudioDeviceID' in scope
145 | }
146 |
147 | func getDeviceSampleRate(deviceID: AudioDeviceID) -> Double? {
| `- error: cannot find type 'AudioDeviceID' in scope
148 | var address = AudioObjectPropertyAddress(
149 | mSelector: kAudioDevicePropertyNominalSampleRate,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:148:23: error: cannot find 'AudioObjectPropertyAddress' in scope
146 |
147 | func getDeviceSampleRate(deviceID: AudioDeviceID) -> Double? {
148 | var address = AudioObjectPropertyAddress(
| `- error: cannot find 'AudioObjectPropertyAddress' in scope
149 | mSelector: kAudioDevicePropertyNominalSampleRate,
150 | mScope: kAudioObjectPropertyScopeGlobal,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:149:24: error: cannot find 'kAudioDevicePropertyNominalSampleRate' in scope
147 | func getDeviceSampleRate(deviceID: AudioDeviceID) -> Double? {
148 | var address = AudioObjectPropertyAddress(
149 | mSelector: kAudioDevicePropertyNominalSampleRate,
| `- error: cannot find 'kAudioDevicePropertyNominalSampleRate' in scope
150 | mScope: kAudioObjectPropertyScopeGlobal,
151 | mElement: kAudioObjectPropertyElementMain
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:150:21: error: cannot find 'kAudioObjectPropertyScopeGlobal' in scope
148 | var address = AudioObjectPropertyAddress(
149 | mSelector: kAudioDevicePropertyNominalSampleRate,
150 | mScope: kAudioObjectPropertyScopeGlobal,
| `- error: cannot find 'kAudioObjectPropertyScopeGlobal' in scope
151 | mElement: kAudioObjectPropertyElementMain
152 | )
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:151:23: error: cannot find 'kAudioObjectPropertyElementMain' in scope
149 | mSelector: kAudioDevicePropertyNominalSampleRate,
150 | mScope: kAudioObjectPropertyScopeGlobal,
151 | mElement: kAudioObjectPropertyElementMain
| `- error: cannot find 'kAudioObjectPropertyElementMain' in scope
152 | )
153 |
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:157:22: error: cannot find 'AudioObjectGetPropertyData' in scope
155 | var size = UInt32(MemoryLayout.size(ofValue: rate))
156 |
157 | let status = AudioObjectGetPropertyData(deviceID, &address, 0, nil, &size, &rate)
| `- error: cannot find 'AudioObjectGetPropertyData' in scope
158 | return status == noErr ? rate : nil
159 | }
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:216:24: error: cannot find 'AudioDeviceID' in scope
214 |
215 | // Choose input device (default input)
216 | var deviceID = AudioDeviceID(0)
| `- error: cannot find 'AudioDeviceID' in scope
217 | var propertySize = UInt32(MemoryLayout<AudioDeviceID>.size)
218 | var address = AudioObjectPropertyAddress(
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:217:48: error: cannot find type 'AudioDeviceID' in scope
215 | // Choose input device (default input)
216 | var deviceID = AudioDeviceID(0)
217 | var propertySize = UInt32(MemoryLayout<AudioDeviceID>.size)
| `- error: cannot find type 'AudioDeviceID' in scope
218 | var address = AudioObjectPropertyAddress(
219 | mSelector: kAudioHardwarePropertyDefaultInputDevice,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:218:23: error: cannot find 'AudioObjectPropertyAddress' in scope
216 | var deviceID = AudioDeviceID(0)
217 | var propertySize = UInt32(MemoryLayout<AudioDeviceID>.size)
218 | var address = AudioObjectPropertyAddress(
| `- error: cannot find 'AudioObjectPropertyAddress' in scope
219 | mSelector: kAudioHardwarePropertyDefaultInputDevice,
220 | mScope: kAudioObjectPropertyScopeGlobal,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:219:24: error: cannot find 'kAudioHardwarePropertyDefaultInputDevice' in scope
217 | var propertySize = UInt32(MemoryLayout<AudioDeviceID>.size)
218 | var address = AudioObjectPropertyAddress(
219 | mSelector: kAudioHardwarePropertyDefaultInputDevice,
| `- error: cannot find 'kAudioHardwarePropertyDefaultInputDevice' in scope
220 | mScope: kAudioObjectPropertyScopeGlobal,
221 | mElement: kAudioObjectPropertyElementMain
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:220:21: error: cannot find 'kAudioObjectPropertyScopeGlobal' in scope
218 | var address = AudioObjectPropertyAddress(
219 | mSelector: kAudioHardwarePropertyDefaultInputDevice,
220 | mScope: kAudioObjectPropertyScopeGlobal,
| `- error: cannot find 'kAudioObjectPropertyScopeGlobal' in scope
221 | mElement: kAudioObjectPropertyElementMain
222 | )
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:221:23: error: cannot find 'kAudioObjectPropertyElementMain' in scope
219 | mSelector: kAudioHardwarePropertyDefaultInputDevice,
220 | mScope: kAudioObjectPropertyScopeGlobal,
221 | mElement: kAudioObjectPropertyElementMain
| `- error: cannot find 'kAudioObjectPropertyElementMain' in scope
222 | )
223 |
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:224:18: error: cannot find 'AudioObjectGetPropertyData' in scope
222 | )
223 |
224 | status = AudioObjectGetPropertyData(
| `- error: cannot find 'AudioObjectGetPropertyData' in scope
225 | AudioObjectID(kAudioObjectSystemObject),
226 | &address,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:225:13: error: cannot find 'AudioObjectID' in scope
223 |
224 | status = AudioObjectGetPropertyData(
225 | AudioObjectID(kAudioObjectSystemObject),
| `- error: cannot find 'AudioObjectID' in scope
226 | &address,
227 | 0,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:225:27: error: cannot find 'kAudioObjectSystemObject' in scope
223 |
224 | status = AudioObjectGetPropertyData(
225 | AudioObjectID(kAudioObjectSystemObject),
| `- error: cannot find 'kAudioObjectSystemObject' in scope
226 | &address,
227 | 0,
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioRecorder.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorderProtocol.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioRecorderProtocol.swift
SwiftCompile normal arm64 Compiling\ GeminiAPI.swift,\ GeminiLiveClient.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiAPI.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiAPI.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiAPI.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiLiveClient.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-23 20:27:49.761 xcodebuild[628:3878] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64 (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftEmitModule normal arm64 Emitting\ module\ for\ swift_gemini_api (in target 'swift-gemini-api' from project 'swift-gemini-api')
Building workspace swift-gemini-api with scheme swift-gemini-api
(3 failures)
Command line invocation:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
swift-gemini-api: /Users/admin/builder/spi-builder-workspace
resolved source packages: swift-gemini-api
2026-09-23 20:27:56.924 xcodebuild[770:4596] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
"dependencies" : [
],
"manifest_display_name" : "swift-gemini-api",
"name" : "swift-gemini-api",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "swift-gemini-api",
"targets" : [
"swift-gemini-api"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "swift_gemini_api",
"module_type" : "SwiftTarget",
"name" : "swift-gemini-api",
"path" : "Sources/swift-gemini-api",
"product_memberships" : [
"swift-gemini-api"
],
"sources" : [
"AudioBufferData.swift",
"AudioFormat.swift",
"AudioRecorder.swift",
"AudioRecorderProtocol.swift",
"GeminiAPI.swift",
"GeminiLiveClient.swift",
"Language.swift",
"Retry.swift",
"StreamingAudioPlayer.swift",
"StreamingWAVWriter.swift",
"Voice.swift",
"VoiceUtils.swift",
"modalities/audio.swift",
"modalities/embedding.swift",
"modalities/error.swift",
"modalities/files.swift",
"modalities/image.swift",
"modalities/speech.swift",
"modalities/text.swift",
"modalities/video.swift"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
{
"workspace" : {
"name" : "swift-gemini-api",
"schemes" : [
"swift-gemini-api"
]
}
}
2026-09-23 20:27:58.208 xcodebuild[778:4668] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme swift-gemini-api -destination generic/platform=iOS
Command line invocation:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme swift-gemini-api -destination generic/platform=iOS
Resolve Package Graph
Resolved source packages:
swift-gemini-api: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
Target 'swift-gemini-api-product' in project 'swift-gemini-api'
➜ Explicit dependency on target 'swift-gemini-api' in project 'swift-gemini-api'
Target 'swift-gemini-api' in project 'swift-gemini-api' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/iphoneos27.0-24A430-e829b21a6f8c9b70876ba0858053c04440ceaa042ed91876912b2eeea4e3aa14.sdkstatcache
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/iphoneos27.0-24A430-e829b21a6f8c9b70876ba0858053c04440ceaa042ed91876912b2eeea4e3aa14.sdkstatcache
SwiftDriver swift-gemini-api normal arm64 com.apple.xcode.tools.swift.compiler (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name swift_gemini_api -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk -target arm64-apple-ios15.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 6 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/iphoneos27.0-24A430-e829b21a6f8c9b70876ba0858053c04440ceaa042ed91876912b2eeea4e3aa14.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ GeminiAPI.swift,\ GeminiLiveClient.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiAPI.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:17:2: error: 'Observable()' is only available in iOS 17.0 or newer
15 | import Foundation
16 |
17 | @Observable
| `- error: 'Observable()' is only available in iOS 17.0 or newer
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
19 | private let audioDataChunks = AudioDataBuffer()
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:25:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onSetupComplete' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
23 |
24 | public let setup = Setup()
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:27:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'socket' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
25 | public var onSetupComplete: ((Bool) -> Void)?
26 |
27 | private var socket: URLSessionWebSocketTask?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:28:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'apiKey' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
26 |
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
29 | private var urlSession: URLSession?
30 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:29:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'urlSession' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
30 |
31 | private let audioPlayer = StreamingAudioPlayer()
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:33:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onOutputTranscription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
31 | private let audioPlayer = StreamingAudioPlayer()
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:34:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onInputTranscription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:35:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onToolCall' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
36 |
37 | public var mute:Bool = false
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:37:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'mute' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
37 | public var mute:Bool = false
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:38:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'playAudio' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
36 |
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:39:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'input_audio_transcription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:40:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'output_audio_transcription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:41:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'response_modalities' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:42:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'candidateCount' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:43:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'maxOutputTokens' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
44 | public var temperature = 0.7
45 | public var topP = 1
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:44:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'temperature' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
45 | public var topP = 1
46 | public var topK = 0
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:45:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'topP' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
45 | public var topP = 1
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
46 | public var topK = 0
47 | public var enable_affective_dialog = false
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:46:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'topK' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
44 | public var temperature = 0.7
45 | public var topP = 1
46 | public var topK = 0
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
47 | public var enable_affective_dialog = false
48 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:47:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'enable_affective_dialog' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
45 | public var topP = 1
46 | public var topK = 0
47 | public var enable_affective_dialog = false
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
48 |
49 | let systemPrompt: String
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:52:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'host' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
50 |
51 | let model: String
52 | var host: String
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
53 | var version: String
54 | var language: Language
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:53:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'version' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
51 | let model: String
52 | var host: String
53 | var version: String
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
54 | var language: Language
55 | var voice: Voice
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:54:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'language' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
52 | var host: String
53 | var version: String
54 | var language: Language
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:55:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'voice' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
53 | var version: String
54 | var language: Language
55 | var voice: Voice
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
56 | var enableGoogleSearch: Bool
57 | let verbose: Bool
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:56:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'enableGoogleSearch' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
54 | var language: Language
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
57 | let verbose: Bool
58 | let automaticActivityDetection: Bool
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:61:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'disconnected' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
59 | let proactive_audio: Bool
60 |
61 | private var disconnected = false
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
62 |
63 | public init(
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:377:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'functionDeclarations' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
375 | }
376 |
377 | var functionDeclarations: [Any] = []
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
378 |
379 | public func addFunctionDeclarations(_ f:[String: Any] = [
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:550:1: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on class 'GeminiLiveClient' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
548 | }
549 | }
550 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s16swift_gemini_api16GeminiLiveClient10ObservablefMm_6MemberfMu_>(
+-------------------------------------------------------------------
551 |
552 | public actor Setup {
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:25:47: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
23 |
24 | public let setup = Setup()
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onSetupComplete: ((Bool) -> Void)?
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:27:49: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
25 | public var onSetupComplete: ((Bool) -> Void)?
26 |
27 | private var socket: URLSessionWebSocketTask?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _socket: URLSessionWebSocketTask?
+-------------------------------------------------------------------
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:28:36: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
26 |
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _apiKey: String = ""
+-------------------------------------------------------------------
29 | private var urlSession: URLSession?
30 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:29:40: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _urlSession: URLSession?
+-------------------------------------------------------------------
30 |
31 | private let audioPlayer = StreamingAudioPlayer()
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:33:58: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
31 | private let audioPlayer = StreamingAudioPlayer()
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onOutputTranscription: ((String) -> Void)?
+-------------------------------------------------------------------
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:34:57: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onInputTranscription: ((String) -> Void)?
+-------------------------------------------------------------------
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:35:90: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onToolCall: ((_ name: String, _ id: String, _ args: [String: Any]) -> Void)?
+-------------------------------------------------------------------
36 |
37 | public var mute:Bool = false
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:37:33: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
37 | public var mute:Bool = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _mute: Bool = false
+-------------------------------------------------------------------
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:38:38: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
36 |
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _playAudio: Bool = true
+-------------------------------------------------------------------
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:39:45: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _input_audio_transcription = true
+-------------------------------------------------------------------
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:40:46: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _output_audio_transcription = true
+-------------------------------------------------------------------
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:41:44: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _response_modalities = ["AUDIO"]
+-------------------------------------------------------------------
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:42:31: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _candidateCount = 1
+-------------------------------------------------------------------
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:43:35: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _maxOutputTokens = 1024 // 256 // 256 // 256
+-------------------------------------------------------------------
44 | public var temperature = 0.7
45 | public var topP = 1
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:44:30: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _temperature = 0.7
+-------------------------------------------------------------------
45 | public var topP = 1
46 | public var topK = 0
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:45:24: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
45 | public var topP = 1
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _topP = 1
+-------------------------------------------------------------------
46 | public var topK = 0
47 | public var enable_affective_dialog = false
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:46:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
44 | public var temperature = 0.7
45 | public var topP = 1
46 | public var topK = 0
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _topK = 0
+-------------------------------------------------------------------
47 | public var enable_affective_dialog = false
48 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:47:44: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
45 | public var topP = 1
46 | public var topK = 0
47 | public var enable_affective_dialog = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _enable_affective_dialog = false
+-------------------------------------------------------------------
48 |
49 | let systemPrompt: String
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiAPI.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiAPI.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiLiveClient.swift
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:52:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
50 |
51 | let model: String
52 | var host: String
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _host: String
+-------------------------------------------------------------------
53 | var version: String
54 | var language: Language
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:53:24: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
51 | let model: String
52 | var host: String
53 | var version: String
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _version: String
+-------------------------------------------------------------------
54 | var language: Language
55 | var voice: Voice
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:54:27: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
52 | var host: String
53 | var version: String
54 | var language: Language
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _language: Language
+-------------------------------------------------------------------
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:55:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
53 | var version: String
54 | var language: Language
55 | var voice: Voice
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _voice: Voice
+-------------------------------------------------------------------
56 | var enableGoogleSearch: Bool
57 | let verbose: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:56:33: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
54 | var language: Language
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _enableGoogleSearch: Bool
+-------------------------------------------------------------------
57 | let verbose: Bool
58 | let automaticActivityDetection: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:61:37: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
59 | let proactive_audio: Bool
60 |
61 | private var disconnected = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _disconnected = false
+-------------------------------------------------------------------
62 |
63 | public init(
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:377:41: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
375 | }
376 |
377 | var functionDeclarations: [Any] = []
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _functionDeclarations: [Any] = []
+-------------------------------------------------------------------
378 |
379 | public func addFunctionDeclarations(_ f:[String: Any] = [
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:550:1: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on class 'GeminiLiveClient' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
548 | }
549 | }
550 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in iOS 17.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s16swift_gemini_api16GeminiLiveClient10ObservablefMm_6MemberfMu_>(
+-------------------------------------------------------------------
551 |
552 | public actor Setup {
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:17:2: error: 'Observable()' is only available in iOS 17.0 or newer
15 | import Foundation
16 |
17 | @Observable
| `- error: 'Observable()' is only available in iOS 17.0 or newer
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
SwiftCompile normal arm64 Compiling\ AudioBufferData.swift,\ AudioFormat.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioBufferData.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioFormat.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioBufferData.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioBufferData.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioFormat.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioFormat.swift
SwiftCompile normal arm64 Compiling\ image.swift,\ speech.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/image.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/speech.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/image.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile image.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/speech.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile speech.swift
SwiftCompile normal arm64 Compiling\ text.swift,\ video.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/text.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/video.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/text.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile text.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/video.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile video.swift
SwiftCompile normal arm64 Compiling\ Voice.swift,\ VoiceUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Voice.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/VoiceUtils.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Voice.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Voice.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/VoiceUtils.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile VoiceUtils.swift
SwiftCompile normal arm64 Compiling\ audio.swift,\ embedding.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/audio.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/embedding.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/audio.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile audio.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/embedding.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile embedding.swift
SwiftCompile normal arm64 Compiling\ Language.swift,\ Retry.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Language.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Retry.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Language.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Language.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Retry.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Retry.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ swift_gemini_api (in target 'swift-gemini-api' from project 'swift-gemini-api')
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift:147:40: error: cannot find type 'AudioDeviceID' in scope
145 | }
146 |
147 | func getDeviceSampleRate(deviceID: AudioDeviceID) -> Double? {
| `- error: cannot find type 'AudioDeviceID' in scope
148 | var address = AudioObjectPropertyAddress(
149 | mSelector: kAudioDevicePropertyNominalSampleRate,
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:17:2: error: 'Observable()' is only available in iOS 17.0 or newer
15 | import Foundation
16 |
17 | @Observable
| `- error: 'Observable()' is only available in iOS 17.0 or newer
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
19 | private let audioDataChunks = AudioDataBuffer()
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:25:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onSetupComplete' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
23 |
24 | public let setup = Setup()
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:27:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'socket' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
25 | public var onSetupComplete: ((Bool) -> Void)?
26 |
27 | private var socket: URLSessionWebSocketTask?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:28:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'apiKey' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
26 |
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
29 | private var urlSession: URLSession?
30 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:29:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'urlSession' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
30 |
31 | private let audioPlayer = StreamingAudioPlayer()
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:33:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onOutputTranscription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
31 | private let audioPlayer = StreamingAudioPlayer()
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:34:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onInputTranscription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:35:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'onToolCall' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
36 |
37 | public var mute:Bool = false
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:37:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'mute' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
37 | public var mute:Bool = false
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:38:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'playAudio' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
36 |
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:39:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'input_audio_transcription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:40:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'output_audio_transcription' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:41:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'response_modalities' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:42:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'candidateCount' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:43:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'maxOutputTokens' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
44 | public var temperature = 0.7
45 | public var topP = 1
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:44:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'temperature' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
45 | public var topP = 1
46 | public var topK = 0
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:45:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'topP' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
45 | public var topP = 1
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
46 | public var topK = 0
47 | public var enable_affective_dialog = false
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:46:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'topK' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
44 | public var temperature = 0.7
45 | public var topP = 1
46 | public var topK = 0
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
47 | public var enable_affective_dialog = false
48 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:47:2: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'enable_affective_dialog' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
45 | public var topP = 1
46 | public var topK = 0
47 | public var enable_affective_dialog = false
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
48 |
49 | let systemPrompt: String
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:52:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'host' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
50 |
51 | let model: String
52 | var host: String
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
53 | var version: String
54 | var language: Language
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:53:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'version' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
51 | let model: String
52 | var host: String
53 | var version: String
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
54 | var language: Language
55 | var voice: Voice
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:54:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'language' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
52 | var host: String
53 | var version: String
54 | var language: Language
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:55:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'voice' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
53 | var version: String
54 | var language: Language
55 | var voice: Voice
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
56 | var enableGoogleSearch: Bool
57 | let verbose: Bool
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:56:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'enableGoogleSearch' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
54 | var language: Language
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
57 | let verbose: Bool
58 | let automaticActivityDetection: Bool
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:61:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'disconnected' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
59 | let proactive_audio: Bool
60 |
61 | private var disconnected = false
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
62 |
63 | public init(
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:377:5: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on property 'functionDeclarations' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
375 | }
376 |
377 | var functionDeclarations: [Any] = []
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in iOS 17.0 or newer
+-------------------------------------------------------------------
378 |
379 | public func addFunctionDeclarations(_ f:[String: Any] = [
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:550:1: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on class 'GeminiLiveClient' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
548 | }
549 | }
550 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s16swift_gemini_api16GeminiLiveClient10ObservablefMm_6MemberfMu_>(
+-------------------------------------------------------------------
551 |
552 | public actor Setup {
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:25:47: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
23 |
24 | public let setup = Setup()
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onSetupComplete: ((Bool) -> Void)?
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:27:49: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
25 | public var onSetupComplete: ((Bool) -> Void)?
26 |
27 | private var socket: URLSessionWebSocketTask?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _socket: URLSessionWebSocketTask?
+-------------------------------------------------------------------
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:28:36: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
26 |
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _apiKey: String = ""
+-------------------------------------------------------------------
29 | private var urlSession: URLSession?
30 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:29:40: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
27 | private var socket: URLSessionWebSocketTask?
28 | private var apiKey: String = ""
29 | private var urlSession: URLSession?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _urlSession: URLSession?
+-------------------------------------------------------------------
30 |
31 | private let audioPlayer = StreamingAudioPlayer()
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:33:58: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
31 | private let audioPlayer = StreamingAudioPlayer()
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onOutputTranscription: ((String) -> Void)?
+-------------------------------------------------------------------
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:34:57: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
32 |
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onInputTranscription: ((String) -> Void)?
+-------------------------------------------------------------------
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:35:90: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
33 | public var onOutputTranscription: ((String) -> Void)?
34 | public var onInputTranscription: ((String) -> Void)?
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _onToolCall: ((_ name: String, _ id: String, _ args: [String: Any]) -> Void)?
+-------------------------------------------------------------------
36 |
37 | public var mute:Bool = false
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:37:33: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
35 | public var onToolCall: ((_ name:String, _ id:String, _ args: [String: Any]) -> Void)?
36 |
37 | public var mute:Bool = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _mute: Bool = false
+-------------------------------------------------------------------
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:38:38: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
36 |
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _playAudio: Bool = true
+-------------------------------------------------------------------
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:39:45: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
37 | public var mute:Bool = false
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _input_audio_transcription = true
+-------------------------------------------------------------------
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:40:46: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
38 | public var playAudio: Bool = true
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _output_audio_transcription = true
+-------------------------------------------------------------------
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:41:44: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
39 | public var input_audio_transcription = true
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _response_modalities = ["AUDIO"]
+-------------------------------------------------------------------
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:42:31: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
40 | public var output_audio_transcription = true
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _candidateCount = 1
+-------------------------------------------------------------------
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:43:35: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
41 | public var response_modalities = ["AUDIO"]
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _maxOutputTokens = 1024 // 256 // 256 // 256
+-------------------------------------------------------------------
44 | public var temperature = 0.7
45 | public var topP = 1
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:44:30: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
42 | public var candidateCount = 1
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _temperature = 0.7
+-------------------------------------------------------------------
45 | public var topP = 1
46 | public var topK = 0
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:45:24: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
43 | public var maxOutputTokens = 1024 // 256
44 | public var temperature = 0.7
45 | public var topP = 1
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _topP = 1
+-------------------------------------------------------------------
46 | public var topK = 0
47 | public var enable_affective_dialog = false
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:46:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
44 | public var temperature = 0.7
45 | public var topP = 1
46 | public var topK = 0
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _topK = 0
+-------------------------------------------------------------------
47 | public var enable_affective_dialog = false
48 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:47:44: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
45 | public var topP = 1
46 | public var topK = 0
47 | public var enable_affective_dialog = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _enable_affective_dialog = false
+-------------------------------------------------------------------
48 |
49 | let systemPrompt: String
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:52:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
50 |
51 | let model: String
52 | var host: String
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _host: String
+-------------------------------------------------------------------
53 | var version: String
54 | var language: Language
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:53:24: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
51 | let model: String
52 | var host: String
53 | var version: String
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _version: String
+-------------------------------------------------------------------
54 | var language: Language
55 | var voice: Voice
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:54:27: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
52 | var host: String
53 | var version: String
54 | var language: Language
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _language: Language
+-------------------------------------------------------------------
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:55:21: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
53 | var version: String
54 | var language: Language
55 | var voice: Voice
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _voice: Voice
+-------------------------------------------------------------------
56 | var enableGoogleSearch: Bool
57 | let verbose: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:56:33: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
54 | var language: Language
55 | var voice: Voice
56 | var enableGoogleSearch: Bool
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _enableGoogleSearch: Bool
+-------------------------------------------------------------------
57 | let verbose: Bool
58 | let automaticActivityDetection: Bool
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:61:37: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
59 | let proactive_audio: Bool
60 |
61 | private var disconnected = false
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _disconnected = false
+-------------------------------------------------------------------
62 |
63 | public init(
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:377:41: note: expanded code originates here
16 |
17 | @Observable
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
375 | }
376 |
377 | var functionDeclarations: [Any] = []
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in iOS 17.0 or newer
|2 | private var _functionDeclarations: [Any] = []
+-------------------------------------------------------------------
378 |
379 | public func addFunctionDeclarations(_ f:[String: Any] = [
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in iOS 17.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:550:1: note: expanded code originates here
15 | import Foundation
16 |
17 | @Observable
| `- note: in expansion of macro 'Observable' on class 'GeminiLiveClient' here
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
:
548 | }
549 | }
550 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in iOS 17.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s16swift_gemini_api16GeminiLiveClient10ObservablefMm_6MemberfMu_>(
+-------------------------------------------------------------------
551 |
552 | public actor Setup {
/Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:17:2: error: 'Observable()' is only available in iOS 17.0 or newer
15 | import Foundation
16 |
17 | @Observable
| `- error: 'Observable()' is only available in iOS 17.0 or newer
18 | public final class GeminiLiveClient: NSObject, URLSessionWebSocketDelegate {
| `- note: add '@available' attribute to enclosing class
19 | private let audioDataChunks = AudioDataBuffer()
20 | private let sampleRate: Int = 24000 // Based on mimeType
macro expansion @ObservationTracked:2:14: warning: stored property '_onSetupComplete' of 'Sendable'-conforming class 'GeminiLiveClient' is mutable
`- /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift:25:47: note: expanded code originates here
23 |
24 | public let setup = Setup()
25 | public var onSetupComplete: ((Bool) -> Void)?
+--- macro expansion @ObservationTracked ---------------------------
|1 | @ObservationIgnored
|2 | private var _onSetupComplete: ((Bool) -> Void)?
| | `- warning: stored property '_onSetupComplete' of 'Sendable'-conforming class 'GeminiLiveClient' is mutable
+-------------------------------------------------------------------
26 |
27 | private var socket: URLSessionWebSocketTask?
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioBufferData.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioFormat.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiAPI.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/GeminiLiveClient.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Language.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Retry.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingAudioPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingWAVWriter.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/Voice.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/VoiceUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/audio.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/embedding.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/error.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/files.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/image.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/speech.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/text.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/video.swift -target arm64-apple-ios15.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/iphoneos27.0-24A430-e829b21a6f8c9b70876ba0858053c04440ceaa042ed91876912b2eeea4e3aa14.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-iphoneos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name swift_gemini_api -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-ios27.0 -target-sdk-version 27.0 -target-sdk-name iphoneos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift-gemini-api-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-gemini-api.build/Debug-iphoneos/swift-gemini-api-t.build/Objects-normal/arm64/swift_gemini_api.abi.json
SwiftCompile normal arm64 (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64 Compiling\ StreamingAudioPlayer.swift,\ StreamingWAVWriter.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingAudioPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingWAVWriter.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingAudioPlayer.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StreamingAudioPlayer.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/StreamingWAVWriter.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StreamingWAVWriter.swift
SwiftCompile normal arm64 Compiling\ error.swift,\ files.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/error.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/files.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/error.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile error.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/modalities/files.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile files.swift
SwiftCompile normal arm64 Compiling\ AudioRecorder.swift,\ AudioRecorderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorderProtocol.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorder.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioRecorder.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swift-gemini-api/AudioRecorderProtocol.swift (in target 'swift-gemini-api' from project 'swift-gemini-api')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AudioRecorderProtocol.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-23 20:27:59.224 xcodebuild[779:4691] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftEmitModule normal arm64 Emitting\ module\ for\ swift_gemini_api (in target 'swift-gemini-api' from project 'swift-gemini-api')
SwiftCompile normal arm64 (in target 'swift-gemini-api' from project 'swift-gemini-api')
Building workspace swift-gemini-api with scheme swift-gemini-api
(3 failures)
BUILD FAILURE 6.4 iOS