The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of swift-api-client, reference main (b098f1), with Swift 6.1 for Linux on 30 Apr 2025 22:02:02 UTC.

Swift 6 data race errors: 72

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/HTTPClientMiddleware.swift:48:33: warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public protocol HTTPClientMiddleware {
   |                 `- note: protocol 'HTTPClientMiddleware' does not conform to the 'Sendable' protocol
 4 |
 5 | 	func execute<T>(
   :
46 | 		var next = next
47 | 		for middleware in middlewares {
48 | 			next = { [next] in try await middleware.execute(request: $0, configs: $1, next: next) }
   |                                 `- warning: capture of 'middleware' with non-sendable type 'any HTTPClientMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | 		}
50 | 		return try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/RateLimitModifier.swift:62:46: warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 |
40 | private struct RateLimitMiddleware<ID: Hashable>: HTTPClientMiddleware {
   |                `- note: consider making generic struct 'RateLimitMiddleware' conform to the 'Sendable' protocol
41 |
42 | 	let id: (HTTPRequestComponents) -> ID
   :
60 | 			count += 1
61 | 			try await withThrowingSynchronizedAccess(id: id) {
62 | 				try await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
   |                                              `- warning: capture of 'self' with non-sendable type 'RateLimitMiddleware<ID>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
63 | 			}
64 | 			res = try await next(request, configs)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:82:13: warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 38 | }
 39 |
 40 | public struct APIErrorContext: Equatable {
    |               `- note: consider making struct 'APIErrorContext' conform to the 'Sendable' protocol
 41 |
 42 | 	public var request: HTTPRequestComponents?
    :
 80 | 	public var error: Error
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
    |             `- warning: stored property 'context' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIErrorContext'; this is an error in the Swift 6 language mode
 83 | 	public var includeBody: IncludeBodyPolicy
 84 |
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ErrorHandler.swift:83:13: warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 81 | 	public var configs: APIClient.Configs
 82 | 	public var context: APIErrorContext
 83 | 	public var includeBody: IncludeBodyPolicy
    |             `- warning: stored property 'includeBody' of 'Sendable'-conforming struct 'APIClientError' has non-sendable type 'APIClientError.IncludeBodyPolicy'; this is an error in the Swift 6 language mode
 84 |
 85 | 	public init(error: Error, configs: APIClient.Configs, context: APIErrorContext, includeBody: IncludeBodyPolicy) {
    :
119 | 	}
120 |
121 | 	public enum IncludeBodyPolicy {
    |              `- note: consider making enum 'IncludeBodyPolicy' conform to the 'Sendable' protocol
122 |
123 | 		case never
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
62 | 	let id: (HTTPRequestComponents) -> ID
63 |
64 | 	func execute<T>(
   |               `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
65 | 		request: HTTPRequestComponents,
66 | 		configs: APIClient.Configs,
   :
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    `- warning: non-sendable result type '(T, HTTPResponse)?' cannot be sent from actor-isolated context in call to instance method 'response(for:)'; this is an error in the Swift 6 language mode
75 | 			return response
76 | 		}
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:143:31: warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
128 | private extension APIClient {
129 |
130 | 	func timeout<D>(
    |               `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
131 | 		_ timeout: D,
132 | 		seconds: @escaping @Sendable (D) -> TimeInterval,
    :
141 | 					timeout: timeout,
142 | 					seconds: inSeconds,
143 | 					sleep: { try await sleep(timeout) },
    |                               `- warning: capture of 'timeout' with non-sendable type 'D' in a '@Sendable' closure; this is an error in the Swift 6 language mode
144 | 					fileID: fileID,
145 | 					line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:166:20: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
164 | 		try await withTimeout(
165 | 			timeout,
166 | 			seconds: { _ in seconds },
    |                    `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
167 | 			sleep: { _ in try await sleep() },
168 | 			fileID: fileID,
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TimeoutModifiers.swift:167:28: warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 | }
150 |
151 | private struct TimeoutMiddleware<D>: HTTPClientMiddleware {
    |                `- note: consider making generic struct 'TimeoutMiddleware' conform to the 'Sendable' protocol
152 |
153 | 	let timeout: D
    :
165 | 			timeout,
166 | 			seconds: { _ in seconds },
167 | 			sleep: { _ in try await sleep() },
    |                            `- warning: capture of 'self' with non-sendable type 'TimeoutMiddleware<D>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 | 			fileID: fileID,
169 | 			line: line
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:139:15: warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' in a '@Sendable' closure; this is an error in the Swift 6 language mode
137 | 		} else if let requestToken, let url = request.url {
138 | 			(accessToken, refreshToken, currentExpiryDate) = try await withThrowingSynchronizedAccess(id: url.host) {
139 | 				try await requestToken(configs)
    |               |- warning: capture of 'requestToken' with non-sendable type '(APIClient.Configs) async throws -> (String, String?, Date?)' 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'
140 | 			}
141 | 		} else {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/TokenRefresher/TokenRefresher.swift:173:54: warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 98 | }
 99 |
100 | public struct TokenRefresherMiddleware: HTTPClientMiddleware {
    |               `- note: consider making struct 'TokenRefresherMiddleware' conform to the 'Sendable' protocol
101 |
102 | 	private let tokenCacheService: SecureCacheService
    :
171 | 	) async throws -> (String, String?, Date?) {
172 | 		try await withThrowingSynchronizedAccess(id: accessToken) { [self] in
173 | 			let (token, refreshToken, expiryDate) = try await refresh(refreshToken, configs)
    |                                                      `- warning: capture of 'self' with non-sendable type 'TokenRefresherMiddleware' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 | 			try await tokenCacheService.save(token, for: .accessToken)
175 | 			if let refreshToken {
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/URLSessionModifiers.swift:35:13: warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 | private extension URLSession {
34 |
35 | 	static var apiClient: URLSession = {
   |             |- warning: static property 'apiClient' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'apiClient' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make static property 'apiClient' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | 		var configs = URLSessionConfiguration.default
37 | 		configs.headers = .default
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:74:52: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
72 | 		}
73 | 		let requestID = id(request)
74 | 		if let response: (T, HTTPResponse) = await cache.response(for: requestID) {
   |                                                    |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                                                    `- note: sending value of non-Sendable type 'ID' to actor-isolated instance method 'response(for:)' risks causing data races between actor-isolated and local nonisolated uses
75 | 			return response
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |                                                                 `- note: access can happen concurrently
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending 'value' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
82 | 		}
83 | 		return (value, httpResponse)
   |           `- note: access can happen concurrently
84 | 	}
85 | }
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:78:15: warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
76 | 		}
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
   |               |- warning: sending value of non-Sendable type 'AnyHashable' risks causing data races; this is an error in the Swift 6 language mode
   |               `- note: sending value of non-Sendable type 'AnyHashable' to actor-isolated instance method 'setResponse(response:for:)' risks causing data races between actor-isolated and local nonisolated uses
79 | 		Task {
   |        `- note: access can happen concurrently
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:79:8: 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
77 | 		let (value, httpResponse) = try await next(request, configs)
78 | 		await cache.setResponse(response: (value, httpResponse), for: requestID)
79 | 		Task {
   |        `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |          `- note: closure captures 'self' which is accessible to code in the current task
82 | 		}
83 | 		return (value, httpResponse)
/host/spi-builder-workspace/Sources/SwiftAPIClient/Modifiers/ThrottleModifier.swift:81:16: warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
79 | 		Task {
80 | 			try? await Task.sleep(nanoseconds: UInt64(interval * 1_000_000_000))
81 | 			await cache.removeResponse(for: requestID)
   |                |- warning: sending value of non-Sendable type 'ID' risks causing data races; this is an error in the Swift 6 language mode
   |                `- note: sending task-isolated value of non-Sendable type 'ID' to actor-isolated instance method 'removeResponse(for:)' risks causing races in between task-isolated and actor-isolated uses
82 | 		}
83 | 		return (value, httpResponse)
Build complete! (117.21s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-http-types",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-http-types.git"
    },
    {
      "identity" : "swift-metrics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-metrics.git"
    },
    {
      "identity" : "swift-syntax",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "509.0.0",
            "upper_bound" : "601.0.0-prerelease"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-syntax"
    }
  ],
  "manifest_display_name" : "swift-api-client",
  "name" : "swift-api-client",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftAPIClient",
      "targets" : [
        "SwiftAPIClient"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftAPIClientMacros",
      "targets" : [
        "SwiftAPIClientMacros"
      ],
      "type" : {
        "macro" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftAPIClientTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAPIClientTests",
      "path" : "Tests/SwiftAPIClientTests",
      "sources" : [
        "CURLTests.swift",
        "EncodersTests/MultipartFormDataTests.swift",
        "HTTPHeadersEncoderTests.swift",
        "Modifiers/AuthModifierTests.swift",
        "Modifiers/ErrorDecodingTests.swift",
        "Modifiers/HTTPResponseValidatorTests.swift",
        "Modifiers/LogLevelModifierTests.swift",
        "Modifiers/MockResponsesTests.swift",
        "Modifiers/RequestCompressionTests.swift",
        "Modifiers/RequestModifiersTests.swift",
        "NetworkClientTests.swift",
        "TestUtils/Client+Ext.swift",
        "TestUtils/TestHTTPClient.swift",
        "URLQueryEncoderTests.swift",
        "UtilsTests/URLComponentBuilderTests.swift",
        "UtilsTests/WithTimeoutTests.swift"
      ],
      "target_dependencies" : [
        "SwiftAPIClient"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftAPIClientMacrosTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAPIClientMacrosTests",
      "path" : "Tests/SwiftAPIClientMacrosTests",
      "product_dependencies" : [
        "SwiftSyntaxMacrosTestSupport"
      ],
      "sources" : [
        "APIMacroTests.swift",
        "CallMacroTests.swift",
        "PathMacroTests.swift"
      ],
      "target_dependencies" : [
        "SwiftAPIClientMacros"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftAPIClientMacros",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAPIClientMacros",
      "path" : "Sources/SwiftAPIClientMacros",
      "product_dependencies" : [
        "SwiftSyntaxMacros",
        "SwiftCompilerPlugin"
      ],
      "product_memberships" : [
        "SwiftAPIClient",
        "SwiftAPIClientMacros"
      ],
      "sources" : [
        "Collection++.swift",
        "MacroError.swift",
        "String++.swift",
        "SwiftAPIClientMacros.swift"
      ],
      "type" : "macro"
    },
    {
      "c99name" : "SwiftAPIClient",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAPIClient",
      "path" : "Sources/SwiftAPIClient",
      "product_dependencies" : [
        "Logging",
        "Metrics",
        "HTTPTypes",
        "HTTPTypesFoundation"
      ],
      "product_memberships" : [
        "SwiftAPIClient"
      ],
      "sources" : [
        "APIClient.swift",
        "APIClientCaller.swift",
        "APIClientConfigs.swift",
        "Clients/HTTPClient.swift",
        "Clients/HTTPDownloadClient.swift",
        "Clients/HTTPPublisher.swift",
        "Clients/HTTPUploadClient.swift",
        "Clients/URLSession+Client.swift",
        "Extensions/Async++.swift",
        "Extensions/String++.swift",
        "Extensions/URLComponentBuilder.swift",
        "Extensions/URLResponse++.swift",
        "Imports.swift",
        "Macros.swift",
        "Modifiers/AuthModifier.swift",
        "Modifiers/BackgroundModifiers.swift",
        "Modifiers/CodersModifiers.swift",
        "Modifiers/ErrorDecodeModifiers.swift",
        "Modifiers/ErrorHandler.swift",
        "Modifiers/FileIDLine.swift",
        "Modifiers/HTTPClientMiddleware.swift",
        "Modifiers/HTTPResponseValidator.swift",
        "Modifiers/LoggingModifier.swift",
        "Modifiers/MetricsModifier.swift",
        "Modifiers/MockResponses.swift",
        "Modifiers/RateLimitModifier.swift",
        "Modifiers/RedirectModifier.swift",
        "Modifiers/RequestCompression.swift",
        "Modifiers/RequestModifiers.swift",
        "Modifiers/RequestValidator.swift",
        "Modifiers/ResponseWrapModifires.swift",
        "Modifiers/RetryModifier.swift",
        "Modifiers/ThrottleModifier.swift",
        "Modifiers/TimeoutModifiers.swift",
        "Modifiers/TokenRefresher/TokenCacheService.swift",
        "Modifiers/TokenRefresher/TokenRefresher.swift",
        "Modifiers/URLSessionModifiers.swift",
        "Modifiers/WaitForConnectionModifier.swift",
        "RequestBuilder.swift",
        "Types/AsyncValue.swift",
        "Types/ContentSerializer.swift",
        "Types/ContentType.swift",
        "Types/Errors.swift",
        "Types/HTTPFields.swift",
        "Types/HTTPRequestComponents.swift",
        "Types/LoggingComponent.swift",
        "Types/Mockable.swift",
        "Types/RedirectBehaviour.swift",
        "Types/Serializer.swift",
        "Types/TimeoutError.swift",
        "Utils/AnyAsyncSequence.swift",
        "Utils/AnyEncodable.swift",
        "Utils/Coders/ContentEncoder.swift",
        "Utils/Coders/DataDecoder.swift",
        "Utils/Coders/EncodingStrategies.swift",
        "Utils/Coders/ErrorDecoder.swift",
        "Utils/Coders/FormURLEncoder.swift",
        "Utils/Coders/HeadersEncoder.swift",
        "Utils/Coders/JSONContentEncoders.swift",
        "Utils/Coders/MultipartFormData/MultipartFormData.swift",
        "Utils/Coders/MultipartFormData/MultipartFormDataEncoder.swift",
        "Utils/Coders/ParametersEncoder.swift",
        "Utils/Coders/ParametersValue.swift",
        "Utils/Coders/QueryEncoder.swift",
        "Utils/Coders/URLQuery/HTTPHeadersEncoder.swift",
        "Utils/Coders/URLQuery/PlainCodingKey.swift",
        "Utils/Coders/URLQuery/Ref.swift",
        "Utils/Coders/URLQuery/URLQueryEncoder.swift",
        "Utils/ConsoleStyle.swift",
        "Utils/Error+String.swift",
        "Utils/NoneLogger.swift",
        "Utils/Publisher+Create.swift",
        "Utils/Publishers+Task.swift",
        "Utils/Reachability.swift",
        "Utils/Status+Ext.swift",
        "Utils/URLSessionDelegateWrapper.swift",
        "Utils/UpdateMetrics.swift",
        "Utils/WithSynchronizedAccess.swift"
      ],
      "target_dependencies" : [
        "SwiftAPIClientMacros"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.