The Swift Package Index logo.Swift Package Index

Build Information

Successful build of NetworkLayer, reference 1.0.0 (e64876), with Swift 6.1 for macOS (SPM) on 16 Jul 2026 05:38:26 UTC.

Swift 6 data race errors: 3

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: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Wassimbouabid/Netto.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Wassimbouabid/Netto
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at e648761 docs: document license, decoder injection and test suite in README
Cloned https://github.com/Wassimbouabid/Netto.git
Revision (git rev-parse @):
e6487613b81070055a5bded9bcc6b8f2fccd44a2
SUCCESS checkout https://github.com/Wassimbouabid/Netto.git at 1.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Wassimbouabid/Netto.git
https://github.com/Wassimbouabid/Netto.git
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.9.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    },
    {
      "identity" : "cocoalumberjack",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.8.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/CocoaLumberjack/CocoaLumberjack.git"
    }
  ],
  "manifest_display_name" : "NetworkLayer",
  "name" : "NetworkLayer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "NetworkLayer",
      "targets" : [
        "NetworkLayer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NetworkLayerTests",
      "module_type" : "SwiftTarget",
      "name" : "NetworkLayerTests",
      "path" : "LibraryCore/NetworkLayer/Tests/NetworkLayerTests",
      "product_dependencies" : [
        "Alamofire"
      ],
      "sources" : [
        "DefaultErrorResponseParserTests.swift",
        "DefaultNetworkErrorHandlerTests.swift",
        "DefaultResponseHandlerTests.swift",
        "DomainServiceTests.swift",
        "NetworkErrorTests.swift",
        "PreRequestHandlerTests.swift",
        "RequestModelsTests.swift",
        "RobustJSONDecoderTests.swift",
        "TestDoubles.swift"
      ],
      "target_dependencies" : [
        "NetworkLayer"
      ],
      "type" : "test"
    },
    {
      "c99name" : "NetworkLayer",
      "module_type" : "SwiftTarget",
      "name" : "NetworkLayer",
      "path" : "LibraryCore/NetworkLayer/Sources/NetworkLayer",
      "product_dependencies" : [
        "Alamofire",
        "CocoaLumberjackSwift"
      ],
      "product_memberships" : [
        "NetworkLayer"
      ],
      "sources" : [
        "Builder/MediaServiceBuilder.swift",
        "Builder/NetworkServiceBuilder.swift",
        "Builder/NetworkingContainer.swift",
        "Decoder/RobustJSONDecoder.swift",
        "Error/DefaultNetworkErrorHandler.swift",
        "Error/ErrorResponseParser.swift",
        "Error/NetworkError.swift",
        "Error/NetworkErrorHandler.swift",
        "Logger/DefaultNetworkLogger.swift",
        "Logger/NetworkLogger.swift",
        "Media/MediaDownloadRequest.swift",
        "Media/MediaDownloadResult.swift",
        "Media/MediaDownloadService.swift",
        "Media/MediaDownloadServiceImpl.swift",
        "Network Manager/NetworkManager.swift",
        "Network Manager/NetworkService.swift",
        "Network Manager/NetworkSessionConfiguration.swift",
        "Network Manager/NetworkTimeouts.swift",
        "Network Monitor/ConnectivityListener.swift",
        "Network Monitor/DefaultNetworkMonitor.swift",
        "Network Monitor/NetworkMonitor.swift",
        "NetworkLayer.swift",
        "PreRequest/PreRequestHandler.swift",
        "PreRequest/PreRequestHandlerImpl.swift",
        "Request/APIEndpoint.swift",
        "Request/APIRequest.swift",
        "Request/DomainService.swift",
        "Request/ServiceContext.swift",
        "Response/DefaultResponseHandler.swift",
        "Response/NetworkResponse.swift",
        "Response/ResponseHandler.swift",
        "Storage/KeychainTokenStorage.swift",
        "Storage/TokenStorage.swift",
        "Utils/Alamofire+Utils.swift",
        "Utils/Encodable+toDictionary.swift",
        "Utils/ParameterEncoding+multipart.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
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/22] Write sources
[1/22] Copying PrivacyInfo.xcprivacy
[5/22] Write swift-version-2F0A5646E1D333AE.txt
[6/22] Compiling CocoaLumberjackSwiftSupport empty.c
[7/63] Compiling CocoaLumberjack resource_bundle_accessor.m
[8/63] Compiling DDMultiFormatter.m
[9/63] Compiling CocoaLumberjack DDLoggerNames.m
[10/63] Compiling DDContextFilterLogFormatter.m
[11/63] Compiling CocoaLumberjack DDFileLogger.m
[12/63] Compiling CocoaLumberjack DDAbstractDatabaseLogger.m
[13/63] Compiling DDContextFilterLogFormatter+Deprecated.m
[14/63] Compiling DDFileLogger+Buffering.m
[15/63] Compiling CocoaLumberjack DDASLLogger.m
[16/63] Compiling CocoaLumberjack DDOSLogger.m
[17/63] Compiling CocoaLumberjack DDASLLogCapture.m
[18/63] Compiling DDDispatchQueueLogFormatter.m
[19/63] Compiling CLIColor.m
[21/63] Emitting module Alamofire
[21/67] Compiling CocoaLumberjack DDLog.m
[22/67] Compiling CocoaLumberjack DDTTYLogger.m
[24/75] Compiling Alamofire OperationQueue+Alamofire.swift
[25/75] Compiling Alamofire Result+Alamofire.swift
[26/75] Compiling Alamofire StringEncoding+Alamofire.swift
[27/75] Compiling Alamofire URLRequest+Alamofire.swift
[28/75] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[29/75] Compiling Alamofire AlamofireExtended.swift
[30/75] Compiling Alamofire AuthenticationInterceptor.swift
[31/75] Compiling Alamofire CachedResponseHandler.swift
[32/75] Compiling Alamofire RequestCompression.swift
[33/75] Compiling Alamofire RequestInterceptor.swift
[34/75] Compiling Alamofire ResponseSerialization.swift
[35/75] Compiling Alamofire RetryPolicy.swift
[36/75] Compiling Alamofire SessionDelegate.swift
[37/75] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[38/75] Compiling Alamofire UploadRequest.swift
[39/75] Compiling Alamofire WebSocketRequest.swift
[40/75] Compiling Alamofire DispatchQueue+Alamofire.swift
[41/75] Compiling Alamofire ServerTrustEvaluation.swift
[42/75] Compiling Alamofire URLEncodedFormEncoder.swift
[43/75] Compiling Alamofire Validation.swift
[44/75] Compiling Alamofire resource_bundle_accessor.swift
[45/75] Compiling Alamofire Protected.swift
[46/75] Compiling Alamofire Request.swift
[47/75] Compiling Alamofire RequestTaskMap.swift
[48/75] Compiling Alamofire Response.swift
[49/75] Compiling Alamofire Session.swift
[50/75] Compiling Alamofire Combine.swift
[51/75] Compiling Alamofire Concurrency.swift
[52/75] Compiling Alamofire EventMonitor.swift
[53/75] Compiling Alamofire MultipartFormData.swift
[54/75] Compiling Alamofire MultipartUpload.swift
[55/75] Compiling Alamofire NetworkReachabilityManager.swift
[56/75] Compiling Alamofire OfflineRetrier.swift
[57/75] Compiling Alamofire RedirectHandler.swift
[58/75] Compiling Alamofire Alamofire.swift
[59/75] Compiling Alamofire AFError.swift
[60/75] Compiling Alamofire DataRequest.swift
[61/75] Compiling Alamofire DataStreamRequest.swift
[62/75] Compiling Alamofire DownloadRequest.swift
[63/75] Compiling Alamofire HTTPHeaders.swift
[64/75] Compiling Alamofire HTTPMethod.swift
[65/75] Compiling Alamofire Notifications.swift
[66/75] Compiling Alamofire ParameterEncoder.swift
[67/75] Compiling Alamofire ParameterEncoding.swift
[68/75] Compiling CocoaLumberjackSwift DDLogFlag+DDLogLevel.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
[69/75] Compiling CocoaLumberjackSwift DDLog+Combine.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
[70/75] Compiling CocoaLumberjackSwift DDLogMessageFormat.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
[71/75] Compiling CocoaLumberjackSwift ConfigurationGlobals.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
[72/75] Emitting module CocoaLumberjackSwift
<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
[73/75] Compiling CocoaLumberjackSwift DDAssert.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
[74/75] Compiling CocoaLumberjackSwift CurrentFileNameHelper.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
[75/75] Compiling CocoaLumberjackSwift CocoaLumberjack.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
[76/109] Emitting module NetworkLayer
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkingContainer.swift:53:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// }
 48 | /// ```
 49 | public final class NetworkContainer {
    |                    `- note: class 'NetworkContainer' does not conform to the 'Sendable' protocol
 50 |
 51 |     // MARK: - Shared Instance
 52 |
 53 |     public static let shared = NetworkContainer()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     private init() {}
 55 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Decoder/RobustJSONDecoder.swift:92:14: warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 90 |
 91 | /// A decoder that doesn't crash on typical JSON decoding errors
 92 | public class RobustJSONDecoder: JSONDecoder {
    |              `- warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 93 |     override public func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable {
 94 |         do {
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/PreRequest/PreRequestHandlerImpl.swift:28:10: warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 26 |     // MARK: - PreRequestHandler
 27 |
 28 |     func prepare(_ request: inout APIRequest) async throws {
    |          `- warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |         let accessToken = try await fetchValidAccessToken()
 30 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Storage/KeychainTokenStorage.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | /// Override it or provide a completely custom storage via
 27 | /// `NetworkServiceBuilder.withTokenStorage(_:)`.
 28 | public final class KeychainTokenStorage: TokenStorage {
    |                    `- note: class 'KeychainTokenStorage' does not conform to the 'Sendable' protocol
 29 |
 30 |     // MARK: - Shared Instance
 31 |
 32 |     /// Convenience singleton using the bundle ID as namespace.
 33 |     public static let shared = KeychainTokenStorage()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // MARK: - Configuration
[77/112] Compiling NetworkLayer MediaDownloadService.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:192:40: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |                 url,
191 |                 method: apiRequest.method.toAlamofire(),
192 |                 parameters: apiRequest.parameters,
    |                                        `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
193 |                 encoding: apiRequest.encoding.toAlamofire(),
194 |                 headers: headers,
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:202:36: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
200 |             url,
201 |             method: apiRequest.method.toAlamofire(),
202 |             parameters: apiRequest.parameters,
    |                                    `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
203 |             encoding: apiRequest.encoding.toAlamofire(),
204 |             headers: headers
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:179:25: warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
177 |                 headers: headers,
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
    |                         |- warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 |                     if let timeout = apiRequest.timeout {
181 |                         urlRequest.timeoutInterval = timeout
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:180:38: warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
180 |                     if let timeout = apiRequest.timeout {
    |                                      `- warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 |                         urlRequest.timeoutInterval = timeout
182 |                     }
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:35: 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
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                                   `- 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
 69 |                         guard let self else {
    |                                   `- note: closure captures non-Sendable 'self'
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
    |                                     `- note: closure captures non-Sendable 'request'
 71 |                         }
 72 |                         return (request, await self.downloadMedia(request))
[78/112] Compiling NetworkLayer MediaDownloadServiceImpl.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:192:40: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |                 url,
191 |                 method: apiRequest.method.toAlamofire(),
192 |                 parameters: apiRequest.parameters,
    |                                        `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
193 |                 encoding: apiRequest.encoding.toAlamofire(),
194 |                 headers: headers,
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:202:36: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
200 |             url,
201 |             method: apiRequest.method.toAlamofire(),
202 |             parameters: apiRequest.parameters,
    |                                    `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
203 |             encoding: apiRequest.encoding.toAlamofire(),
204 |             headers: headers
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:179:25: warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
177 |                 headers: headers,
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
    |                         |- warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 |                     if let timeout = apiRequest.timeout {
181 |                         urlRequest.timeoutInterval = timeout
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:180:38: warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
180 |                     if let timeout = apiRequest.timeout {
    |                                      `- warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 |                         urlRequest.timeoutInterval = timeout
182 |                     }
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:35: 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
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                                   `- 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
 69 |                         guard let self else {
    |                                   `- note: closure captures non-Sendable 'self'
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
    |                                     `- note: closure captures non-Sendable 'request'
 71 |                         }
 72 |                         return (request, await self.downloadMedia(request))
[79/112] Compiling NetworkLayer NetworkManager.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:192:40: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |                 url,
191 |                 method: apiRequest.method.toAlamofire(),
192 |                 parameters: apiRequest.parameters,
    |                                        `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
193 |                 encoding: apiRequest.encoding.toAlamofire(),
194 |                 headers: headers,
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:202:36: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
200 |             url,
201 |             method: apiRequest.method.toAlamofire(),
202 |             parameters: apiRequest.parameters,
    |                                    `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
203 |             encoding: apiRequest.encoding.toAlamofire(),
204 |             headers: headers
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:179:25: warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
177 |                 headers: headers,
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
    |                         |- warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 |                     if let timeout = apiRequest.timeout {
181 |                         urlRequest.timeoutInterval = timeout
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:180:38: warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
180 |                     if let timeout = apiRequest.timeout {
    |                                      `- warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 |                         urlRequest.timeoutInterval = timeout
182 |                     }
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:35: 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
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                                   `- 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
 69 |                         guard let self else {
    |                                   `- note: closure captures non-Sendable 'self'
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
    |                                     `- note: closure captures non-Sendable 'request'
 71 |                         }
 72 |                         return (request, await self.downloadMedia(request))
[80/112] Compiling NetworkLayer NetworkService.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:19: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                   `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:66:87: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |
 65 |         for batch in batches {
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
    |                                                                                       `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadRequest' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadRequest.swift:9:15: note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
 7 |
 8 | /// Generic media download request
 9 | public struct MediaDownloadRequest: Hashable {
   |               `- note: consider making struct 'MediaDownloadRequest' conform to the 'Sendable' protocol
10 |     public let id: String
11 |     public let url: String
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:27: warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                           `- warning: type 'MediaDownloadResult' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 69 |                         guard let self else {
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadResult.swift:11:13: note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
 9 |
10 | /// Result of a media download operation
11 | public enum MediaDownloadResult {
   |             `- note: consider making enum 'MediaDownloadResult' conform to the 'Sendable' protocol
12 |     case success(data: Data)
13 |     case failure(error: Error)
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:192:40: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
190 |                 url,
191 |                 method: apiRequest.method.toAlamofire(),
192 |                 parameters: apiRequest.parameters,
    |                                        `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
193 |                 encoding: apiRequest.encoding.toAlamofire(),
194 |                 headers: headers,
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:202:36: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
200 |             url,
201 |             method: apiRequest.method.toAlamofire(),
202 |             parameters: apiRequest.parameters,
    |                                    `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
203 |             encoding: apiRequest.encoding.toAlamofire(),
204 |             headers: headers
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:179:25: warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
177 |                 headers: headers,
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
    |                         |- warning: capture of 'customEncoder' with non-sendable type '(inout URLRequest) throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 |                     if let timeout = apiRequest.timeout {
181 |                         urlRequest.timeoutInterval = timeout
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Manager/NetworkManager.swift:180:38: warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                 requestModifier: { urlRequest in
179 |                     try customEncoder(&urlRequest)
180 |                     if let timeout = apiRequest.timeout {
    |                                      `- warning: capture of 'apiRequest' with non-sendable type 'APIRequest' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 |                         urlRequest.timeoutInterval = timeout
182 |                     }
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Media/MediaDownloadServiceImpl.swift:68:35: 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
 66 |             await withTaskGroup(of: (MediaDownloadRequest, MediaDownloadResult).self) { group in
 67 |                 for request in batch {
 68 |                     group.addTask { [weak self] in
    |                                   `- 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
 69 |                         guard let self else {
    |                                   `- note: closure captures non-Sendable 'self'
 70 |                             return (request, .failure(error: NetworkError.unknown(underlying: nil)))
    |                                     `- note: closure captures non-Sendable 'request'
 71 |                         }
 72 |                         return (request, await self.downloadMedia(request))
[81/112] Compiling NetworkLayer DefaultNetworkLogger.swift
[82/112] Compiling NetworkLayer NetworkLogger.swift
[83/112] Compiling NetworkLayer MediaDownloadRequest.swift
[84/112] Compiling NetworkLayer MediaDownloadResult.swift
[85/112] Compiling NetworkLayer Alamofire+Utils.swift
[86/112] Compiling NetworkLayer Encodable+toDictionary.swift
[87/112] Compiling NetworkLayer ParameterEncoding+multipart.swift
[88/112] Compiling NetworkLayer MediaServiceBuilder.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkingContainer.swift:53:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// }
 48 | /// ```
 49 | public final class NetworkContainer {
    |                    `- note: class 'NetworkContainer' does not conform to the 'Sendable' protocol
 50 |
 51 |     // MARK: - Shared Instance
 52 |
 53 |     public static let shared = NetworkContainer()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     private init() {}
 55 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Decoder/RobustJSONDecoder.swift:92:14: warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 90 |
 91 | /// A decoder that doesn't crash on typical JSON decoding errors
 92 | public class RobustJSONDecoder: JSONDecoder {
    |              `- warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 93 |     override public func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable {
 94 |         do {
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/MediaServiceBuilder.swift:90:15: warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
 88 |     public func build() -> any MediaDownloadService {
 89 |         let preRequestHandler: (any PreRequestHandler)? = tokenRefreshProvider != nil || tokenStorage != nil
 90 |             ? PreRequestHandlerImpl(
    |               |- warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
    |               `- note: sending task-isolated value of non-Sendable type 'any TokenStorage' to actor-isolated callee risks causing races in between task-isolated and actor-isolated uses
 91 |                 tokenStorage:    tokenStorage ?? KeychainTokenStorage.shared,
 92 |                 refreshProvider: tokenRefreshProvider
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkServiceBuilder.swift:195:33: warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
193 |             decoder: customDecoder ?? JSONDecoder()
194 |         )
195 |         let preRequestHandler = PreRequestHandlerImpl(
    |                                 |- warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending task-isolated 'storage' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
196 |             tokenStorage:    storage,
197 |             refreshProvider: tokenRefreshProvider
[89/112] Compiling NetworkLayer NetworkServiceBuilder.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkingContainer.swift:53:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// }
 48 | /// ```
 49 | public final class NetworkContainer {
    |                    `- note: class 'NetworkContainer' does not conform to the 'Sendable' protocol
 50 |
 51 |     // MARK: - Shared Instance
 52 |
 53 |     public static let shared = NetworkContainer()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     private init() {}
 55 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Decoder/RobustJSONDecoder.swift:92:14: warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 90 |
 91 | /// A decoder that doesn't crash on typical JSON decoding errors
 92 | public class RobustJSONDecoder: JSONDecoder {
    |              `- warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 93 |     override public func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable {
 94 |         do {
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/MediaServiceBuilder.swift:90:15: warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
 88 |     public func build() -> any MediaDownloadService {
 89 |         let preRequestHandler: (any PreRequestHandler)? = tokenRefreshProvider != nil || tokenStorage != nil
 90 |             ? PreRequestHandlerImpl(
    |               |- warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
    |               `- note: sending task-isolated value of non-Sendable type 'any TokenStorage' to actor-isolated callee risks causing races in between task-isolated and actor-isolated uses
 91 |                 tokenStorage:    tokenStorage ?? KeychainTokenStorage.shared,
 92 |                 refreshProvider: tokenRefreshProvider
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkServiceBuilder.swift:195:33: warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
193 |             decoder: customDecoder ?? JSONDecoder()
194 |         )
195 |         let preRequestHandler = PreRequestHandlerImpl(
    |                                 |- warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending task-isolated 'storage' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
196 |             tokenStorage:    storage,
197 |             refreshProvider: tokenRefreshProvider
[90/112] Compiling NetworkLayer NetworkingContainer.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkingContainer.swift:53:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// }
 48 | /// ```
 49 | public final class NetworkContainer {
    |                    `- note: class 'NetworkContainer' does not conform to the 'Sendable' protocol
 50 |
 51 |     // MARK: - Shared Instance
 52 |
 53 |     public static let shared = NetworkContainer()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     private init() {}
 55 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Decoder/RobustJSONDecoder.swift:92:14: warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 90 |
 91 | /// A decoder that doesn't crash on typical JSON decoding errors
 92 | public class RobustJSONDecoder: JSONDecoder {
    |              `- warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 93 |     override public func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable {
 94 |         do {
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/MediaServiceBuilder.swift:90:15: warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
 88 |     public func build() -> any MediaDownloadService {
 89 |         let preRequestHandler: (any PreRequestHandler)? = tokenRefreshProvider != nil || tokenStorage != nil
 90 |             ? PreRequestHandlerImpl(
    |               |- warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
    |               `- note: sending task-isolated value of non-Sendable type 'any TokenStorage' to actor-isolated callee risks causing races in between task-isolated and actor-isolated uses
 91 |                 tokenStorage:    tokenStorage ?? KeychainTokenStorage.shared,
 92 |                 refreshProvider: tokenRefreshProvider
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkServiceBuilder.swift:195:33: warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
193 |             decoder: customDecoder ?? JSONDecoder()
194 |         )
195 |         let preRequestHandler = PreRequestHandlerImpl(
    |                                 |- warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending task-isolated 'storage' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
196 |             tokenStorage:    storage,
197 |             refreshProvider: tokenRefreshProvider
[91/112] Compiling NetworkLayer RobustJSONDecoder.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkingContainer.swift:53:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// }
 48 | /// ```
 49 | public final class NetworkContainer {
    |                    `- note: class 'NetworkContainer' does not conform to the 'Sendable' protocol
 50 |
 51 |     // MARK: - Shared Instance
 52 |
 53 |     public static let shared = NetworkContainer()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NetworkContainer' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     private init() {}
 55 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Decoder/RobustJSONDecoder.swift:92:14: warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 90 |
 91 | /// A decoder that doesn't crash on typical JSON decoding errors
 92 | public class RobustJSONDecoder: JSONDecoder {
    |              `- warning: class 'RobustJSONDecoder' must restate inherited '@unchecked Sendable' conformance
 93 |     override public func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable {
 94 |         do {
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/MediaServiceBuilder.swift:90:15: warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
 88 |     public func build() -> any MediaDownloadService {
 89 |         let preRequestHandler: (any PreRequestHandler)? = tokenRefreshProvider != nil || tokenStorage != nil
 90 |             ? PreRequestHandlerImpl(
    |               |- warning: sending value of non-Sendable type 'any TokenStorage' risks causing data races; this is an error in the Swift 6 language mode
    |               `- note: sending task-isolated value of non-Sendable type 'any TokenStorage' to actor-isolated callee risks causing races in between task-isolated and actor-isolated uses
 91 |                 tokenStorage:    tokenStorage ?? KeychainTokenStorage.shared,
 92 |                 refreshProvider: tokenRefreshProvider
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Builder/NetworkServiceBuilder.swift:195:33: warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
193 |             decoder: customDecoder ?? JSONDecoder()
194 |         )
195 |         let preRequestHandler = PreRequestHandlerImpl(
    |                                 |- warning: sending 'storage' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending task-isolated 'storage' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
196 |             tokenStorage:    storage,
197 |             refreshProvider: tokenRefreshProvider
[92/112] Compiling NetworkLayer DefaultNetworkErrorHandler.swift
[93/112] Compiling NetworkLayer ErrorResponseParser.swift
[94/112] Compiling NetworkLayer NetworkError.swift
[95/112] Compiling NetworkLayer NetworkErrorHandler.swift
[96/112] Compiling NetworkLayer NetworkMonitor.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/PreRequest/PreRequestHandlerImpl.swift:28:10: warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 26 |     // MARK: - PreRequestHandler
 27 |
 28 |     func prepare(_ request: inout APIRequest) async throws {
    |          `- warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |         let accessToken = try await fetchValidAccessToken()
 30 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
[97/112] Compiling NetworkLayer NetworkLayer.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/PreRequest/PreRequestHandlerImpl.swift:28:10: warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 26 |     // MARK: - PreRequestHandler
 27 |
 28 |     func prepare(_ request: inout APIRequest) async throws {
    |          `- warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |         let accessToken = try await fetchValidAccessToken()
 30 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
[98/112] Compiling NetworkLayer PreRequestHandler.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/PreRequest/PreRequestHandlerImpl.swift:28:10: warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 26 |     // MARK: - PreRequestHandler
 27 |
 28 |     func prepare(_ request: inout APIRequest) async throws {
    |          `- warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |         let accessToken = try await fetchValidAccessToken()
 30 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
[99/112] Compiling NetworkLayer PreRequestHandlerImpl.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/PreRequest/PreRequestHandlerImpl.swift:28:10: warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 26 |     // MARK: - PreRequestHandler
 27 |
 28 |     func prepare(_ request: inout APIRequest) async throws {
    |          `- warning: non-sendable parameter type 'APIRequest' cannot be sent from caller of protocol requirement 'prepare' into actor-isolated implementation; this is an error in the Swift 6 language mode
 29 |         let accessToken = try await fetchValidAccessToken()
 30 |
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Request/APIRequest.swift:70:15: note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 68 | /// Passed directly to `NetworkLogger` methods so custom loggers have access to the
 69 | /// complete request context (method, URL, headers, parameters, timeout, encoding).
 70 | public struct APIRequest {
    |               `- note: consider making struct 'APIRequest' conform to the 'Sendable' protocol
 71 |     public let url: String
 72 |     public let method: HTTPMethod
[100/112] Compiling NetworkLayer ServiceContext.swift
[101/112] Compiling NetworkLayer DefaultResponseHandler.swift
[102/112] Compiling NetworkLayer NetworkResponse.swift
[103/112] Compiling NetworkLayer APIEndpoint.swift
[104/112] Compiling NetworkLayer APIRequest.swift
[105/112] Compiling NetworkLayer DomainService.swift
[106/112] Compiling NetworkLayer ResponseHandler.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Storage/KeychainTokenStorage.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | /// Override it or provide a completely custom storage via
 27 | /// `NetworkServiceBuilder.withTokenStorage(_:)`.
 28 | public final class KeychainTokenStorage: TokenStorage {
    |                    `- note: class 'KeychainTokenStorage' does not conform to the 'Sendable' protocol
 29 |
 30 |     // MARK: - Shared Instance
 31 |
 32 |     /// Convenience singleton using the bundle ID as namespace.
 33 |     public static let shared = KeychainTokenStorage()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // MARK: - Configuration
[107/112] Compiling NetworkLayer KeychainTokenStorage.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Storage/KeychainTokenStorage.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | /// Override it or provide a completely custom storage via
 27 | /// `NetworkServiceBuilder.withTokenStorage(_:)`.
 28 | public final class KeychainTokenStorage: TokenStorage {
    |                    `- note: class 'KeychainTokenStorage' does not conform to the 'Sendable' protocol
 29 |
 30 |     // MARK: - Shared Instance
 31 |
 32 |     /// Convenience singleton using the bundle ID as namespace.
 33 |     public static let shared = KeychainTokenStorage()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // MARK: - Configuration
[108/112] Compiling NetworkLayer TokenStorage.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Storage/KeychainTokenStorage.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
 26 | /// Override it or provide a completely custom storage via
 27 | /// `NetworkServiceBuilder.withTokenStorage(_:)`.
 28 | public final class KeychainTokenStorage: TokenStorage {
    |                    `- note: class 'KeychainTokenStorage' does not conform to the 'Sendable' protocol
 29 |
 30 |     // MARK: - Shared Instance
 31 |
 32 |     /// Convenience singleton using the bundle ID as namespace.
 33 |     public static let shared = KeychainTokenStorage()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeychainTokenStorage' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // MARK: - Configuration
[109/112] Compiling NetworkLayer NetworkSessionConfiguration.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:110:30: warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// This class monitors the device's network connectivity using `NWPathMonitor`
 15 | /// and provides real-time updates about connectivity changes.
 16 | final class DefaultNetworkMonitor: NetworkMonitor {
    |             `- note: class 'DefaultNetworkMonitor' does not conform to the 'Sendable' protocol
 17 |     /// The dispatch queue used for monitoring network changes.
 18 |     private let monitorQueue = DispatchQueue(label: "com.app.network.monitor", qos: .background)
    :
108 |     func setupMonitor() {
109 |         pathMonitor.pathUpdateHandler = { [weak self] path in
110 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             // update the connection status based on the path
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:157:33: warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
155 |         // notify on the main queue as handlers likely update UI
156 |         DispatchQueue.main.async { [isConnected] in
157 |             for (_, handler) in handlers {
    |                                 |- warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'handlers' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
158 |                 handler(isConnected)
159 |             }
[110/112] Compiling NetworkLayer NetworkTimeouts.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:110:30: warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// This class monitors the device's network connectivity using `NWPathMonitor`
 15 | /// and provides real-time updates about connectivity changes.
 16 | final class DefaultNetworkMonitor: NetworkMonitor {
    |             `- note: class 'DefaultNetworkMonitor' does not conform to the 'Sendable' protocol
 17 |     /// The dispatch queue used for monitoring network changes.
 18 |     private let monitorQueue = DispatchQueue(label: "com.app.network.monitor", qos: .background)
    :
108 |     func setupMonitor() {
109 |         pathMonitor.pathUpdateHandler = { [weak self] path in
110 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             // update the connection status based on the path
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:157:33: warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
155 |         // notify on the main queue as handlers likely update UI
156 |         DispatchQueue.main.async { [isConnected] in
157 |             for (_, handler) in handlers {
    |                                 |- warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'handlers' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
158 |                 handler(isConnected)
159 |             }
[111/112] Compiling NetworkLayer ConnectivityListener.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:110:30: warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// This class monitors the device's network connectivity using `NWPathMonitor`
 15 | /// and provides real-time updates about connectivity changes.
 16 | final class DefaultNetworkMonitor: NetworkMonitor {
    |             `- note: class 'DefaultNetworkMonitor' does not conform to the 'Sendable' protocol
 17 |     /// The dispatch queue used for monitoring network changes.
 18 |     private let monitorQueue = DispatchQueue(label: "com.app.network.monitor", qos: .background)
    :
108 |     func setupMonitor() {
109 |         pathMonitor.pathUpdateHandler = { [weak self] path in
110 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             // update the connection status based on the path
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:157:33: warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
155 |         // notify on the main queue as handlers likely update UI
156 |         DispatchQueue.main.async { [isConnected] in
157 |             for (_, handler) in handlers {
    |                                 |- warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'handlers' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
158 |                 handler(isConnected)
159 |             }
[112/112] Compiling NetworkLayer DefaultNetworkMonitor.swift
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:110:30: warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// This class monitors the device's network connectivity using `NWPathMonitor`
 15 | /// and provides real-time updates about connectivity changes.
 16 | final class DefaultNetworkMonitor: NetworkMonitor {
    |             `- note: class 'DefaultNetworkMonitor' does not conform to the 'Sendable' protocol
 17 |     /// The dispatch queue used for monitoring network changes.
 18 |     private let monitorQueue = DispatchQueue(label: "com.app.network.monitor", qos: .background)
    :
108 |     func setupMonitor() {
109 |         pathMonitor.pathUpdateHandler = { [weak self] path in
110 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'DefaultNetworkMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             // update the connection status based on the path
/Users/admin/builder/spi-builder-workspace/LibraryCore/NetworkLayer/Sources/NetworkLayer/Network Monitor/DefaultNetworkMonitor.swift:157:33: warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
155 |         // notify on the main queue as handlers likely update UI
156 |         DispatchQueue.main.async { [isConnected] in
157 |             for (_, handler) in handlers {
    |                                 |- warning: sending 'handlers' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'handlers' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
158 |                 handler(isConnected)
159 |             }
Build complete! (22.59s)
Fetching https://github.com/Alamofire/Alamofire.git
Fetching https://github.com/CocoaLumberjack/CocoaLumberjack.git
[1/19074] Fetching cocoalumberjack
[3053/51304] Fetching cocoalumberjack, alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (4.05s)
Fetched https://github.com/CocoaLumberjack/CocoaLumberjack.git from cache (4.05s)
Computing version for https://github.com/CocoaLumberjack/CocoaLumberjack.git
Computed https://github.com/CocoaLumberjack/CocoaLumberjack.git at 3.9.1 (4.55s)
Fetching https://github.com/apple/swift-log from cache
Fetched https://github.com/apple/swift-log from cache (1.14s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.14.0 (1.64s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.12.0 (0.45s)
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.14.0
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.12.0
Creating working copy for https://github.com/CocoaLumberjack/CocoaLumberjack.git
Working copy of https://github.com/CocoaLumberjack/CocoaLumberjack.git resolved at 3.9.1
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.9.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    },
    {
      "identity" : "cocoalumberjack",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.8.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/CocoaLumberjack/CocoaLumberjack.git"
    }
  ],
  "manifest_display_name" : "NetworkLayer",
  "name" : "NetworkLayer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "NetworkLayer",
      "targets" : [
        "NetworkLayer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NetworkLayerTests",
      "module_type" : "SwiftTarget",
      "name" : "NetworkLayerTests",
      "path" : "LibraryCore/NetworkLayer/Tests/NetworkLayerTests",
      "product_dependencies" : [
        "Alamofire"
      ],
      "sources" : [
        "DefaultErrorResponseParserTests.swift",
        "DefaultNetworkErrorHandlerTests.swift",
        "DefaultResponseHandlerTests.swift",
        "DomainServiceTests.swift",
        "NetworkErrorTests.swift",
        "PreRequestHandlerTests.swift",
        "RequestModelsTests.swift",
        "RobustJSONDecoderTests.swift",
        "TestDoubles.swift"
      ],
      "target_dependencies" : [
        "NetworkLayer"
      ],
      "type" : "test"
    },
    {
      "c99name" : "NetworkLayer",
      "module_type" : "SwiftTarget",
      "name" : "NetworkLayer",
      "path" : "LibraryCore/NetworkLayer/Sources/NetworkLayer",
      "product_dependencies" : [
        "Alamofire",
        "CocoaLumberjackSwift"
      ],
      "product_memberships" : [
        "NetworkLayer"
      ],
      "sources" : [
        "Builder/MediaServiceBuilder.swift",
        "Builder/NetworkServiceBuilder.swift",
        "Builder/NetworkingContainer.swift",
        "Decoder/RobustJSONDecoder.swift",
        "Error/DefaultNetworkErrorHandler.swift",
        "Error/ErrorResponseParser.swift",
        "Error/NetworkError.swift",
        "Error/NetworkErrorHandler.swift",
        "Logger/DefaultNetworkLogger.swift",
        "Logger/NetworkLogger.swift",
        "Media/MediaDownloadRequest.swift",
        "Media/MediaDownloadResult.swift",
        "Media/MediaDownloadService.swift",
        "Media/MediaDownloadServiceImpl.swift",
        "Network Manager/NetworkManager.swift",
        "Network Manager/NetworkService.swift",
        "Network Manager/NetworkSessionConfiguration.swift",
        "Network Manager/NetworkTimeouts.swift",
        "Network Monitor/ConnectivityListener.swift",
        "Network Monitor/DefaultNetworkMonitor.swift",
        "Network Monitor/NetworkMonitor.swift",
        "NetworkLayer.swift",
        "PreRequest/PreRequestHandler.swift",
        "PreRequest/PreRequestHandlerImpl.swift",
        "Request/APIEndpoint.swift",
        "Request/APIRequest.swift",
        "Request/DomainService.swift",
        "Request/ServiceContext.swift",
        "Response/DefaultResponseHandler.swift",
        "Response/NetworkResponse.swift",
        "Response/ResponseHandler.swift",
        "Storage/KeychainTokenStorage.swift",
        "Storage/TokenStorage.swift",
        "Utils/Alamofire+Utils.swift",
        "Utils/Encodable+toDictionary.swift",
        "Utils/ParameterEncoding+multipart.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.