Build Information
Failed to build FalClient, reference 0.5.6 (a58ca8
), with Swift 6.1 for Linux on 28 Apr 2025 11:27:39 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fal-ai/fal-swift.git
Reference: 0.5.6
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/fal-ai/fal-swift
* tag 0.5.6 -> FETCH_HEAD
HEAD is now at a58ca8a fix(queue): codable input request url (#17)
Cloned https://github.com/fal-ai/fal-swift.git
Revision (git rev-parse @):
a58ca8a926a56a69ba3c454583f626b3629a4223
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/fal-ai/fal-swift.git at 0.5.6
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/fal-ai/fal-swift.git
https://github.com/fal-ai/fal-swift.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "swift-msgpack",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.3",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nnabeyang/swift-msgpack.git"
},
{
"identity" : "quick",
"requirement" : {
"range" : [
{
"lower_bound" : "7.3.0",
"upper_bound" : "8.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Quick.git"
},
{
"identity" : "nimble",
"requirement" : {
"range" : [
{
"lower_bound" : "13.0.0",
"upper_bound" : "14.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Nimble.git"
}
],
"manifest_display_name" : "FalClient",
"name" : "FalClient",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "FalClient",
"targets" : [
"FalClient"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FalClientTests",
"module_type" : "SwiftTarget",
"name" : "FalClientTests",
"path" : "Tests/FalClientTests",
"product_dependencies" : [
"Quick",
"Nimble"
],
"sources" : [
"UtilitySpec.swift"
],
"target_dependencies" : [
"FalClient"
],
"type" : "test"
},
{
"c99name" : "FalClient",
"module_type" : "SwiftTarget",
"name" : "FalClient",
"path" : "Sources/FalClient",
"product_dependencies" : [
"SwiftMsgpack"
],
"product_memberships" : [
"FalClient"
],
"sources" : [
"Client+Codable.swift",
"Client+Config.swift",
"Client+Request.swift",
"Client.swift",
"FalClient.swift",
"FalError.swift",
"FalImage.swift",
"Payload.swift",
"Queue+Codable.swift",
"Queue.swift",
"QueueStatus.swift",
"Realtime+Codable.swift",
"Realtime.swift",
"Storage.swift",
"TimeInterval+Extensions.swift",
"Utility.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/Quick/Nimble.git
Fetching https://github.com/nnabeyang/swift-msgpack.git
Fetching https://github.com/Quick/Quick.git
[1/589] Fetching swift-msgpack
[590/15344] Fetching swift-msgpack, quick
[3099/34911] Fetching swift-msgpack, quick, nimble
Fetched https://github.com/nnabeyang/swift-msgpack.git from cache (1.10s)
Fetched https://github.com/Quick/Quick.git from cache (1.11s)
[15263/19567] Fetching nimble
Fetched https://github.com/Quick/Nimble.git from cache (2.12s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.7.0 (2.70s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 7.6.2 (0.76s)
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/apple/swift-algorithms.git
[1/5903] Fetching swift-algorithms
Fetched https://github.com/apple/swift-algorithms.git from cache (0.42s)
[1/14950] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.92s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (1.49s)
Fetching https://github.com/apple/swift-numerics.git
[1/5674] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git from cache (0.43s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.98s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.0.3 (1.20s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 13.7.1 (0.61s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (0.24s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (1.05s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/455] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (0.22s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (1.30s)
Creating working copy for https://github.com/nnabeyang/swift-msgpack.git
Working copy of https://github.com/nnabeyang/swift-msgpack.git resolved at 0.7.0
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.2
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 13.7.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.0.3
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 7.6.2
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
warning: 'nimble': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/PrivacyInfo.xcprivacy
warning: 'quick': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/Quick/Sources/Quick/PrivacyInfo.xcprivacy
[1/1] Compiling plugin LintCommandPlugin
[2/2] Compiling plugin LintWarning
[3/3] Compiling plugin LintError
[4/4] Compiling plugin DefocusCommandPlugin
[5/5] Compiling plugin GenerateManual
Building for debugging...
[5/8] Write sources
[7/8] Write swift-version-24593BA9C3E375BF.txt
[9/14] Compiling SwiftMsgpack MsgPackTimestamp.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[10/14] Compiling SwiftMsgpack MsgPackScanner.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[11/14] Compiling SwiftMsgpack MsgPackDecoder.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[12/14] Compiling SwiftMsgpack AnyCodable.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[13/14] Emitting module SwiftMsgpack
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[14/14] Compiling SwiftMsgpack MsgPackEncoder.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
error: emit-module command failed with exit code 1 (use -v to see invocation)
[16/30] Emitting module FalClient
/host/spi-builder-workspace/Sources/FalClient/Client+Codable.swift:5:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct EmptyInput: Encodable {
| `- note: consider making struct 'EmptyInput' conform to the 'Sendable' protocol
5 | public static let empty = EmptyInput()
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | }
7 |
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:3:1: error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
1 | import Foundation
2 |
3 | extension HTTPURLResponse {
| `- error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
4 | /// Returns `true` if `statusCode` is in range 200...299.
5 | /// Otherwise `false`.
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:60:44: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
58 | }
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
61 | guard response is HTTPURLResponse else {
62 | throw FalError.invalidResultFormat
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client.swift:29:12: warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | public struct RunOptions: RequestOptions {
| `- note: consider making struct 'RunOptions' conform to the 'Sendable' protocol
17 | public let path: String
18 | public let httpMethod: HttpMethod
:
27 | }
28 |
29 | public let DefaultRunOptions: RunOptions = .withMethod(.post)
| |- warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'DefaultRunOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
/host/spi-builder-workspace/Sources/FalClient/FalError.swift:3:10: warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
1 |
2 | enum FalError: Error {
3 | case httpError(status: Int, message: String, payload: Payload?)
| `- warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
4 | case invalidResultFormat
5 | case invalidUrl(url: String)
/host/spi-builder-workspace/Sources/FalClient/Payload.swift:10:13: note: consider making enum 'Payload' conform to the 'Sendable' protocol
8 | /// It supports binary data as well, so it can be kept and transformed if needed
9 | /// before it's encoded to JSON or any other supported format (e.g. msgpack).
10 | public enum Payload: Codable {
| `- note: consider making enum 'Payload' conform to the 'Sendable' protocol
11 | case string(String)
12 | case int(Int)
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:150:30: error: cannot find type 'URLSessionWebSocketTask' in scope
148 | private let TokenExpirationInterval: DispatchTimeInterval = .minutes(1)
149 |
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:38: error: cannot find type 'URLSessionWebSocketDelegate' in scope
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- error: cannot find type 'URLSessionWebSocketDelegate' in scope
153 | let app: String
154 | let client: Client
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:54: error: cannot infer contextual base in reference to member 'default'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:161:23: error: cannot find type 'URLSessionWebSocketTask' in scope
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
162 | private var token: String?
163 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:279:26: error: cannot find type 'URLSessionWebSocketTask' in scope
277 | }
278 |
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
280 | if let task {
281 | task.send(message) { [weak self] error in
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:303:26: error: cannot find type 'URLSessionWebSocketTask' in scope
301 | func urlSession(
302 | _: URLSession,
303 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
304 | didOpenWithProtocol _: String?
305 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:302:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
300 |
301 | func urlSession(
302 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
303 | webSocketTask _: URLSessionWebSocketTask,
304 | didOpenWithProtocol _: String?
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:318:26: error: cannot find type 'URLSessionWebSocketTask' in scope
316 | func urlSession(
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
320 | reason _: Data?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:319:28: error: cannot find type 'URLSessionWebSocketTask' in scope
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
320 | reason _: Data?
321 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:317:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
315 |
316 | func urlSession(
317 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:329:5: warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
327 | }
328 |
329 | var connectionPool: [String: WebSocketConnection] = [:]
| |- warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionPool' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'connectionPool' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
330 |
331 | /// The real-time client contract.
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
[17/32] Compiling FalClient QueueStatus.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| `- error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: generic parameter 'Input' could not be inferred
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| |- error: generic parameter 'Input' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:116:38: note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
114 |
115 | /// Connection implementation that can be used to send messages using a custom `Encodable` type.
116 | public class TypedRealtimeConnection<Input: Encodable>: BaseRealtimeConnection<Input> {}
| `- note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
117 |
118 | /// This is a list of apps deployed before formal realtime support. Their URLs follow
[18/32] Compiling FalClient Realtime+Codable.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| `- error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: generic parameter 'Input' could not be inferred
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| |- error: generic parameter 'Input' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:116:38: note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
114 |
115 | /// Connection implementation that can be used to send messages using a custom `Encodable` type.
116 | public class TypedRealtimeConnection<Input: Encodable>: BaseRealtimeConnection<Input> {}
| `- note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
117 |
118 | /// This is a list of apps deployed before formal realtime support. Their URLs follow
[19/32] Compiling FalClient Realtime.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:150:30: error: cannot find type 'URLSessionWebSocketTask' in scope
148 | private let TokenExpirationInterval: DispatchTimeInterval = .minutes(1)
149 |
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:38: error: cannot find type 'URLSessionWebSocketDelegate' in scope
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- error: cannot find type 'URLSessionWebSocketDelegate' in scope
153 | let app: String
154 | let client: Client
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:54: error: cannot infer contextual base in reference to member 'default'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:161:23: error: cannot find type 'URLSessionWebSocketTask' in scope
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
162 | private var token: String?
163 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:279:26: error: cannot find type 'URLSessionWebSocketTask' in scope
277 | }
278 |
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
280 | if let task {
281 | task.send(message) { [weak self] error in
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:303:26: error: cannot find type 'URLSessionWebSocketTask' in scope
301 | func urlSession(
302 | _: URLSession,
303 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
304 | didOpenWithProtocol _: String?
305 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:302:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
300 |
301 | func urlSession(
302 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
303 | webSocketTask _: URLSessionWebSocketTask,
304 | didOpenWithProtocol _: String?
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:318:26: error: cannot find type 'URLSessionWebSocketTask' in scope
316 | func urlSession(
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
320 | reason _: Data?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:319:28: error: cannot find type 'URLSessionWebSocketTask' in scope
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
320 | reason _: Data?
321 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:317:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
315 |
316 | func urlSession(
317 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:329:5: warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
327 | }
328 |
329 | var connectionPool: [String: WebSocketConnection] = [:]
| |- warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionPool' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'connectionPool' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
330 |
331 | /// The real-time client contract.
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:103:28: error: cannot infer contextual base in reference to member 'string'
101 | throw FalRealtimeError.invalidInput
102 | }
103 | try sendReference(.string(json))
| `- error: cannot infer contextual base in reference to member 'string'
104 | }
105 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:108:28: error: cannot infer contextual base in reference to member 'data'
106 | func sendBinary(_ data: Input) throws {
107 | let payload = try MsgPackEncoder().encode(data)
108 | try sendReference(.data(payload))
| `- error: cannot infer contextual base in reference to member 'data'
109 | }
110 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:247:37: error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
245 |
246 | func receiveMessage() {
247 | task?.receive { [weak self] incomingMessage in
| `- error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
248 | switch incomingMessage {
249 | case let .success(message):
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:281:46: error: cannot infer type of closure parameter 'error' without a type annotation
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
280 | if let task {
281 | task.send(message) { [weak self] error in
| `- error: cannot infer type of closure parameter 'error' without a type annotation
282 | if let error {
283 | self?.onError(error)
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:297:29: error: cannot infer contextual base in reference to member 'normalClosure'
295 |
296 | func close() {
297 | task?.cancel(with: .normalClosure, reason: "Programmatically closed".data(using: .utf8))
| `- error: cannot infer contextual base in reference to member 'normalClosure'
298 | task = nil
299 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:322:21: error: cannot infer contextual base in reference to member 'normalClosure'
320 | reason _: Data?
321 | ) {
322 | if code != .normalClosure {
| `- error: cannot infer contextual base in reference to member 'normalClosure'
323 | onError(FalRealtimeError.connectionError(code: code.rawValue))
324 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:411:17: error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
409 | throttleInterval: throttleInterval,
410 | connectionFactory: { send, close in
411 | RealtimeConnection(send, close)
| `- error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
412 | },
413 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:112:23: error: cannot find 'URLRequest' in scope
110 | // Here we use URLSession directly instead of the client to avoid going
111 | // through the proxy, we need to hit the blob url directly.
112 | var request = URLRequest(url: URL(string: uploadUrl.uploadUrl)!)
| `- error: cannot find 'URLRequest' in scope
113 | request.httpMethod = "PUT"
114 | request.httpBody = data
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:118:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
116 | request.setValue(String(data.count), forHTTPHeaderField: "Content-Length")
117 |
118 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
119 | try client.checkResponseStatus(for: response, withData: data)
120 |
[20/32] Compiling FalClient Storage.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:150:30: error: cannot find type 'URLSessionWebSocketTask' in scope
148 | private let TokenExpirationInterval: DispatchTimeInterval = .minutes(1)
149 |
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:38: error: cannot find type 'URLSessionWebSocketDelegate' in scope
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- error: cannot find type 'URLSessionWebSocketDelegate' in scope
153 | let app: String
154 | let client: Client
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:54: error: cannot infer contextual base in reference to member 'default'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:161:23: error: cannot find type 'URLSessionWebSocketTask' in scope
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
162 | private var token: String?
163 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:279:26: error: cannot find type 'URLSessionWebSocketTask' in scope
277 | }
278 |
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
280 | if let task {
281 | task.send(message) { [weak self] error in
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:303:26: error: cannot find type 'URLSessionWebSocketTask' in scope
301 | func urlSession(
302 | _: URLSession,
303 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
304 | didOpenWithProtocol _: String?
305 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:302:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
300 |
301 | func urlSession(
302 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
303 | webSocketTask _: URLSessionWebSocketTask,
304 | didOpenWithProtocol _: String?
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:318:26: error: cannot find type 'URLSessionWebSocketTask' in scope
316 | func urlSession(
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
320 | reason _: Data?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:319:28: error: cannot find type 'URLSessionWebSocketTask' in scope
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
320 | reason _: Data?
321 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:317:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
315 |
316 | func urlSession(
317 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:329:5: warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
327 | }
328 |
329 | var connectionPool: [String: WebSocketConnection] = [:]
| |- warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionPool' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'connectionPool' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
330 |
331 | /// The real-time client contract.
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:103:28: error: cannot infer contextual base in reference to member 'string'
101 | throw FalRealtimeError.invalidInput
102 | }
103 | try sendReference(.string(json))
| `- error: cannot infer contextual base in reference to member 'string'
104 | }
105 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:108:28: error: cannot infer contextual base in reference to member 'data'
106 | func sendBinary(_ data: Input) throws {
107 | let payload = try MsgPackEncoder().encode(data)
108 | try sendReference(.data(payload))
| `- error: cannot infer contextual base in reference to member 'data'
109 | }
110 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:247:37: error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
245 |
246 | func receiveMessage() {
247 | task?.receive { [weak self] incomingMessage in
| `- error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
248 | switch incomingMessage {
249 | case let .success(message):
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:281:46: error: cannot infer type of closure parameter 'error' without a type annotation
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
280 | if let task {
281 | task.send(message) { [weak self] error in
| `- error: cannot infer type of closure parameter 'error' without a type annotation
282 | if let error {
283 | self?.onError(error)
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:297:29: error: cannot infer contextual base in reference to member 'normalClosure'
295 |
296 | func close() {
297 | task?.cancel(with: .normalClosure, reason: "Programmatically closed".data(using: .utf8))
| `- error: cannot infer contextual base in reference to member 'normalClosure'
298 | task = nil
299 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:322:21: error: cannot infer contextual base in reference to member 'normalClosure'
320 | reason _: Data?
321 | ) {
322 | if code != .normalClosure {
| `- error: cannot infer contextual base in reference to member 'normalClosure'
323 | onError(FalRealtimeError.connectionError(code: code.rawValue))
324 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:411:17: error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
409 | throttleInterval: throttleInterval,
410 | connectionFactory: { send, close in
411 | RealtimeConnection(send, close)
| `- error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
412 | },
413 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:112:23: error: cannot find 'URLRequest' in scope
110 | // Here we use URLSession directly instead of the client to avoid going
111 | // through the proxy, we need to hit the blob url directly.
112 | var request = URLRequest(url: URL(string: uploadUrl.uploadUrl)!)
| `- error: cannot find 'URLRequest' in scope
113 | request.httpMethod = "PUT"
114 | request.httpBody = data
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:118:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
116 | request.setValue(String(data.count), forHTTPHeaderField: "Content-Length")
117 |
118 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
119 | try client.checkResponseStatus(for: response, withData: data)
120 |
[21/32] Compiling FalClient Client+Codable.swift
/host/spi-builder-workspace/Sources/FalClient/Client+Codable.swift:5:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct EmptyInput: Encodable {
| `- note: consider making struct 'EmptyInput' conform to the 'Sendable' protocol
5 | public static let empty = EmptyInput()
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | }
7 |
[22/32] Compiling FalClient Client+Config.swift
/host/spi-builder-workspace/Sources/FalClient/Client+Codable.swift:5:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct EmptyInput: Encodable {
| `- note: consider making struct 'EmptyInput' conform to the 'Sendable' protocol
5 | public static let empty = EmptyInput()
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | }
7 |
[23/32] Compiling FalClient Queue+Codable.swift
[24/32] Compiling FalClient Queue.swift
[25/32] Compiling FalClient TimeInterval+Extensions.swift
[26/32] Compiling FalClient Utility.swift
[27/32] Compiling FalClient Client+Request.swift
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:3:1: error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
1 | import Foundation
2 |
3 | extension HTTPURLResponse {
| `- error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
4 | /// Returns `true` if `statusCode` is in range 200...299.
5 | /// Otherwise `false`.
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:60:44: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
58 | }
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
61 | guard response is HTTPURLResponse else {
62 | throw FalError.invalidResultFormat
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:35:23: error: cannot find 'URLRequest' in scope
33 | }
34 |
35 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
36 | request.httpMethod = options.httpMethod.rawValue.uppercased()
37 | request.setValue("application/json", forHTTPHeaderField: "accept")
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:55:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
53 | request.httpBody = input
54 | }
55 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
56 | try checkResponseStatus(for: response, withData: data)
57 | return data
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:24: warning: 'is' test is always true
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- warning: 'is' test is always true
62 | throw FalError.invalidResultFormat
63 | }
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:27: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:40: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:44: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:75: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:66:43: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:69:36: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
69 | ?? HTTPURLResponse.localizedString(forStatusCode: statusCode)
| `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
70 | throw FalError.httpError(
71 | status: statusCode,
/host/spi-builder-workspace/Sources/FalClient/Client.swift:29:12: warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | public struct RunOptions: RequestOptions {
| `- note: consider making struct 'RunOptions' conform to the 'Sendable' protocol
17 | public let path: String
18 | public let httpMethod: HttpMethod
:
27 | }
28 |
29 | public let DefaultRunOptions: RunOptions = .withMethod(.post)
| |- warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'DefaultRunOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
[28/32] Compiling FalClient Client.swift
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:3:1: error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
1 | import Foundation
2 |
3 | extension HTTPURLResponse {
| `- error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
4 | /// Returns `true` if `statusCode` is in range 200...299.
5 | /// Otherwise `false`.
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:60:44: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
58 | }
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
61 | guard response is HTTPURLResponse else {
62 | throw FalError.invalidResultFormat
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:35:23: error: cannot find 'URLRequest' in scope
33 | }
34 |
35 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
36 | request.httpMethod = options.httpMethod.rawValue.uppercased()
37 | request.setValue("application/json", forHTTPHeaderField: "accept")
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:55:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
53 | request.httpBody = input
54 | }
55 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
56 | try checkResponseStatus(for: response, withData: data)
57 | return data
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:24: warning: 'is' test is always true
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- warning: 'is' test is always true
62 | throw FalError.invalidResultFormat
63 | }
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:27: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:40: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:44: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:75: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:66:43: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:69:36: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
69 | ?? HTTPURLResponse.localizedString(forStatusCode: statusCode)
| `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
70 | throw FalError.httpError(
71 | status: statusCode,
/host/spi-builder-workspace/Sources/FalClient/Client.swift:29:12: warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | public struct RunOptions: RequestOptions {
| `- note: consider making struct 'RunOptions' conform to the 'Sendable' protocol
17 | public let path: String
18 | public let httpMethod: HttpMethod
:
27 | }
28 |
29 | public let DefaultRunOptions: RunOptions = .withMethod(.post)
| |- warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'DefaultRunOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
[29/32] Compiling FalClient FalClient.swift
/host/spi-builder-workspace/Sources/FalClient/FalError.swift:3:10: warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
1 |
2 | enum FalError: Error {
3 | case httpError(status: Int, message: String, payload: Payload?)
| `- warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
4 | case invalidResultFormat
5 | case invalidUrl(url: String)
/host/spi-builder-workspace/Sources/FalClient/Payload.swift:10:13: note: consider making enum 'Payload' conform to the 'Sendable' protocol
8 | /// It supports binary data as well, so it can be kept and transformed if needed
9 | /// before it's encoded to JSON or any other supported format (e.g. msgpack).
10 | public enum Payload: Codable {
| `- note: consider making enum 'Payload' conform to the 'Sendable' protocol
11 | case string(String)
12 | case int(Int)
[30/32] Compiling FalClient FalError.swift
/host/spi-builder-workspace/Sources/FalClient/FalError.swift:3:10: warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
1 |
2 | enum FalError: Error {
3 | case httpError(status: Int, message: String, payload: Payload?)
| `- warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
4 | case invalidResultFormat
5 | case invalidUrl(url: String)
/host/spi-builder-workspace/Sources/FalClient/Payload.swift:10:13: note: consider making enum 'Payload' conform to the 'Sendable' protocol
8 | /// It supports binary data as well, so it can be kept and transformed if needed
9 | /// before it's encoded to JSON or any other supported format (e.g. msgpack).
10 | public enum Payload: Codable {
| `- note: consider making enum 'Payload' conform to the 'Sendable' protocol
11 | case string(String)
12 | case int(Int)
[31/32] Compiling FalClient FalImage.swift
[32/32] Compiling FalClient Payload.swift
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
warning: 'nimble': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/PrivacyInfo.xcprivacy
warning: 'quick': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/Quick/Sources/Quick/PrivacyInfo.xcprivacy
[0/1] Planning build
[1/1] Compiling plugin LintCommandPlugin
[2/2] Compiling plugin LintWarning
[3/3] Compiling plugin LintError
[4/4] Compiling plugin DefocusCommandPlugin
[5/5] Compiling plugin GenerateManual
Building for debugging...
[5/6] Write swift-version-24593BA9C3E375BF.txt
[7/12] Compiling SwiftMsgpack MsgPackTimestamp.swift
[8/12] Compiling SwiftMsgpack MsgPackScanner.swift
[9/12] Compiling SwiftMsgpack MsgPackDecoder.swift
[10/12] Compiling SwiftMsgpack AnyCodable.swift
[11/12] Compiling SwiftMsgpack MsgPackEncoder.swift
[12/12] Emitting module SwiftMsgpack
[14/28] Compiling FalClient Realtime.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:150:30: error: cannot find type 'URLSessionWebSocketTask' in scope
148 | private let TokenExpirationInterval: DispatchTimeInterval = .minutes(1)
149 |
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:38: error: cannot find type 'URLSessionWebSocketDelegate' in scope
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- error: cannot find type 'URLSessionWebSocketDelegate' in scope
153 | let app: String
154 | let client: Client
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:54: error: cannot infer contextual base in reference to member 'default'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:161:23: error: cannot find type 'URLSessionWebSocketTask' in scope
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
162 | private var token: String?
163 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:279:26: error: cannot find type 'URLSessionWebSocketTask' in scope
277 | }
278 |
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
280 | if let task {
281 | task.send(message) { [weak self] error in
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:303:26: error: cannot find type 'URLSessionWebSocketTask' in scope
301 | func urlSession(
302 | _: URLSession,
303 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
304 | didOpenWithProtocol _: String?
305 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:302:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
300 |
301 | func urlSession(
302 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
303 | webSocketTask _: URLSessionWebSocketTask,
304 | didOpenWithProtocol _: String?
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:318:26: error: cannot find type 'URLSessionWebSocketTask' in scope
316 | func urlSession(
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
320 | reason _: Data?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:319:28: error: cannot find type 'URLSessionWebSocketTask' in scope
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
320 | reason _: Data?
321 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:317:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
315 |
316 | func urlSession(
317 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:103:28: error: cannot infer contextual base in reference to member 'string'
101 | throw FalRealtimeError.invalidInput
102 | }
103 | try sendReference(.string(json))
| `- error: cannot infer contextual base in reference to member 'string'
104 | }
105 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:108:28: error: cannot infer contextual base in reference to member 'data'
106 | func sendBinary(_ data: Input) throws {
107 | let payload = try MsgPackEncoder().encode(data)
108 | try sendReference(.data(payload))
| `- error: cannot infer contextual base in reference to member 'data'
109 | }
110 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:247:37: error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
245 |
246 | func receiveMessage() {
247 | task?.receive { [weak self] incomingMessage in
| `- error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
248 | switch incomingMessage {
249 | case let .success(message):
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:281:46: error: cannot infer type of closure parameter 'error' without a type annotation
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
280 | if let task {
281 | task.send(message) { [weak self] error in
| `- error: cannot infer type of closure parameter 'error' without a type annotation
282 | if let error {
283 | self?.onError(error)
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:297:29: error: cannot infer contextual base in reference to member 'normalClosure'
295 |
296 | func close() {
297 | task?.cancel(with: .normalClosure, reason: "Programmatically closed".data(using: .utf8))
| `- error: cannot infer contextual base in reference to member 'normalClosure'
298 | task = nil
299 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:322:21: error: cannot infer contextual base in reference to member 'normalClosure'
320 | reason _: Data?
321 | ) {
322 | if code != .normalClosure {
| `- error: cannot infer contextual base in reference to member 'normalClosure'
323 | onError(FalRealtimeError.connectionError(code: code.rawValue))
324 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:411:17: error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
409 | throttleInterval: throttleInterval,
410 | connectionFactory: { send, close in
411 | RealtimeConnection(send, close)
| `- error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
412 | },
413 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:112:23: error: cannot find 'URLRequest' in scope
110 | // Here we use URLSession directly instead of the client to avoid going
111 | // through the proxy, we need to hit the blob url directly.
112 | var request = URLRequest(url: URL(string: uploadUrl.uploadUrl)!)
| `- error: cannot find 'URLRequest' in scope
113 | request.httpMethod = "PUT"
114 | request.httpBody = data
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:118:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
116 | request.setValue(String(data.count), forHTTPHeaderField: "Content-Length")
117 |
118 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
119 | try client.checkResponseStatus(for: response, withData: data)
120 |
[15/28] Compiling FalClient Storage.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:150:30: error: cannot find type 'URLSessionWebSocketTask' in scope
148 | private let TokenExpirationInterval: DispatchTimeInterval = .minutes(1)
149 |
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:38: error: cannot find type 'URLSessionWebSocketDelegate' in scope
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- error: cannot find type 'URLSessionWebSocketDelegate' in scope
153 | let app: String
154 | let client: Client
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:54: error: cannot infer contextual base in reference to member 'default'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:161:23: error: cannot find type 'URLSessionWebSocketTask' in scope
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
162 | private var token: String?
163 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:279:26: error: cannot find type 'URLSessionWebSocketTask' in scope
277 | }
278 |
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
280 | if let task {
281 | task.send(message) { [weak self] error in
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:303:26: error: cannot find type 'URLSessionWebSocketTask' in scope
301 | func urlSession(
302 | _: URLSession,
303 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
304 | didOpenWithProtocol _: String?
305 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:302:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
300 |
301 | func urlSession(
302 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
303 | webSocketTask _: URLSessionWebSocketTask,
304 | didOpenWithProtocol _: String?
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:318:26: error: cannot find type 'URLSessionWebSocketTask' in scope
316 | func urlSession(
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
320 | reason _: Data?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:319:28: error: cannot find type 'URLSessionWebSocketTask' in scope
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
320 | reason _: Data?
321 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:317:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
315 |
316 | func urlSession(
317 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:103:28: error: cannot infer contextual base in reference to member 'string'
101 | throw FalRealtimeError.invalidInput
102 | }
103 | try sendReference(.string(json))
| `- error: cannot infer contextual base in reference to member 'string'
104 | }
105 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:108:28: error: cannot infer contextual base in reference to member 'data'
106 | func sendBinary(_ data: Input) throws {
107 | let payload = try MsgPackEncoder().encode(data)
108 | try sendReference(.data(payload))
| `- error: cannot infer contextual base in reference to member 'data'
109 | }
110 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:247:37: error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
245 |
246 | func receiveMessage() {
247 | task?.receive { [weak self] incomingMessage in
| `- error: cannot infer type of closure parameter 'incomingMessage' without a type annotation
248 | switch incomingMessage {
249 | case let .success(message):
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:281:46: error: cannot infer type of closure parameter 'error' without a type annotation
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
280 | if let task {
281 | task.send(message) { [weak self] error in
| `- error: cannot infer type of closure parameter 'error' without a type annotation
282 | if let error {
283 | self?.onError(error)
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:297:29: error: cannot infer contextual base in reference to member 'normalClosure'
295 |
296 | func close() {
297 | task?.cancel(with: .normalClosure, reason: "Programmatically closed".data(using: .utf8))
| `- error: cannot infer contextual base in reference to member 'normalClosure'
298 | task = nil
299 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:322:21: error: cannot infer contextual base in reference to member 'normalClosure'
320 | reason _: Data?
321 | ) {
322 | if code != .normalClosure {
| `- error: cannot infer contextual base in reference to member 'normalClosure'
323 | onError(FalRealtimeError.connectionError(code: code.rawValue))
324 | }
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:411:17: error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
409 | throttleInterval: throttleInterval,
410 | connectionFactory: { send, close in
411 | RealtimeConnection(send, close)
| `- error: 'RealtimeConnection' cannot be constructed because it has no accessible initializers
412 | },
413 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:112:23: error: cannot find 'URLRequest' in scope
110 | // Here we use URLSession directly instead of the client to avoid going
111 | // through the proxy, we need to hit the blob url directly.
112 | var request = URLRequest(url: URL(string: uploadUrl.uploadUrl)!)
| `- error: cannot find 'URLRequest' in scope
113 | request.httpMethod = "PUT"
114 | request.httpBody = data
/host/spi-builder-workspace/Sources/FalClient/Storage.swift:118:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
116 | request.setValue(String(data.count), forHTTPHeaderField: "Content-Length")
117 |
118 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
119 | try client.checkResponseStatus(for: response, withData: data)
120 |
[16/28] Compiling FalClient QueueStatus.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| `- error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: generic parameter 'Input' could not be inferred
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| |- error: generic parameter 'Input' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:116:38: note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
114 |
115 | /// Connection implementation that can be used to send messages using a custom `Encodable` type.
116 | public class TypedRealtimeConnection<Input: Encodable>: BaseRealtimeConnection<Input> {}
| `- note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
117 |
118 | /// This is a list of apps deployed before formal realtime support. Their URLs follow
[17/28] Compiling FalClient Realtime+Codable.swift
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| `- error: 'TypedRealtimeConnection<Input>' cannot be constructed because it has no accessible initializers
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime+Codable.swift:16:17: error: generic parameter 'Input' could not be inferred
14 | throttleInterval: throttleInterval,
15 | connectionFactory: { send, close in
16 | TypedRealtimeConnection(send, close)
| |- error: generic parameter 'Input' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
17 | },
18 | onResult: completion
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:116:38: note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
114 |
115 | /// Connection implementation that can be used to send messages using a custom `Encodable` type.
116 | public class TypedRealtimeConnection<Input: Encodable>: BaseRealtimeConnection<Input> {}
| `- note: 'Input' declared as parameter to type 'TypedRealtimeConnection'
117 |
118 | /// This is a list of apps deployed before formal realtime support. Their URLs follow
[18/30] Compiling FalClient Queue+Codable.swift
[19/30] Compiling FalClient Queue.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[20/30] Compiling FalClient Client+Codable.swift
[21/30] Compiling FalClient Client+Config.swift
[22/30] Emitting module FalClient
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:3:1: error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
1 | import Foundation
2 |
3 | extension HTTPURLResponse {
| `- error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
4 | /// Returns `true` if `statusCode` is in range 200...299.
5 | /// Otherwise `false`.
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:60:44: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
58 | }
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
61 | guard response is HTTPURLResponse else {
62 | throw FalError.invalidResultFormat
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:44:27: error: cannot find type 'URLSessionWebSocketTask' in scope
42 | }
43 |
44 | typealias SendFunction = (URLSessionWebSocketTask.Message) throws -> Void
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
45 | typealias CloseFunction = () -> Void
46 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:76:18: error: @escaping attribute only applies to function types
74 | var closeReference: CloseFunction
75 |
76 | init(_ send: @escaping SendFunction, _ close: @escaping CloseFunction) {
| `- error: @escaping attribute only applies to function types
77 | sendReference = send
78 | closeReference = close
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:150:30: error: cannot find type 'URLSessionWebSocketTask' in scope
148 | private let TokenExpirationInterval: DispatchTimeInterval = .minutes(1)
149 |
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:38: error: cannot find type 'URLSessionWebSocketDelegate' in scope
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- error: cannot find type 'URLSessionWebSocketDelegate' in scope
153 | let app: String
154 | let client: Client
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:159:54: error: cannot infer contextual base in reference to member 'default'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:161:23: error: cannot find type 'URLSessionWebSocketTask' in scope
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
161 | private var task: URLSessionWebSocketTask?
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
162 | private var token: String?
163 |
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:279:26: error: cannot find type 'URLSessionWebSocketTask' in scope
277 | }
278 |
279 | func send(_ message: URLSessionWebSocketTask.Message) throws {
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
280 | if let task {
281 | task.send(message) { [weak self] error in
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:303:26: error: cannot find type 'URLSessionWebSocketTask' in scope
301 | func urlSession(
302 | _: URLSession,
303 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
304 | didOpenWithProtocol _: String?
305 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:302:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
300 |
301 | func urlSession(
302 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
303 | webSocketTask _: URLSessionWebSocketTask,
304 | didOpenWithProtocol _: String?
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:318:26: error: cannot find type 'URLSessionWebSocketTask' in scope
316 | func urlSession(
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
320 | reason _: Data?
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:319:28: error: cannot find type 'URLSessionWebSocketTask' in scope
317 | _: URLSession,
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
| `- error: cannot find type 'URLSessionWebSocketTask' in scope
320 | reason _: Data?
321 | ) {
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:317:12: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
315 |
316 | func urlSession(
317 | _: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
318 | webSocketTask _: URLSessionWebSocketTask,
319 | didCloseWith code: URLSessionWebSocketTask.CloseCode,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Realtime.swift:423:64: error: @escaping attribute only applies to function types
421 | connectionKey: String = UUID().uuidString,
422 | throttleInterval: DispatchTimeInterval = .milliseconds(128),
423 | connectionFactory createRealtimeConnection: @escaping (@escaping SendFunction, @escaping CloseFunction) -> BaseRealtimeConnection<InputType>,
| `- error: @escaping attribute only applies to function types
424 | onResult completion: @escaping (Result<ResultType, Error>) -> Void
425 | ) -> BaseRealtimeConnection<InputType> {
[23/30] Compiling FalClient Client+Request.swift
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:3:1: error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
1 | import Foundation
2 |
3 | extension HTTPURLResponse {
| `- error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
4 | /// Returns `true` if `statusCode` is in range 200...299.
5 | /// Otherwise `false`.
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:60:44: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
58 | }
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
61 | guard response is HTTPURLResponse else {
62 | throw FalError.invalidResultFormat
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:35:23: error: cannot find 'URLRequest' in scope
33 | }
34 |
35 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
36 | request.httpMethod = options.httpMethod.rawValue.uppercased()
37 | request.setValue("application/json", forHTTPHeaderField: "accept")
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:55:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
53 | request.httpBody = input
54 | }
55 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
56 | try checkResponseStatus(for: response, withData: data)
57 | return data
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:24: warning: 'is' test is always true
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- warning: 'is' test is always true
62 | throw FalError.invalidResultFormat
63 | }
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:27: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:40: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:44: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:75: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:66:43: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:69:36: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
69 | ?? HTTPURLResponse.localizedString(forStatusCode: statusCode)
| `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
70 | throw FalError.httpError(
71 | status: statusCode,
[24/30] Compiling FalClient Client.swift
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:3:1: error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
1 | import Foundation
2 |
3 | extension HTTPURLResponse {
| `- error: non-nominal type 'HTTPURLResponse' (aka 'AnyObject') cannot be extended
4 | /// Returns `true` if `statusCode` is in range 200...299.
5 | /// Otherwise `false`.
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:60:44: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
58 | }
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
61 | guard response is HTTPURLResponse else {
62 | throw FalError.invalidResultFormat
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:35:23: error: cannot find 'URLRequest' in scope
33 | }
34 |
35 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
36 | request.httpMethod = options.httpMethod.rawValue.uppercased()
37 | request.setValue("application/json", forHTTPHeaderField: "accept")
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:55:53: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
53 | request.httpBody = input
54 | }
55 | let (data, response) = try await URLSession.shared.data(for: request)
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
56 | try checkResponseStatus(for: response, withData: data)
57 | return data
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:24: warning: 'is' test is always true
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- warning: 'is' test is always true
62 | throw FalError.invalidResultFormat
63 | }
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:61:27: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
59 |
60 | func checkResponseStatus(for response: URLResponse, withData data: Data) throws {
61 | guard response is HTTPURLResponse else {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:40: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:44: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:64:75: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
62 | throw FalError.invalidResultFormat
63 | }
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'isSuccessful'
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:66:43: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
64 | if let httpResponse = response as? HTTPURLResponse, !httpResponse.isSuccessful {
65 | let errorPayload = try? Payload.create(fromJSON: data)
66 | let statusCode = httpResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
/host/spi-builder-workspace/Sources/FalClient/Client+Request.swift:69:36: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
67 | let message = errorPayload?["detail"].stringValue
68 | ?? errorPayload?.stringValue
69 | ?? HTTPURLResponse.localizedString(forStatusCode: statusCode)
| `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
70 | throw FalError.httpError(
71 | status: statusCode,
[25/30] Compiling FalClient FalImage.swift
[26/30] Compiling FalClient Payload.swift
[27/30] Compiling FalClient FalClient.swift
[28/30] Compiling FalClient FalError.swift
[29/30] Compiling FalClient TimeInterval+Extensions.swift
[30/30] Compiling FalClient Utility.swift
BUILD FAILURE 6.1 linux