The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of FalClient, reference 0.5.6 (a58ca8), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 11:32:58 UTC.

Swift 6 data race errors: 9

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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

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 /Users/admin/builder/spi-builder-workspace/.git/
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
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetching https://github.com/nnabeyang/swift-msgpack.git
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/mattgallagher/CwlCatchException.git
Fetching https://github.com/Quick/Nimble.git
[1/455] Fetching cwlcatchexception
[29/1712] Fetching cwlcatchexception, cwlpreconditiontesting
[520/2301] Fetching cwlcatchexception, cwlpreconditiontesting, swift-msgpack
[1536/17056] Fetching cwlcatchexception, cwlpreconditiontesting, swift-msgpack, quick
[2745/36623] Fetching cwlcatchexception, cwlpreconditiontesting, swift-msgpack, quick, nimble
Fetched https://github.com/Quick/Quick.git from cache (1.75s)
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (1.75s)
Fetched https://github.com/nnabeyang/swift-msgpack.git from cache (1.75s)
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (1.75s)
Fetched https://github.com/Quick/Nimble.git from cache (1.75s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 13.2.0 (2.29s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 7.3.1 (0.60s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.3.3 (0.60s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.0 (0.59s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.2 (0.59s)
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.0
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 7.3.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.1.2
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 13.2.0
Creating working copy for https://github.com/nnabeyang/swift-msgpack.git
Working copy of https://github.com/nnabeyang/swift-msgpack.git resolved at 0.3.3
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "fal-swift",
      "name": "FalClient",
      "url": "https://github.com/fal-ai/fal-swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fal-swift",
      "dependencies": [
        {
          "identity": "swift-msgpack",
          "name": "swift-msgpack",
          "url": "https://github.com/nnabeyang/swift-msgpack.git",
          "version": "0.7.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-msgpack",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/fal-ai/fal-swift.git
[14/684] Fetching fal-swift
Fetched https://github.com/fal-ai/fal-swift.git from cache (0.78s)
Fetching https://github.com/nnabeyang/swift-msgpack.git from cache
Fetched https://github.com/nnabeyang/swift-msgpack.git from cache (0.45s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.7.0 (1.00s)
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/fal-ai/fal-swift.git
Working copy of https://github.com/fal-ai/fal-swift.git resolved at 0.5.6 (a58ca8a)
warning: '.resolve-product-dependencies': dependency 'fal-swift' is not used by any target
Found 1 product dependencies
  - swift-msgpack
========================================
Build
========================================
Selected platform:         macosSpm
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
{
  "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" : "/Users/admin/builder/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 ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/9] Compiling SwiftMsgpack MsgPackEncoder.swift
[5/9] Compiling SwiftMsgpack MsgPackScanner.swift
[6/9] Compiling SwiftMsgpack MsgPackTimestamp.swift
[7/9] Compiling SwiftMsgpack AnyCodable.swift
[8/9] Compiling SwiftMsgpack MsgPackDecoder.swift
[9/9] Emitting module SwiftMsgpack
[10/25] Compiling FalClient FalImage.swift
[11/25] Compiling FalClient Payload.swift
[12/26] Compiling FalClient Storage.swift
[13/26] Compiling FalClient FalClient.swift
/Users/admin/builder/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)
/Users/admin/builder/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)
[14/26] Compiling FalClient FalError.swift
/Users/admin/builder/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)
/Users/admin/builder/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)
[15/26] Compiling FalClient TimeInterval+Extensions.swift
[16/26] Compiling FalClient Realtime.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:7: warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
    |       `- warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
153 |     let app: String
154 |     let client: Client
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:154:9: warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
153 |     let app: String
154 |     let client: Client
    |         `- warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
