Build Information
Successful build of ArtAdk, reference main (c1376c), with Swift 6.1 for macOS (SPM) on 29 Sep 2026 16:17:52 UTC.
Swift 6 data race errors: 20
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
18 | static var uploadConfiguration: URLSessionConfiguration = .ephemeral
| |- warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploadConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploadConfiguration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:54:16: warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
52 | public let message: String
53 | /// Decoded JSON error body, when there was one.
54 | public let body: Any?
| `- warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
55 |
56 | public init(endpoint: String, status: Int, message: String, body: Any? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:22:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | // MARK: Singleton
22 | private static var _instance: Socket?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:24:17: warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
22 | private static var _instance: Socket?
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
| `- warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
25 | private var credentials: AuthenticationConfig = AuthenticationConfig()
26 | private var subscriptions: [String: BaseSubscription] = [:]
[10/43] Compiling ArtAdk UploadOptions.swift
[11/43] Compiling ArtAdk AuthTypes.swift
[12/43] Compiling ArtAdk ChannelTypes.swift
[13/43] Compiling ArtAdk Interception.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Interception.swift:32:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
30 |
31 | public func reconnect() {
32 | Task { try? await validateInterception() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/LiveObjSubscription.swift:63:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let serializedOps = serializeOps(ops)
62 |
63 | Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
64 | do {
65 | try await self?.pushArray(event: "merge", data: serializedOps)
| | `- note: closure captures non-Sendable 'serializedOps'
| `- note: closure captures non-Sendable 'self'
66 | } catch {
67 | return }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/LongPollClient.swift:22:25: 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
20 | if let cid = connectionId { self.connectionId = cid }
21 | isRunning = true
22 | pollTask = Task { [weak self] in await self?.pollLoop() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
23 | }
24 |
[14/43] Compiling ArtAdk LiveObjSubscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Interception.swift:32:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
30 |
31 | public func reconnect() {
32 | Task { try? await validateInterception() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/LiveObjSubscription.swift:63:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let serializedOps = serializeOps(ops)
62 |
63 | Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
64 | do {
65 | try await self?.pushArray(event: "merge", data: serializedOps)
| | `- note: closure captures non-Sendable 'serializedOps'
| `- note: closure captures non-Sendable 'self'
66 | } catch {
67 | return }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/LongPollClient.swift:22:25: 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
20 | if let cid = connectionId { self.connectionId = cid }
21 | isRunning = true
22 | pollTask = Task { [weak self] in await self?.pollLoop() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
23 | }
24 |
[15/43] Compiling ArtAdk LongPollClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Interception.swift:32:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
30 |
31 | public func reconnect() {
32 | Task { try? await validateInterception() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/LiveObjSubscription.swift:63:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
61 | let serializedOps = serializeOps(ops)
62 |
63 | Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
64 | do {
65 | try await self?.pushArray(event: "merge", data: serializedOps)
| | `- note: closure captures non-Sendable 'serializedOps'
| `- note: closure captures non-Sendable 'self'
66 | } catch {
67 | return }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/LongPollClient.swift:22:25: 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
20 | if let cid = connectionId { self.connectionId = cid }
21 | isRunning = true
22 | pollTask = Task { [weak self] in await self?.pollLoop() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
23 | }
24 |
[16/43] Compiling ArtAdk Agent.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:30:17: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
28 | /// In-flight subscribe task used to coalesce concurrent callers — only
29 | /// the first `connect()` performs the network round-trip.
30 | private var subscribeTask: Task<Subscription, Error>?
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
31 |
32 | public init(socket: Socket) {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:74:41: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | if let subscription { return subscription }
73 | if subscribeTask == nil { _ = connect() }
74 | return try await subscribeTask!.value
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Events.swift:112:16: warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
110 | public let message: String
111 | /// Optional structured details bag.
112 | public let details: [String: Any]?
| `- warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
113 |
114 | public let threadId: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/AgentThread.swift:223:32: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
221 | let task: Task<Bool, Never> = lock.sync {
222 | if let existing = masterListenerTask { return existing }
223 | let started = Task { [weak self] () -> Bool in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
224 | guard let self else { return false }
| `- note: closure captures 'self' which is accessible to code in the current task
225 | do {
226 | let sub = try await self.agent.getSubscription()
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:34: 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
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
:
57 | )
58 | }
59 | self?.subscription = typed
| `- note: closure captures 'self' which is accessible to code in the current task
60 | return typed
61 | }
[17/43] Compiling ArtAdk AgentThread.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:30:17: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
28 | /// In-flight subscribe task used to coalesce concurrent callers — only
29 | /// the first `connect()` performs the network round-trip.
30 | private var subscribeTask: Task<Subscription, Error>?
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
31 |
32 | public init(socket: Socket) {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:74:41: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | if let subscription { return subscription }
73 | if subscribeTask == nil { _ = connect() }
74 | return try await subscribeTask!.value
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Events.swift:112:16: warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
110 | public let message: String
111 | /// Optional structured details bag.
112 | public let details: [String: Any]?
| `- warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
113 |
114 | public let threadId: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/AgentThread.swift:223:32: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
221 | let task: Task<Bool, Never> = lock.sync {
222 | if let existing = masterListenerTask { return existing }
223 | let started = Task { [weak self] () -> Bool in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
224 | guard let self else { return false }
| `- note: closure captures 'self' which is accessible to code in the current task
225 | do {
226 | let sub = try await self.agent.getSubscription()
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:34: 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
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
:
57 | )
58 | }
59 | self?.subscription = typed
| `- note: closure captures 'self' which is accessible to code in the current task
60 | return typed
61 | }
[18/43] Compiling ArtAdk BaseWorkflow.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:30:17: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
28 | /// In-flight subscribe task used to coalesce concurrent callers — only
29 | /// the first `connect()` performs the network round-trip.
30 | private var subscribeTask: Task<Subscription, Error>?
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
31 |
32 | public init(socket: Socket) {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:74:41: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | if let subscription { return subscription }
73 | if subscribeTask == nil { _ = connect() }
74 | return try await subscribeTask!.value
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Events.swift:112:16: warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
110 | public let message: String
111 | /// Optional structured details bag.
112 | public let details: [String: Any]?
| `- warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
113 |
114 | public let threadId: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/AgentThread.swift:223:32: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
221 | let task: Task<Bool, Never> = lock.sync {
222 | if let existing = masterListenerTask { return existing }
223 | let started = Task { [weak self] () -> Bool in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
224 | guard let self else { return false }
| `- note: closure captures 'self' which is accessible to code in the current task
225 | do {
226 | let sub = try await self.agent.getSubscription()
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:34: 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
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
:
57 | )
58 | }
59 | self?.subscription = typed
| `- note: closure captures 'self' which is accessible to code in the current task
60 | return typed
61 | }
[19/43] Compiling ArtAdk Events.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:30:17: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
28 | /// In-flight subscribe task used to coalesce concurrent callers — only
29 | /// the first `connect()` performs the network round-trip.
30 | private var subscribeTask: Task<Subscription, Error>?
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
31 |
32 | public init(socket: Socket) {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:29: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:74:41: warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | if let subscription { return subscription }
73 | if subscribeTask == nil { _ = connect() }
74 | return try await subscribeTask!.value
| `- warning: type 'Subscription' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Subscription.swift:5:20: note: class 'Subscription' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public final class Subscription: BaseSubscription {
| `- note: class 'Subscription' does not conform to the 'Sendable' protocol
6 |
7 | /// Buffered thread-scoped events: threadId → ordered event buffer.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Events.swift:112:16: warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
110 | public let message: String
111 | /// Optional structured details bag.
112 | public let details: [String: Any]?
| `- warning: stored property 'details' of 'Sendable'-conforming struct 'AgentError' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
113 |
114 | public let threadId: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/AgentThread.swift:223:32: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
221 | let task: Task<Bool, Never> = lock.sync {
222 | if let existing = masterListenerTask { return existing }
223 | let started = Task { [weak self] () -> Bool in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
224 | guard let self else { return false }
| `- note: closure captures 'self' which is accessible to code in the current task
225 | do {
226 | let sub = try await self.agent.getSubscription()
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/BaseWorkflow.swift:52:34: 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
50 | let channel = channelName
51 | let sock = socket
52 | subscribeTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 | let raw = try await sock.subscribe(channel: channel)
54 | guard let typed = raw as? Subscription else {
:
57 | )
58 | }
59 | self?.subscription = typed
| `- note: closure captures 'self' which is accessible to code in the current task
60 | return typed
61 | }
[20/43] Compiling ArtAdk EventEmitter.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:15:16: warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | enum ArtHTTP {
14 | /// Session for auth and REST calls.
15 | static var session: URLSession = .shared
| |- warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'session' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | /// Configuration for the per-upload sessions used by storage PUTs
17 | /// (each upload needs its own delegate for progress).
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:18:16: warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | /// Configuration for the per-upload sessions used by storage PUTs
17 | /// (each upload needs its own delegate for progress).
18 | static var uploadConfiguration: URLSessionConfiguration = .ephemeral
| |- warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploadConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploadConfiguration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:54:16: warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
52 | public let message: String
53 | /// Decoded JSON error body, when there was one.
54 | public let body: Any?
| `- warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
55 |
56 | public init(endpoint: String, status: Int, message: String, body: Any? = nil) {
[21/43] Compiling ArtAdk HTTPCall.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:15:16: warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | enum ArtHTTP {
14 | /// Session for auth and REST calls.
15 | static var session: URLSession = .shared
| |- warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'session' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | /// Configuration for the per-upload sessions used by storage PUTs
17 | /// (each upload needs its own delegate for progress).
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:18:16: warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | /// Configuration for the per-upload sessions used by storage PUTs
17 | /// (each upload needs its own delegate for progress).
18 | static var uploadConfiguration: URLSessionConfiguration = .ephemeral
| |- warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploadConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploadConfiguration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:54:16: warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
52 | public let message: String
53 | /// Decoded JSON error body, when there was one.
54 | public let body: Any?
| `- warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
55 |
56 | public init(endpoint: String, status: Int, message: String, body: Any? = nil) {
[22/43] Compiling ArtAdk HelperFunctions.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:15:16: warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | enum ArtHTTP {
14 | /// Session for auth and REST calls.
15 | static var session: URLSession = .shared
| |- warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'session' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | /// Configuration for the per-upload sessions used by storage PUTs
17 | /// (each upload needs its own delegate for progress).
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:18:16: warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | /// Configuration for the per-upload sessions used by storage PUTs
17 | /// (each upload needs its own delegate for progress).
18 | static var uploadConfiguration: URLSessionConfiguration = .ephemeral
| |- warning: static property 'uploadConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploadConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploadConfiguration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/HTTPCall.swift:54:16: warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
52 | public let message: String
53 | /// Decoded JSON error body, when there was one.
54 | public let body: Any?
| `- warning: stored property 'body' of 'Sendable'-conforming struct 'HTTPCallError' has non-sendable type 'Any?'; this is an error in the Swift 6 language mode
55 |
56 | public init(endpoint: String, status: Int, message: String, body: Any? = nil) {
[23/43] Compiling ArtAdk Adk.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:24:17: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | private let handler: IWebsocketHandler
23 | private let lock = ArtLock()
24 | private var profileTask: Task<ConnectorProfile, Error>
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |
26 | /// Starts the describe lookup immediately so `connector(id)` can stay
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:28: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = Task {
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:28: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = Task {
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:45:29: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | /// values.
44 | public func profile() async throws -> ConnectorProfile {
45 | try await lock.sync { profileTask }.value
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:45:45: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | /// values.
44 | public func profile() async throws -> ConnectorProfile {
45 | try await lock.sync { profileTask }.value
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:35: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | return updated
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:35: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | return updated
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Adk.swift:290:30: 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
288 | private func handleReconnection() {
289 | reconnectTask?.cancel()
290 | reconnectTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
291 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
292 | let (delayMs, growDelay, attempt): (Double, Bool, Int) = self.lock.sync {
293 | if self.reconnectAttempts < self.maxReconnectAttempts {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Adk.swift:157:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
155 | guard shouldPause else { return }
156 | reconnectTask?.cancel()
157 | Task { await socket.closeWebSocket() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
158 | }
159 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:141:28: 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
139 | // override.
140 | let stream = inboundStream
141 | inboundTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 | for await message in stream {
143 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
144 | await self.handleMessage(event: message.event, payload: message.payload)
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:375:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
373 | name != "art_secure" else { return }
374 |
375 | 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
376 | if isListening {
| `- note: closure captures 'self' which is accessible to code in the current task
377 | await validateSubscription(process: "presence")
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:492:30: 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
490 | let timeoutNs = UInt64(ackTimeoutMs * 1_000_000)
491 | return try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<String, Error>) in
492 | let timer = 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
493 | try? await Task.sleep(nanoseconds: timeoutNs)
494 | guard !Task.isCancelled else { return }
495 | self.failPendingAck(refId, ARTError.ackTimeout)
| `- note: closure captures 'self' which is accessible to code in the current task
496 | }
497 | stateLock.sync {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:33: 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
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = 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
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
| `- note: closure captures 'handler' which is accessible to code in the current task
37 | connectorId: connectorId
38 | )
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:40: 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
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| | `- note: closure captures 'updated' which is accessible to code in the current 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
64 | return updated
65 | }
[24/43] Compiling ArtAdk BaseSubscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:24:17: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | private let handler: IWebsocketHandler
23 | private let lock = ArtLock()
24 | private var profileTask: Task<ConnectorProfile, Error>
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |
26 | /// Starts the describe lookup immediately so `connector(id)` can stay
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:28: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = Task {
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:28: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = Task {
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:45:29: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | /// values.
44 | public func profile() async throws -> ConnectorProfile {
45 | try await lock.sync { profileTask }.value
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:45:45: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | /// values.
44 | public func profile() async throws -> ConnectorProfile {
45 | try await lock.sync { profileTask }.value
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:35: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | return updated
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:35: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | return updated
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Adk.swift:290:30: 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
288 | private func handleReconnection() {
289 | reconnectTask?.cancel()
290 | reconnectTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
291 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
292 | let (delayMs, growDelay, attempt): (Double, Bool, Int) = self.lock.sync {
293 | if self.reconnectAttempts < self.maxReconnectAttempts {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Adk.swift:157:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
155 | guard shouldPause else { return }
156 | reconnectTask?.cancel()
157 | Task { await socket.closeWebSocket() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
158 | }
159 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:141:28: 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
139 | // override.
140 | let stream = inboundStream
141 | inboundTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 | for await message in stream {
143 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
144 | await self.handleMessage(event: message.event, payload: message.payload)
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:375:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
373 | name != "art_secure" else { return }
374 |
375 | 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
376 | if isListening {
| `- note: closure captures 'self' which is accessible to code in the current task
377 | await validateSubscription(process: "presence")
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:492:30: 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
490 | let timeoutNs = UInt64(ackTimeoutMs * 1_000_000)
491 | return try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<String, Error>) in
492 | let timer = 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
493 | try? await Task.sleep(nanoseconds: timeoutNs)
494 | guard !Task.isCancelled else { return }
495 | self.failPendingAck(refId, ARTError.ackTimeout)
| `- note: closure captures 'self' which is accessible to code in the current task
496 | }
497 | stateLock.sync {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:33: 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
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = 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
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
| `- note: closure captures 'handler' which is accessible to code in the current task
37 | connectorId: connectorId
38 | )
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:40: 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
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| | `- note: closure captures 'updated' which is accessible to code in the current 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
64 | return updated
65 | }
[25/43] Compiling ArtAdk Connector.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:24:17: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | private let handler: IWebsocketHandler
23 | private let lock = ArtLock()
24 | private var profileTask: Task<ConnectorProfile, Error>
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |
26 | /// Starts the describe lookup immediately so `connector(id)` can stay
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:28: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = Task {
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:28: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = Task {
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:45:29: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | /// values.
44 | public func profile() async throws -> ConnectorProfile {
45 | try await lock.sync { profileTask }.value
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:45:45: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | /// values.
44 | public func profile() async throws -> ConnectorProfile {
45 | try await lock.sync { profileTask }.value
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:35: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | return updated
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:35: warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| `- warning: type 'ConnectorProfile' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | return updated
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/SocketTypes.swift:124:15: note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
122 |
123 | /// The authenticated user's profile for one connector.
124 | public struct ConnectorProfile: Equatable {
| `- note: consider making struct 'ConnectorProfile' conform to the 'Sendable' protocol
125 | public var connectorId: String
126 | public var provider: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Adk.swift:290:30: 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
288 | private func handleReconnection() {
289 | reconnectTask?.cancel()
290 | reconnectTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
291 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
292 | let (delayMs, growDelay, attempt): (Double, Bool, Int) = self.lock.sync {
293 | if self.reconnectAttempts < self.maxReconnectAttempts {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Adk.swift:157:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
155 | guard shouldPause else { return }
156 | reconnectTask?.cancel()
157 | Task { await socket.closeWebSocket() }
| | `- note: closure captures 'self' which is accessible to code in the current 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
158 | }
159 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:141:28: 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
139 | // override.
140 | let stream = inboundStream
141 | inboundTask = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
142 | for await message in stream {
143 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
144 | await self.handleMessage(event: message.event, payload: message.payload)
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:375:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
373 | name != "art_secure" else { return }
374 |
375 | 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
376 | if isListening {
| `- note: closure captures 'self' which is accessible to code in the current task
377 | await validateSubscription(process: "presence")
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/BaseSubscription.swift:492:30: 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
490 | let timeoutNs = UInt64(ackTimeoutMs * 1_000_000)
491 | return try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<String, Error>) in
492 | let timer = 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
493 | try? await Task.sleep(nanoseconds: timeoutNs)
494 | guard !Task.isCancelled else { return }
495 | self.failPendingAck(refId, ARTError.ackTimeout)
| `- note: closure captures 'self' which is accessible to code in the current task
496 | }
497 | stateLock.sync {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:34:33: 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
32 | self.connectorId = connectorId
33 | self.handler = handler
34 | self.profileTask = 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
35 | try Connector.toProfile(
36 | try await Connector.request(handler, connectorId, action: "describe", metadata: nil),
| `- note: closure captures 'handler' which is accessible to code in the current task
37 | connectorId: connectorId
38 | )
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Connector.swift:63:40: 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
61 | connectorId: connectorId
62 | )
63 | lock.sync { profileTask = Task { updated } }
| | `- note: closure captures 'updated' which is accessible to code in the current 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
64 | return updated
65 | }
[26/43] Compiling ArtAdk Orchestrator.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:61:35: warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
59 | return nil
60 | }
61 | if let settled { cont.resume(with: settled) }
| |- warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'settled' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
62 | }
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:179:15: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
177 | return cont
178 | }
179 | cont?.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
180 | }
181 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:84:34: 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
82 | if let timeoutSec = content.timeout, timeoutSec > 0 {
83 | let captured = content
84 | let timer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | try? await Task.sleep(
86 | nanoseconds: UInt64(timeoutSec * 1_000_000_000)
87 | )
88 | guard let self, !Task.isCancelled else { return }
| `- note: closure captures non-Sendable 'self'
89 | let replyTo: String? = self.lock.sync {
90 | guard !self.closed else { return nil }
:
96 | code: "HUMAN_INPUT_TIMEOUT",
97 | message: "No response received within \(timeoutSec)s for human_input_request.",
98 | details: ["prompt": captured.prompt, "timeout": timeoutSec],
| `- note: closure captures non-Sendable 'captured'
99 | threadId: captured.threadId,
100 | refId: "",
[27/43] Compiling ArtAdk OrchestratorThread.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:61:35: warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
59 | return nil
60 | }
61 | if let settled { cont.resume(with: settled) }
| |- warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'settled' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
62 | }
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:179:15: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
177 | return cont
178 | }
179 | cont?.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
180 | }
181 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:84:34: 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
82 | if let timeoutSec = content.timeout, timeoutSec > 0 {
83 | let captured = content
84 | let timer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | try? await Task.sleep(
86 | nanoseconds: UInt64(timeoutSec * 1_000_000_000)
87 | )
88 | guard let self, !Task.isCancelled else { return }
| `- note: closure captures non-Sendable 'self'
89 | let replyTo: String? = self.lock.sync {
90 | guard !self.closed else { return nil }
:
96 | code: "HUMAN_INPUT_TIMEOUT",
97 | message: "No response received within \(timeoutSec)s for human_input_request.",
98 | details: ["prompt": captured.prompt, "timeout": timeoutSec],
| `- note: closure captures non-Sendable 'captured'
99 | threadId: captured.threadId,
100 | refId: "",
[28/43] Compiling ArtAdk Run.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:61:35: warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
59 | return nil
60 | }
61 | if let settled { cont.resume(with: settled) }
| |- warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'settled' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
62 | }
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:179:15: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
177 | return cont
178 | }
179 | cont?.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
180 | }
181 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:84:34: 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
82 | if let timeoutSec = content.timeout, timeoutSec > 0 {
83 | let captured = content
84 | let timer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | try? await Task.sleep(
86 | nanoseconds: UInt64(timeoutSec * 1_000_000_000)
87 | )
88 | guard let self, !Task.isCancelled else { return }
| `- note: closure captures non-Sendable 'self'
89 | let replyTo: String? = self.lock.sync {
90 | guard !self.closed else { return nil }
:
96 | code: "HUMAN_INPUT_TIMEOUT",
97 | message: "No response received within \(timeoutSec)s for human_input_request.",
98 | details: ["prompt": captured.prompt, "timeout": timeoutSec],
| `- note: closure captures non-Sendable 'captured'
99 | threadId: captured.threadId,
100 | refId: "",
[29/43] Compiling ArtAdk ThreadStateStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:61:35: warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
59 | return nil
60 | }
61 | if let settled { cont.resume(with: settled) }
| |- warning: sending 'settled' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'settled' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
62 | }
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:179:15: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
177 | return cont
178 | }
179 | cont?.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
180 | }
181 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Agentic/Run.swift:84:34: 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
82 | if let timeoutSec = content.timeout, timeoutSec > 0 {
83 | let captured = content
84 | let timer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | try? await Task.sleep(
86 | nanoseconds: UInt64(timeoutSec * 1_000_000_000)
87 | )
88 | guard let self, !Task.isCancelled else { return }
| `- note: closure captures non-Sendable 'self'
89 | let replyTo: String? = self.lock.sync {
90 | guard !self.closed else { return nil }
:
96 | code: "HUMAN_INPUT_TIMEOUT",
97 | message: "No response received within \(timeoutSec)s for human_input_request.",
98 | details: ["prompt": captured.prompt, "timeout": timeoutSec],
| `- note: closure captures non-Sendable 'captured'
99 | threadId: captured.threadId,
100 | refId: "",
[30/43] Compiling ArtAdk Auth.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:12:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | public final class Auth {
11 | // MARK: - Singleton
12 | private static var _instance: Auth?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private static let lock = NSLock()
14 | public static func getInstance(credentials: AuthenticationConfig? = nil) throws -> Auth {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:35:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 | private var credentials: AuthenticationConfig
34 | private var authData: AuthData = AuthData()
35 | private var inFlight: Task<AuthData, Error>?
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
36 |
37 | /// Seconds before `exp` at which an access token is renewed.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:63:18: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | }
62 |
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:13: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:54: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:54:41: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 | }
53 | do {
54 | let result = try await task.value
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
55 | clearInFlight(task)
56 | return result
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:65:25: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:32: 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
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| | `- note: closure captures 'self' which is accessible to code in the current 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
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/CRDT/CRDT.swift:292:34: 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
290 | if trailingTimer != nil { return }
291 |
292 | trailingTimer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
293 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
294 |
295 | try? await Task.sleep(nanoseconds: UInt64(minFlushMs * 1_000_000))
[31/43] Compiling ArtAdk CRDT.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:12:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | public final class Auth {
11 | // MARK: - Singleton
12 | private static var _instance: Auth?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private static let lock = NSLock()
14 | public static func getInstance(credentials: AuthenticationConfig? = nil) throws -> Auth {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:35:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 | private var credentials: AuthenticationConfig
34 | private var authData: AuthData = AuthData()
35 | private var inFlight: Task<AuthData, Error>?
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
36 |
37 | /// Seconds before `exp` at which an access token is renewed.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:63:18: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | }
62 |
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:13: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:54: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:54:41: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 | }
53 | do {
54 | let result = try await task.value
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
55 | clearInFlight(task)
56 | return result
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:65:25: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:32: 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
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| | `- note: closure captures 'self' which is accessible to code in the current 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
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/CRDT/CRDT.swift:292:34: 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
290 | if trailingTimer != nil { return }
291 |
292 | trailingTimer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
293 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
294 |
295 | try? await Task.sleep(nanoseconds: UInt64(minFlushMs * 1_000_000))
[32/43] Compiling ArtAdk CRDTTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:12:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | public final class Auth {
11 | // MARK: - Singleton
12 | private static var _instance: Auth?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private static let lock = NSLock()
14 | public static func getInstance(credentials: AuthenticationConfig? = nil) throws -> Auth {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:35:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 | private var credentials: AuthenticationConfig
34 | private var authData: AuthData = AuthData()
35 | private var inFlight: Task<AuthData, Error>?
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
36 |
37 | /// Seconds before `exp` at which an access token is renewed.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:63:18: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | }
62 |
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:13: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:54: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:54:41: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 | }
53 | do {
54 | let result = try await task.value
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
55 | clearInFlight(task)
56 | return result
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:65:25: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:32: 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
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| | `- note: closure captures 'self' which is accessible to code in the current 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
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/CRDT/CRDT.swift:292:34: 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
290 | if trailingTimer != nil { return }
291 |
292 | trailingTimer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
293 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
294 |
295 | try? await Task.sleep(nanoseconds: UInt64(minFlushMs * 1_000_000))
[33/43] Compiling ArtAdk CRDTUtils.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:12:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | public final class Auth {
11 | // MARK: - Singleton
12 | private static var _instance: Auth?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private static let lock = NSLock()
14 | public static func getInstance(credentials: AuthenticationConfig? = nil) throws -> Auth {
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:35:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 | private var credentials: AuthenticationConfig
34 | private var authData: AuthData = AuthData()
35 | private var inFlight: Task<AuthData, Error>?
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
36 |
37 | /// Seconds before `exp` at which an access token is renewed.
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:63:18: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | }
62 |
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:13: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:17: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:47:54: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | /// Concurrent calls share a single request.
46 | public func authenticate(forceAuth: Bool = false) async throws -> AuthData {
47 | let task: Task<AuthData, Error> = state.sync {
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:27: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:54:41: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 | }
53 | do {
54 | let result = try await task.value
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
55 | clearInFlight(task)
56 | return result
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:65:25: warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | private func clearInFlight(_ task: Task<AuthData, Error>) {
64 | state.sync {
65 | if inFlight == task { inFlight = nil }
| `- warning: type 'AuthData' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Types/AuthTypes.swift:109:15: note: consider making struct 'AuthData' conform to the 'Sendable' protocol
107 |
108 | // MARK: - AuthData
109 | public struct AuthData {
| `- note: consider making struct 'AuthData' conform to the 'Sendable' protocol
110 | public var accessToken: String
111 | public var refreshToken: String
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Auth/Auth.swift:49:32: 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
47 | let task: Task<AuthData, Error> = state.sync {
48 | if let running = inFlight { return running }
49 | let started = Task { try await self.authenticateOnce(forceAuth: forceAuth) }
| | `- note: closure captures 'self' which is accessible to code in the current 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
50 | inFlight = started
51 | return started
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/CRDT/CRDT.swift:292:34: 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
290 | if trailingTimer != nil { return }
291 |
292 | trailingTimer = Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
293 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
294 |
295 | try? await Task.sleep(nanoseconds: UInt64(minFlushMs * 1_000_000))
[34/43] Compiling ArtAdk CryptoTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Util/ArtSupport.swift:39:23: warning: static property 'handler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | /// ```
38 | public enum ArtLog {
39 | public static var handler: ((ArtLogLevel, String) -> Void)?
| |- warning: static property 'handler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'handler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'handler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | static func debug(_ message: @autoclosure () -> String) { handler?(.debug, message()) }
[35/43] Compiling ArtAdk SocketTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Util/ArtSupport.swift:39:23: warning: static property 'handler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | /// ```
38 | public enum ArtLog {
39 | public static var handler: ((ArtLogLevel, String) -> Void)?
| |- warning: static property 'handler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'handler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'handler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | static func debug(_ message: @autoclosure () -> String) { handler?(.debug, message()) }
[36/43] Compiling ArtAdk ArtSupport.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Util/ArtSupport.swift:39:23: warning: static property 'handler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | /// ```
38 | public enum ArtLog {
39 | public static var handler: ((ArtLogLevel, String) -> Void)?
| |- warning: static property 'handler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'handler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'handler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | static func debug(_ message: @autoclosure () -> String) { handler?(.debug, message()) }
[37/43] Compiling ArtAdk Constant.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:4:23: warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | public final class Constant {
4 | public static var ROOT: String = "/"
| |- warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ROOT' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'ROOT' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:5:23: warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public final class Constant {
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
| |- warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_FILE_NAME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_FILE_NAME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:6:23: warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
| |- warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BASE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'BASE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:7:23: warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
| |- warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'WS_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'WS_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:8:23: warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
| |- warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SSE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'SSE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:9:23: warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
| |- warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'LPOLL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'LPOLL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
11 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:10:23: warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
| |- warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_JSON_PATH' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_JSON_PATH' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Storage/Storage.swift:307:17: warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
305 | /// Reports fractional upload progress (0...1) during the PUT-to-blob step.
306 | private final class UploadProgressDelegate: NSObject, URLSessionTaskDelegate {
307 | private let progress: ((Double) -> Void)?
| |- warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
308 |
309 | init(progress: ((Double) -> Void)?) {
[38/43] Compiling ArtAdk CryptoBox.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:4:23: warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | public final class Constant {
4 | public static var ROOT: String = "/"
| |- warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ROOT' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'ROOT' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:5:23: warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public final class Constant {
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
| |- warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_FILE_NAME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_FILE_NAME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:6:23: warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
| |- warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BASE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'BASE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:7:23: warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
| |- warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'WS_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'WS_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:8:23: warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
| |- warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SSE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'SSE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:9:23: warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
| |- warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'LPOLL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'LPOLL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
11 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:10:23: warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
| |- warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_JSON_PATH' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_JSON_PATH' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Storage/Storage.swift:307:17: warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
305 | /// Reports fractional upload progress (0...1) during the PUT-to-blob step.
306 | private final class UploadProgressDelegate: NSObject, URLSessionTaskDelegate {
307 | private let progress: ((Double) -> Void)?
| |- warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
308 |
309 | init(progress: ((Double) -> Void)?) {
[39/43] Compiling ArtAdk Storage.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:4:23: warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | public final class Constant {
4 | public static var ROOT: String = "/"
| |- warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ROOT' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'ROOT' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:5:23: warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public final class Constant {
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
| |- warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_FILE_NAME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_FILE_NAME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:6:23: warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
| |- warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BASE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'BASE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:7:23: warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
| |- warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'WS_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'WS_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:8:23: warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
| |- warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SSE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'SSE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:9:23: warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
| |- warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'LPOLL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'LPOLL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
11 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:10:23: warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
| |- warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_JSON_PATH' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_JSON_PATH' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Storage/Storage.swift:307:17: warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
305 | /// Reports fractional upload progress (0...1) during the PUT-to-blob step.
306 | private final class UploadProgressDelegate: NSObject, URLSessionTaskDelegate {
307 | private let progress: ((Double) -> Void)?
| |- warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
308 |
309 | init(progress: ((Double) -> Void)?) {
[40/43] Compiling ArtAdk StorageModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:4:23: warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | public final class Constant {
4 | public static var ROOT: String = "/"
| |- warning: static property 'ROOT' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ROOT' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'ROOT' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:5:23: warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public final class Constant {
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
| |- warning: static property 'CONFIG_FILE_NAME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_FILE_NAME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_FILE_NAME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:6:23: warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | public static var ROOT: String = "/"
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
| |- warning: static property 'BASE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BASE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'BASE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:7:23: warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public static var CONFIG_FILE_NAME: String = "adk-services.json"
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
| |- warning: static property 'WS_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'WS_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'WS_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:8:23: warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 | public static var BASE_URL: String = ""
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
| |- warning: static property 'SSE_URL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SSE_URL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'SSE_URL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:9:23: warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | public static var WS_URL: String = "/v1/connect"
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
| |- warning: static property 'LPOLL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'LPOLL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'LPOLL' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
11 | }
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Config/Constant.swift:10:23: warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
8 | public static var SSE_URL: String = "/v1/connect/sse"
9 | public static var LPOLL: String = "/v1/longpoll"
10 | public static var CONFIG_JSON_PATH: String = "/adk-services.json"
| |- warning: static property 'CONFIG_JSON_PATH' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'CONFIG_JSON_PATH' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'CONFIG_JSON_PATH' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/Storage/Storage.swift:307:17: warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
305 | /// Reports fractional upload progress (0...1) during the PUT-to-blob step.
306 | private final class UploadProgressDelegate: NSObject, URLSessionTaskDelegate {
307 | private let progress: ((Double) -> Void)?
| |- warning: stored property 'progress' of 'Sendable'-conforming class 'UploadProgressDelegate' has non-sendable type '((Double) -> Void)?'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
308 |
309 | init(progress: ((Double) -> Void)?) {
[41/43] Compiling ArtAdk Plugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:22:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | // MARK: Singleton
22 | private static var _instance: Socket?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:24:17: warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
22 | private static var _instance: Socket?
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
| `- warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
25 | private var credentials: AuthenticationConfig = AuthenticationConfig()
26 | private var subscriptions: [String: BaseSubscription] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:545:22: 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
543 | let interception = withSocketLock { interceptors[iName] }
544 | if let interception = interception {
545 | Task { await interception.handleMessage(channel: channel, data: payload) }
| | | `- note: closure captures non-Sendable 'payload'
| | `- note: closure captures non-Sendable 'interception'
| `- 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
546 | } else {
547 | ArtLog.warn("No Interception found for channel: \(channel)")
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:355:70: warning: sending value of non-Sendable type 'Any' risks causing data races; this is an error in the Swift 6 language mode
353 | let callbackKey = "secure-\(refId)"
354 | self.withSocketLock {
355 | self.secureCallbacks[callbackKey] = { result in cont.resume(returning: result) }
| |- warning: sending value of non-Sendable type 'Any' risks causing data races; this is an error in the Swift 6 language mode
| `- note: Passing task-isolated value of non-Sendable type 'Any' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
356 | }
357 | _ = self.sendMessage(msgStr)
[42/43] Compiling ArtAdk Socket.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:22:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | // MARK: Singleton
22 | private static var _instance: Socket?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:24:17: warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
22 | private static var _instance: Socket?
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
| `- warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
25 | private var credentials: AuthenticationConfig = AuthenticationConfig()
26 | private var subscriptions: [String: BaseSubscription] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:545:22: 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
543 | let interception = withSocketLock { interceptors[iName] }
544 | if let interception = interception {
545 | Task { await interception.handleMessage(channel: channel, data: payload) }
| | | `- note: closure captures non-Sendable 'payload'
| | `- note: closure captures non-Sendable 'interception'
| `- 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
546 | } else {
547 | ArtLog.warn("No Interception found for channel: \(channel)")
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:355:70: warning: sending value of non-Sendable type 'Any' risks causing data races; this is an error in the Swift 6 language mode
353 | let callbackKey = "secure-\(refId)"
354 | self.withSocketLock {
355 | self.secureCallbacks[callbackKey] = { result in cont.resume(returning: result) }
| |- warning: sending value of non-Sendable type 'Any' risks causing data races; this is an error in the Swift 6 language mode
| `- note: Passing task-isolated value of non-Sendable type 'Any' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
356 | }
357 | _ = self.sendMessage(msgStr)
[43/43] Compiling ArtAdk Subscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:22:24: warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | // MARK: Singleton
22 | private static var _instance: Socket?
| |- warning: static property '_instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:24:17: warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
22 | private static var _instance: Socket?
23 | // MARK: - State
24 | private var websocket: URLSessionWebSocketTask?
| `- warning: stored property 'websocket' of 'Sendable'-conforming class 'Socket' is mutable; this is an error in the Swift 6 language mode
25 | private var credentials: AuthenticationConfig = AuthenticationConfig()
26 | private var subscriptions: [String: BaseSubscription] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:545:22: 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
543 | let interception = withSocketLock { interceptors[iName] }
544 | if let interception = interception {
545 | Task { await interception.handleMessage(channel: channel, data: payload) }
| | | `- note: closure captures non-Sendable 'payload'
| | `- note: closure captures non-Sendable 'interception'
| `- 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
546 | } else {
547 | ArtLog.warn("No Interception found for channel: \(channel)")
/Users/admin/builder/spi-builder-workspace/Sources/ArtAdk/WebSocket/Socket.swift:355:70: warning: sending value of non-Sendable type 'Any' risks causing data races; this is an error in the Swift 6 language mode
353 | let callbackKey = "secure-\(refId)"
354 | self.withSocketLock {
355 | self.secureCallbacks[callbackKey] = { result in cont.resume(returning: result) }
| |- warning: sending value of non-Sendable type 'Any' risks causing data races; this is an error in the Swift 6 language mode
| `- note: Passing task-isolated value of non-Sendable type 'Any' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
356 | }
357 | _ = self.sendMessage(msgStr)
[44/45] Emitting module ArtAdkNotifications
[45/45] Compiling ArtAdkNotifications Notifications.swift
Build complete! (11.75s)
Fetching https://github.com/bitmark-inc/tweetnacl-swiftwrap
[1/421] Fetching tweetnacl-swiftwrap
Fetched https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache (1.25s)
Computing version for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Computed https://github.com/bitmark-inc/tweetnacl-swiftwrap at 1.1.0 (3.77s)
Creating working copy for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Working copy of https://github.com/bitmark-inc/tweetnacl-swiftwrap resolved at 1.1.0
Build complete.
{
"dependencies" : [
{
"identity" : "tweetnacl-swiftwrap",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/bitmark-inc/tweetnacl-swiftwrap"
}
],
"manifest_display_name" : "ArtAdk",
"name" : "ArtAdk",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "ArtAdk",
"targets" : [
"ArtAdk"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ArtAdkNotifications",
"targets" : [
"ArtAdkNotifications"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "ArtAdkNotifications",
"module_type" : "SwiftTarget",
"name" : "ArtAdkNotifications",
"path" : "Sources/ArtAdkNotifications",
"product_memberships" : [
"ArtAdkNotifications"
],
"sources" : [
"Notifications.swift"
],
"target_dependencies" : [
"ArtAdk"
],
"type" : "library"
},
{
"c99name" : "ArtAdk",
"module_type" : "SwiftTarget",
"name" : "ArtAdk",
"path" : "Sources/ArtAdk",
"product_dependencies" : [
"TweetNacl"
],
"product_memberships" : [
"ArtAdk",
"ArtAdkNotifications"
],
"sources" : [
"Agentic/Agent.swift",
"Agentic/AgentThread.swift",
"Agentic/BaseWorkflow.swift",
"Agentic/Events.swift",
"Agentic/Orchestrator.swift",
"Agentic/OrchestratorThread.swift",
"Agentic/Run.swift",
"Agentic/ThreadStateStore.swift",
"Auth/Auth.swift",
"CRDT/CRDT.swift",
"CRDT/CRDTTypes.swift",
"CRDT/CRDTUtils.swift",
"Config/Constant.swift",
"Crypto/CryptoBox.swift",
"Storage/Storage.swift",
"Storage/StorageModels.swift",
"Storage/UploadOptions.swift",
"Types/AuthTypes.swift",
"Types/ChannelTypes.swift",
"Types/CryptoTypes.swift",
"Types/SocketTypes.swift",
"Util/ArtSupport.swift",
"WebSocket/Adk.swift",
"WebSocket/BaseSubscription.swift",
"WebSocket/Connector.swift",
"WebSocket/EventEmitter.swift",
"WebSocket/HTTPCall.swift",
"WebSocket/HelperFunctions.swift",
"WebSocket/Interception.swift",
"WebSocket/LiveObjSubscription.swift",
"WebSocket/LongPollClient.swift",
"WebSocket/Plugin.swift",
"WebSocket/Socket.swift",
"WebSocket/Subscription.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.