155 |     let onMessage: (WebSocketMessage) -> Void
156 |     let onError: (Error) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:33:17: note: protocol 'Client' does not conform to the 'Sendable' protocol
 31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
 32 |
 33 | public protocol Client {
    |                 `- note: protocol 'Client' does not conform to the 'Sendable' protocol
 34 |     var config: ClientConfig { get }
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:155:9: warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
153 |     let app: String
154 |     let client: Client
155 |     let onMessage: (WebSocketMessage) -> Void
    |         |- warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 |     let onError: (Error) -> Void
157 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:156:9: warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
154 |     let client: Client
155 |     let onMessage: (WebSocketMessage) -> Void
156 |     let onError: (Error) -> Void
    |         |- warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |
158 |     private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:160:17: warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
158 |     private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 |     private let session = URLSession(configuration: .default)
160 |     private var enqueuedMessage: WebSocketMessage? = nil
    |                 `- warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
161 |     private var task: URLSessionWebSocketTask?
162 |     private var token: String?
/Users/admin/builder/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.
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:223:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
221 |
222 |     func refreshToken(_ app: String, completion: @escaping (Result<String, Error>) -> Void) {
223 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
224 |             let url = "https://rest.alpha.fal.ai/tokens/"
225 |             let body: Payload = try [
    :
234 |                 )
235 |                 if let token = String(data: response, encoding: .utf8) {
236 |                     completion(.success(token.replacingOccurrences(of: "\"", with: "")))
    |                     `- note: closure captures 'completion' which is accessible to code in the current task
237 |                 } else {
238 |                     completion(.failure(FalRealtimeError.unauthorized))
[17/26] Compiling FalClient QueueStatus.swift
[18/26] Compiling FalClient Realtime+Codable.swift
[19/26] Compiling FalClient Queue+Codable.swift
[20/26] Compiling FalClient Queue.swift
[21/26] Compiling FalClient Utility.swift
[22/26] Compiling FalClient Client+Request.swift
/Users/admin/builder/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
[23/26] Compiling FalClient Client.swift
/Users/admin/builder/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
[24/26] Compiling FalClient Client+Codable.swift
/Users/admin/builder/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 |
[25/26] Compiling FalClient Client+Config.swift
/Users/admin/builder/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 |
[26/26] Emitting module FalClient
/Users/admin/builder/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 |
/Users/admin/builder/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
/Users/admin/builder/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)
/Users/admin/builder/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)
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:7: warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
    |       `- warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
153 |     let app: String
154 |     let client: Client
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:154:9: warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
153 |     let app: String
154 |     let client: Client
    |         `- warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
155 |     let onMessage: (WebSocketMessage) -> Void
156 |     let onError: (Error) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:33:17: note: protocol 'Client' does not conform to the 'Sendable' protocol
 31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
 32 |
 33 | public protocol Client {
    |                 `- note: protocol 'Client' does not conform to the 'Sendable' protocol
 34 |     var config: ClientConfig { get }
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:155:9: warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
153 |     let app: String
154 |     let client: Client
155 |     let onMessage: (WebSocketMessage) -> Void
    |         |- warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 |     let onError: (Error) -> Void
157 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:156:9: warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
154 |     let client: Client
155 |     let onMessage: (WebSocketMessage) -> Void
156 |     let onError: (Error) -> Void
    |         |- warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |
158 |     private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:160:17: warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
158 |     private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 |     private let session = URLSession(configuration: .default)
160 |     private var enqueuedMessage: WebSocketMessage? = nil
    |                 `- warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
161 |     private var task: URLSessionWebSocketTask?
162 |     private var token: String?
/Users/admin/builder/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.
Build complete! (9.70s)
warning: 'nimble': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/Nimble/Sources/Nimble/PrivacyInfo.xcprivacy
Build complete.
{
  "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" : "/Users/admin/builder/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"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/fal-ai/fal-swift/0.5.6
Repository:               fal-ai/fal-swift
Swift version used:       6.1
Target:                   FalClient
Extracting symbol information for 'FalClient'...
Finished extracting symbol information for 'FalClient'. (3.64s)
Building documentation for 'FalClient'...
Finished building documentation for 'FalClient' (0.22s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/fal-ai/fal-swift/0.5.6
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/Quick/Nimble.git
Updating https://github.com/nnabeyang/swift-msgpack.git
Updating https://github.com/Quick/Quick.git
Updating https://github.com/mattgallagher/CwlCatchException.git
Updating https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.46s)
Updated https://github.com/nnabeyang/swift-msgpack.git (0.50s)
Updated https://github.com/Quick/Nimble.git (0.50s)
Updated https://github.com/mattgallagher/CwlCatchException.git (0.64s)
Updated https://github.com/mattgallagher/CwlPreconditionTesting.git (0.64s)
Updated https://github.com/Quick/Quick.git (0.64s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 13.2.0 (1.62s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 7.3.1 (0.58s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.3.3 (0.59s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.0 (0.60s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.2 (0.59s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.62s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.75s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.41s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[2/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling Snippets SnippetParser.swift
[7/53] Compiling Snippets Snippet.swift
[8/53] Emitting module Snippets
[9/53] Compiling SymbolKit Relationship.swift
[10/53] Compiling SymbolKit RelationshipKind.swift
[11/53] Compiling SymbolKit SourceOrigin.swift
[12/53] Compiling SymbolKit GenericConstraints.swift
[13/53] Compiling SymbolKit Swift.swift
[14/57] Compiling SymbolKit DeclarationFragments.swift
[15/57] Compiling SymbolKit Fragment.swift
[16/57] Compiling SymbolKit FragmentKind.swift
[17/57] Compiling SymbolKit FunctionParameter.swift
[18/57] Compiling SymbolKit FunctionSignature.swift
[19/57] Compiling SymbolKit SourceRange.swift
[20/57] Compiling SymbolKit Metadata.swift
[21/57] Compiling SymbolKit Module.swift
[22/57] Compiling SymbolKit OperatingSystem.swift
[23/57] Compiling SymbolKit Platform.swift
[24/57] Compiling SymbolKit Mixin+Equals.swift
[25/57] Compiling SymbolKit Mixin+Hash.swift
[26/57] Compiling SymbolKit Mixin.swift
[27/57] Compiling SymbolKit LineList.swift
[28/57] Compiling SymbolKit Position.swift
[29/57] Compiling SymbolKit SemanticVersion.swift
[30/57] Compiling SymbolKit AccessControl.swift
[31/57] Compiling SymbolKit Availability.swift
[32/57] Compiling SymbolKit AvailabilityItem.swift
[33/57] Compiling SymbolKit Domain.swift
[34/57] Compiling SymbolKit Names.swift
[35/57] Compiling SymbolKit SPI.swift
[36/57] Compiling SymbolKit Snippet.swift
[37/57] Compiling SymbolKit Extension.swift
[38/57] Emitting module SymbolKit
[39/57] Compiling SymbolKit Identifier.swift
[40/57] Compiling SymbolKit KindIdentifier.swift
[41/57] Compiling SymbolKit Location.swift
[42/57] Compiling SymbolKit Mutability.swift
[43/57] Compiling SymbolKit GenericConstraint.swift
[44/57] Compiling SymbolKit GenericParameter.swift
[45/57] Compiling SymbolKit Generics.swift
[46/57] Compiling SymbolKit Namespace.swift
[47/57] Compiling SymbolKit Symbol.swift
[48/57] Compiling SymbolKit SymbolKind.swift
[49/57] Compiling SymbolKit SymbolGraph.swift
[50/57] Compiling SymbolKit GraphCollector.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.34s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/7] Compiling SwiftMsgpack MsgPackTimestamp.swift
[3/7] Compiling SwiftMsgpack AnyCodable.swift
[4/7] Compiling SwiftMsgpack MsgPackDecoder.swift
[5/7] Emitting module SwiftMsgpack
[6/7] Compiling SwiftMsgpack MsgPackEncoder.swift
[7/7] Compiling SwiftMsgpack MsgPackScanner.swift
[8/23] Compiling FalClient Queue+Codable.swift
[9/23] Compiling FalClient Queue.swift
[10/24] Compiling FalClient Client+Codable.swift
[11/24] Compiling FalClient Client+Config.swift
[12/24] Emitting module FalClient
[13/24] Compiling FalClient Client+Request.swift
[14/24] Compiling FalClient Client.swift
[15/24] Compiling FalClient FalClient.swift
[16/24] Compiling FalClient FalError.swift
[17/24] Compiling FalClient FalImage.swift
[18/24] Compiling FalClient Payload.swift
[19/24] Compiling FalClient QueueStatus.swift
[20/24] Compiling FalClient Realtime+Codable.swift
[21/24] Compiling FalClient Storage.swift
[22/24] Compiling FalClient Realtime.swift
[23/24] Compiling FalClient TimeInterval+Extensions.swift
[24/24] Compiling FalClient Utility.swift
Build of target: 'FalClient' complete! (1.65s)
     490
4	/Users/admin/builder/spi-builder-workspace/.docs/fal-ai/fal-swift/0.5.6
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/fal-ai/fal-swift/0.5.6
File count: 490
Doc size:   4.0MB
Preparing doc bundle ...
Uploading prod-fal-ai-fal-swift-0.5.6-22068279.zip to s3://spi-docs-inbox/prod-fal-ai-fal-swift-0.5.6-22068279.zip
Copying... [16%]
Copying... [24%]
Copying... [32%]
Copying... [41%]
Copying... [57%]
Copying... [65%]
Copying... [73%]
Copying... [81%]
Copying... [97%]
Copying... [100%]
Done.