The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Citadel, reference main (d29285), with Swift 6.1 for macOS (SPM) on 23 Jun 2025 13:14:31 UTC.

Swift 6 data race errors: 39

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:299:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
297 |
298 |     public struct FileStat: SFTPMessageContent, Sendable {
299 |         public static let id = SFTPMessageType.fstat
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
300 |
301 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:309:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
307 |
308 |     public struct Remove: SFTPMessageContent, Sendable {
309 |         public static let id = SFTPMessageType.remove
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
310 |
311 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:319:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
317 |
318 |     public struct FileSetStat: SFTPMessageContent, Sendable {
319 |         public static let id = SFTPMessageType.fsetstat
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
320 |
321 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:330:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
328 |
329 |     public struct SetStat: SFTPMessageContent, Sendable {
330 |         public static let id = SFTPMessageType.setstat
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
331 |
332 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:341:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
339 |
340 |     public struct Rename: SFTPMessageContent, Sendable {
341 |         public static let id = SFTPMessageType.rename
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
342 |
343 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:353:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
351 |
352 |     public struct Symlink: SFTPMessageContent, Sendable {
353 |         public static let id = SFTPMessageType.symlink
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
354 |
355 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:364:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
362 |
363 |     public struct Readlink: SFTPMessageContent, Sendable {
364 |         public static let id = SFTPMessageType.readlink
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
365 |
366 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:374:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
372 |
373 |     public struct FileData: SFTPMessageContent, Sendable {
374 |         public static let id = SFTPMessageType.data
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
375 |
376 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:384:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
382 |
383 |     public struct MkDir: SFTPMessageContent, Sendable {
384 |         public static let id = SFTPMessageType.mkdir
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
385 |
386 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:397:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
395 |
396 |     public struct RmDir: SFTPMessageContent, Sendable {
397 |         public static let id = SFTPMessageType.rmdir
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
398 |
399 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:409:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
407 |
408 |     public struct OpenDir: SFTPMessageContent, Sendable {
409 |         public static let id = SFTPMessageType.opendir
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
410 |
411 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:421:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
419 |
420 |     public struct Stat: SFTPMessageContent, Sendable {
421 |         public static let id = SFTPMessageType.stat
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
422 |
423 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:432:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
430 |
431 |     public struct LStat: SFTPMessageContent, Sendable {
432 |         public static let id = SFTPMessageType.lstat
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
433 |
434 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:443:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
441 |
442 |     public struct RealPath: SFTPMessageContent, Sendable {
443 |         public static let id = SFTPMessageType.realpath
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
444 |
445 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:454:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
452 |
453 |     public struct Name: SFTPMessageContent, Sendable {
454 |         public static let id = SFTPMessageType.name
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
455 |
456 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:470:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
468 |
469 |     public struct Attributes: SFTPMessageContent, Sendable {
470 |         public static let id = SFTPMessageType.attributes
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
471 |
472 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:481:27: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
479 |
480 |     public struct ReadDir: SFTPMessageContent, Sendable {
481 |         public static let id = SFTPMessageType.readdir
    |                           |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'SFTPMessageType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'id' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
482 |
483 |         public let requestId: UInt32
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPBasicEnums.swift:38:13: note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 36 | }
 37 |
 38 | public enum SFTPMessageType: UInt8 {
    |             `- note: consider making enum 'SFTPMessageType' conform to the 'Sendable' protocol
 39 |     case initialize = 1
 40 |     case version = 2
[833/846] Compiling Citadel Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:242:35: warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
240 |         try await SSHClientSession.addHandlers(
241 |             on: channel,
242 |             authenticationMethod: authenticationMethod(),
    |                                   |- warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
    |                                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
243 |             hostKeyValidator: hostKeyValidator,
244 |             protocolOptions: protocolOptions
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:287:35: warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
285 |             host: host,
286 |             port: port,
287 |             authenticationMethod: authenticationMethod,
    |                                   `- warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
288 |             hostKeyValidator: hostKeyValidator,
289 |             algorithms: algorithms,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHAuthenticationMethod.swift:6:20: note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  4 |
  5 | /// Represents an authentication method.
  6 | public final class SSHAuthenticationMethod: NIOSSHClientUserAuthenticationDelegate {
    |                    `- note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  7 |     private enum Implementation {
  8 |         case custom(NIOSSHClientUserAuthenticationDelegate)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:318:13: warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
316 |     private func onNewSession(_ session: SSHClientSession) {
317 |         session.channel.closeFuture.whenComplete { [weak self] _ in
318 |             self?.onClose()
    |             `- warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
319 |         }
320 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:353:35: warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
351 |             host: host,
352 |             port: port,
353 |             authenticationMethod: self.authenticationMethod(),
    |                                   `- warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
354 |             hostKeyValidator: self.hostKeyValidator,
355 |             protocolOptions: protocolOptions,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:160:35: warning: reference to captured var 'clientConfiguration' in concurrently-executing code
158 |             channel.pipeline.addHandlers(settings.channelHandlers + [
159 |                 NIOSSHHandler(
160 |                     role: .client(clientConfiguration),
    |                                   `- warning: reference to captured var 'clientConfiguration' in concurrently-executing code
161 |                     allocator: channel.allocator,
162 |                     inboundChildChannelInitializer: nil
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:213:36: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |         settings.protocolOptions = protocolOptions
212 |         settings.group = group
213 |         settings.channelHandlers = channelHandlers
    |                                    `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
214 |         settings.connectTimeout = connectTimeout
215 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:12:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
10 |     func handlerAdded(context: ChannelHandlerContext) {
11 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
12 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
13 |         }
14 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:323: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
321 |
322 |     private func onClose() {
323 |         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
324 |             self.onDisconnect?()
    |             `- note: closure captures 'self' which is accessible to code in the current task
325 |
326 |             switch connectionSettings.reconnect.mode {
[834/846] Compiling Citadel ClientSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:242:35: warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
240 |         try await SSHClientSession.addHandlers(
241 |             on: channel,
242 |             authenticationMethod: authenticationMethod(),
    |                                   |- warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
    |                                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
243 |             hostKeyValidator: hostKeyValidator,
244 |             protocolOptions: protocolOptions
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:287:35: warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
285 |             host: host,
286 |             port: port,
287 |             authenticationMethod: authenticationMethod,
    |                                   `- warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
288 |             hostKeyValidator: hostKeyValidator,
289 |             algorithms: algorithms,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHAuthenticationMethod.swift:6:20: note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  4 |
  5 | /// Represents an authentication method.
  6 | public final class SSHAuthenticationMethod: NIOSSHClientUserAuthenticationDelegate {
    |                    `- note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  7 |     private enum Implementation {
  8 |         case custom(NIOSSHClientUserAuthenticationDelegate)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:318:13: warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
316 |     private func onNewSession(_ session: SSHClientSession) {
317 |         session.channel.closeFuture.whenComplete { [weak self] _ in
318 |             self?.onClose()
    |             `- warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
319 |         }
320 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:353:35: warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
351 |             host: host,
352 |             port: port,
353 |             authenticationMethod: self.authenticationMethod(),
    |                                   `- warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
354 |             hostKeyValidator: self.hostKeyValidator,
355 |             protocolOptions: protocolOptions,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:160:35: warning: reference to captured var 'clientConfiguration' in concurrently-executing code
158 |             channel.pipeline.addHandlers(settings.channelHandlers + [
159 |                 NIOSSHHandler(
160 |                     role: .client(clientConfiguration),
    |                                   `- warning: reference to captured var 'clientConfiguration' in concurrently-executing code
161 |                     allocator: channel.allocator,
162 |                     inboundChildChannelInitializer: nil
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:213:36: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |         settings.protocolOptions = protocolOptions
212 |         settings.group = group
213 |         settings.channelHandlers = channelHandlers
    |                                    `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
214 |         settings.connectTimeout = connectTimeout
215 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:12:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
10 |     func handlerAdded(context: ChannelHandlerContext) {
11 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
12 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
13 |         }
14 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:323: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
321 |
322 |     private func onClose() {
323 |         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
324 |             self.onDisconnect?()
    |             `- note: closure captures 'self' which is accessible to code in the current task
325 |
326 |             switch connectionSettings.reconnect.mode {
[835/846] Compiling Citadel DirectTCPIP+Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:242:35: warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
240 |         try await SSHClientSession.addHandlers(
241 |             on: channel,
242 |             authenticationMethod: authenticationMethod(),
    |                                   |- warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
    |                                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
243 |             hostKeyValidator: hostKeyValidator,
244 |             protocolOptions: protocolOptions
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:287:35: warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
285 |             host: host,
286 |             port: port,
287 |             authenticationMethod: authenticationMethod,
    |                                   `- warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
288 |             hostKeyValidator: hostKeyValidator,
289 |             algorithms: algorithms,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHAuthenticationMethod.swift:6:20: note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  4 |
  5 | /// Represents an authentication method.
  6 | public final class SSHAuthenticationMethod: NIOSSHClientUserAuthenticationDelegate {
    |                    `- note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  7 |     private enum Implementation {
  8 |         case custom(NIOSSHClientUserAuthenticationDelegate)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:318:13: warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
316 |     private func onNewSession(_ session: SSHClientSession) {
317 |         session.channel.closeFuture.whenComplete { [weak self] _ in
318 |             self?.onClose()
    |             `- warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
319 |         }
320 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:353:35: warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
351 |             host: host,
352 |             port: port,
353 |             authenticationMethod: self.authenticationMethod(),
    |                                   `- warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
354 |             hostKeyValidator: self.hostKeyValidator,
355 |             protocolOptions: protocolOptions,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:160:35: warning: reference to captured var 'clientConfiguration' in concurrently-executing code
158 |             channel.pipeline.addHandlers(settings.channelHandlers + [
159 |                 NIOSSHHandler(
160 |                     role: .client(clientConfiguration),
    |                                   `- warning: reference to captured var 'clientConfiguration' in concurrently-executing code
161 |                     allocator: channel.allocator,
162 |                     inboundChildChannelInitializer: nil
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:213:36: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |         settings.protocolOptions = protocolOptions
212 |         settings.group = group
213 |         settings.channelHandlers = channelHandlers
    |                                    `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
214 |         settings.connectTimeout = connectTimeout
215 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:12:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
10 |     func handlerAdded(context: ChannelHandlerContext) {
11 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
12 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
13 |         }
14 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:323: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
321 |
322 |     private func onClose() {
323 |         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
324 |             self.onDisconnect?()
    |             `- note: closure captures 'self' which is accessible to code in the current task
325 |
326 |             switch connectionSettings.reconnect.mode {
[836/846] Compiling Citadel DirectTCPIP+Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:242:35: warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
240 |         try await SSHClientSession.addHandlers(
241 |             on: channel,
242 |             authenticationMethod: authenticationMethod(),
    |                                   |- warning: implicit capture of 'authenticationMethod' requires that '() -> SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
    |                                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
243 |             hostKeyValidator: hostKeyValidator,
244 |             protocolOptions: protocolOptions
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:287:35: warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
285 |             host: host,
286 |             port: port,
287 |             authenticationMethod: authenticationMethod,
    |                                   `- warning: implicit capture of 'authenticationMethod' requires that 'SSHAuthenticationMethod' conforms to 'Sendable'; this is an error in the Swift 6 language mode
288 |             hostKeyValidator: hostKeyValidator,
289 |             algorithms: algorithms,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SSHAuthenticationMethod.swift:6:20: note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  4 |
  5 | /// Represents an authentication method.
  6 | public final class SSHAuthenticationMethod: NIOSSHClientUserAuthenticationDelegate {
    |                    `- note: class 'SSHAuthenticationMethod' does not conform to the 'Sendable' protocol
  7 |     private enum Implementation {
  8 |         case custom(NIOSSHClientUserAuthenticationDelegate)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:318:13: warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
316 |     private func onNewSession(_ session: SSHClientSession) {
317 |         session.channel.closeFuture.whenComplete { [weak self] _ in
318 |             self?.onClose()
    |             `- warning: capture of 'self' with non-sendable type 'SSHClient?' in a '@Sendable' closure
319 |         }
320 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:353:35: warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
    :
351 |             host: host,
352 |             port: port,
353 |             authenticationMethod: self.authenticationMethod(),
    |                                   `- warning: implicit capture of 'self' requires that 'SSHClient' conforms to 'Sendable'; this is an error in the Swift 6 language mode
354 |             hostKeyValidator: self.hostKeyValidator,
355 |             protocolOptions: protocolOptions,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:160:35: warning: reference to captured var 'clientConfiguration' in concurrently-executing code
158 |             channel.pipeline.addHandlers(settings.channelHandlers + [
159 |                 NIOSSHHandler(
160 |                     role: .client(clientConfiguration),
    |                                   `- warning: reference to captured var 'clientConfiguration' in concurrently-executing code
161 |                     allocator: channel.allocator,
162 |                     inboundChildChannelInitializer: nil
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/ClientSession.swift:213:36: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |         settings.protocolOptions = protocolOptions
212 |         settings.group = group
213 |         settings.channelHandlers = channelHandlers
    |                                    `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
214 |         settings.connectTimeout = connectTimeout
215 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:12:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
10 |     func handlerAdded(context: ChannelHandlerContext) {
11 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
12 |             context.fireErrorCaught(error)
   |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
13 |         }
14 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/DirectTCPIP/Client/DirectTCPIP+Client.swift:59:24: warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
57 |                 }
58 |
59 |                 return initialize(channel)
   |                        |- warning: capture of 'initialize' with non-sendable type '(any Channel) -> EventLoopFuture<Void>' in an isolated closure; this is an error in the Swift 6 language mode
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
60 |             }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:323: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
321 |
322 |     private func onClose() {
323 |         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
324 |             self.onDisconnect?()
    |             `- note: closure captures 'self' which is accessible to code in the current task
325 |
326 |             switch connectionSettings.reconnect.mode {
[837/846] Compiling Citadel NIOGlueHandler.swift
[838/846] Compiling Citadel OpenSSHKey.swift
[839/846] Compiling Citadel SFTPClient.swift
[840/846] Compiling Citadel SFTPClientInboundHandler.swift
[841/846] Compiling Citadel Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:40:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 38 |     func handlerAdded(context: ChannelHandlerContext) {
 39 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 40 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 41 |         }
 42 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:59:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 57 |             guard let shell = shell, let parent = context.channel.parent else {
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 60 |                     return context.channel.close()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:60:28: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
 60 |                     return context.channel.close()
    |                            `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |                 }
 62 |                 return
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:67:30: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 65 |             parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 66 |                 ShellServerSubsystem.setupChannelHanders(
 67 |                     channel: context.channel,
    |                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 68 |                     shell: shell,
 69 |                     logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:73:31: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 71 |                 )
 72 |             }.flatMap { () -> EventLoopFuture<Void> in
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
    |                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:75:17: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
    |                 `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:78:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
 78 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 79 |             }
 80 |         case let event as SSHChannelRequestEvent.SubsystemRequest:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:91:34: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |                 parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 90 |                     SFTPServerSubsystem.setupChannelHanders(
 91 |                         channel: context.channel,
    |                                  `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |                         sftp: sftp,
 93 |                         logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:97:35: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 95 |                     )
 96 |                 }.flatMap { () -> EventLoopFuture<Void> in
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
    |                                   `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:99:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:102:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
102 |                     context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
103 |                 }
104 |             default:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:37: warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |                                     `- warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/NIOAny.swift:45:15: note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 43 | ///         }
 44 | ///     }
 45 | public struct NIOAny {
    |               `- note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 46 |     @usableFromInline
 47 |     /* private but _versioned */ let _storage: _NIOAny
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:102:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
100 |         }
101 |
102 |         done.futureResult.whenFailure(context.fireErrorCaught)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
103 |     }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:84:46: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 82 |
 83 |                 group.addTask {
 84 |                     for try await message in self.outbound.stream {
    |                                              `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:124:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
123 |             self.logger.debug("Failed to set allowRemoteHalfClosure: \(error)")
124 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
125 |         }
126 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:285:17: warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
283 |                 streamContinuation.yield(.stderr(stderr))
284 |             case .eof(let error):
285 |                 self.logger.debug("EOF triggered, ending the command stream.")
    |                 `- warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 |                 if let error {
287 |                     streamContinuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:112:20: note: class 'SSHClient' does not conform to the 'Sendable' protocol
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:75:31: 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
 73 |         done.completeWithTask {
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
    |                               `- 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
 76 |                     try await self.delegate.startShell(
    |                               `- note: closure captures non-Sendable 'self'
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- note: closure captures non-Sendable 'shellContext'
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:83:31: 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
 81 |                 }
 82 |
 83 |                 group.addTask {
    |                               `- 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
 84 |                     for try await message in self.outbound.stream {
    |                                              `- note: closure captures 'self' which is accessible to code in the current task
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:467: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
465 |         )
466 |
467 |         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
468 |             do {
469 |                 let stream = try await executeCommandStream(command, inShell: inShell)
    |                                        `- note: closure captures 'self' which is accessible to code in the current task
470 |                 for try await chunk in stream {
471 |                     switch chunk {
[842/846] Compiling Citadel ShellDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:40:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 38 |     func handlerAdded(context: ChannelHandlerContext) {
 39 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 40 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 41 |         }
 42 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:59:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 57 |             guard let shell = shell, let parent = context.channel.parent else {
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 60 |                     return context.channel.close()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:60:28: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
 60 |                     return context.channel.close()
    |                            `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |                 }
 62 |                 return
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:67:30: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 65 |             parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 66 |                 ShellServerSubsystem.setupChannelHanders(
 67 |                     channel: context.channel,
    |                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 68 |                     shell: shell,
 69 |                     logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:73:31: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 71 |                 )
 72 |             }.flatMap { () -> EventLoopFuture<Void> in
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
    |                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:75:17: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
    |                 `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:78:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
 78 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 79 |             }
 80 |         case let event as SSHChannelRequestEvent.SubsystemRequest:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:91:34: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |                 parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 90 |                     SFTPServerSubsystem.setupChannelHanders(
 91 |                         channel: context.channel,
    |                                  `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |                         sftp: sftp,
 93 |                         logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:97:35: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 95 |                     )
 96 |                 }.flatMap { () -> EventLoopFuture<Void> in
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
    |                                   `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:99:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:102:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
102 |                     context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
103 |                 }
104 |             default:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:37: warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |                                     `- warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/NIOAny.swift:45:15: note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 43 | ///         }
 44 | ///     }
 45 | public struct NIOAny {
    |               `- note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 46 |     @usableFromInline
 47 |     /* private but _versioned */ let _storage: _NIOAny
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:102:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
100 |         }
101 |
102 |         done.futureResult.whenFailure(context.fireErrorCaught)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
103 |     }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:84:46: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 82 |
 83 |                 group.addTask {
 84 |                     for try await message in self.outbound.stream {
    |                                              `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:124:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
123 |             self.logger.debug("Failed to set allowRemoteHalfClosure: \(error)")
124 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
125 |         }
126 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:285:17: warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
283 |                 streamContinuation.yield(.stderr(stderr))
284 |             case .eof(let error):
285 |                 self.logger.debug("EOF triggered, ending the command stream.")
    |                 `- warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 |                 if let error {
287 |                     streamContinuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:112:20: note: class 'SSHClient' does not conform to the 'Sendable' protocol
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:75:31: 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
 73 |         done.completeWithTask {
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
    |                               `- 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
 76 |                     try await self.delegate.startShell(
    |                               `- note: closure captures non-Sendable 'self'
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- note: closure captures non-Sendable 'shellContext'
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:83:31: 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
 81 |                 }
 82 |
 83 |                 group.addTask {
    |                               `- 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
 84 |                     for try await message in self.outbound.stream {
    |                                              `- note: closure captures 'self' which is accessible to code in the current task
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:467: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
465 |         )
466 |
467 |         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
468 |             do {
469 |                 let stream = try await executeCommandStream(command, inShell: inShell)
    |                                        `- note: closure captures 'self' which is accessible to code in the current task
470 |                 for try await chunk in stream {
471 |                     switch chunk {
[843/846] Compiling Citadel TTY.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:40:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 38 |     func handlerAdded(context: ChannelHandlerContext) {
 39 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
 40 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 41 |         }
 42 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:59:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 57 |             guard let shell = shell, let parent = context.channel.parent else {
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 60 |                     return context.channel.close()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:60:28: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 58 |                 _ = context.channel.triggerUserOutboundEvent(ChannelFailureEvent()).flatMap {
 59 |                     self.configured.succeed(())
 60 |                     return context.channel.close()
    |                            `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 61 |                 }
 62 |                 return
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:67:30: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 65 |             parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 66 |                 ShellServerSubsystem.setupChannelHanders(
 67 |                     channel: context.channel,
    |                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 68 |                     shell: shell,
 69 |                     logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:73:31: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 71 |                 )
 72 |             }.flatMap { () -> EventLoopFuture<Void> in
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
    |                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:75:17: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 73 |                 let promise = context.eventLoop.makePromise(of: Void.self)
 74 |                 context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 75 |                 self.configured.succeed(())
    |                 `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:78:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 76 |                 return promise.futureResult
 77 |             }.whenFailure { _ in
 78 |                 context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 79 |             }
 80 |         case let event as SSHChannelRequestEvent.SubsystemRequest:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:91:34: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |                 parent.pipeline.handler(type: NIOSSHHandler.self).flatMap { handler in
 90 |                     SFTPServerSubsystem.setupChannelHanders(
 91 |                         channel: context.channel,
    |                                  `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |                         sftp: sftp,
 93 |                         logger: .init(label: "nl.orlandos.citadel.sftp-server"),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:97:35: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 95 |                     )
 96 |                 }.flatMap { () -> EventLoopFuture<Void> in
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
    |                                   `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:99:21: warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
 18 | }
 19 |
 20 | final class SubsystemHandler: ChannelDuplexHandler {
    |             `- note: class 'SubsystemHandler' does not conform to the 'Sendable' protocol
 21 |     typealias InboundIn = SSHChannelData
 22 |     typealias InboundOut = SSHChannelData
    :
 97 |                     let promise = context.eventLoop.makePromise(of: Void.self)
 98 |                     context.channel.triggerUserOutboundEvent(ChannelSuccessEvent(), promise: promise)
 99 |                     self.configured.succeed(())
    |                     `- warning: capture of 'self' with non-sendable type 'SubsystemHandler' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:102:21: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
100 |                     return promise.futureResult
101 |                 }.whenFailure { _ in
102 |                     context.channel.triggerUserOutboundEvent(ChannelFailureEvent(), promise: nil)
    |                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
103 |                 }
104 |             default:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:114:37: warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
112 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
113 |         configured.futureResult.whenSuccess {
114 |             context.fireChannelRead(data)
    |                                     `- warning: capture of 'data' with non-sendable type 'NIOAny' in a '@Sendable' closure
115 |         }
116 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/NIOAny.swift:45:15: note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 43 | ///         }
 44 | ///     }
 45 | public struct NIOAny {
    |               `- note: struct 'NIOAny' does not conform to the 'Sendable' protocol
 46 |     @usableFromInline
 47 |     /* private but _versioned */ let _storage: _NIOAny
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:102:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
100 |         }
101 |
102 |         done.futureResult.whenFailure(context.fireErrorCaught)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
103 |     }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:76:31: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
 76 |                     try await self.delegate.startShell(
    |                               `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:79:34: warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- warning: capture of 'shellContext' with non-sendable type 'SSHShellContext' in an isolated closure; this is an error in the Swift 6 language mode
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/Server/SFTPServer.swift:35:15: note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 33 | }
 34 |
 35 | public struct SSHShellContext {
    |               `- note: consider making struct 'SSHShellContext' conform to the 'Sendable' protocol
 36 |     public struct WindowSize {
 37 |         public let columns: Int
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:84:46: warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | final class ShellServerInboundHandler: ChannelInboundHandler {
    |             `- note: class 'ShellServerInboundHandler' does not conform to the 'Sendable' protocol
 46 |     typealias InboundIn = ByteBuffer
 47 |
    :
 82 |
 83 |                 group.addTask {
 84 |                     for try await message in self.outbound.stream {
    |                                              `- warning: capture of 'self' with non-sendable type 'ShellServerInboundHandler' in an isolated closure; this is an error in the Swift 6 language mode
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:124:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |         context.channel.setOption(ChannelOptions.allowRemoteHalfClosure, value: true).whenFailure { error in
123 |             self.logger.debug("Failed to set allowRemoteHalfClosure: \(error)")
124 |             context.fireErrorCaught(error)
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
125 |         }
126 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1456:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1454 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1455 | /// `ChannelHandler`.
1456 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1457 |     // visible for ChannelPipeline to modify
1458 |     fileprivate var next: Optional<ChannelHandlerContext>
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:285:17: warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
283 |                 streamContinuation.yield(.stderr(stderr))
284 |             case .eof(let error):
285 |                 self.logger.debug("EOF triggered, ending the command stream.")
    |                 `- warning: capture of 'self' with non-sendable type 'SSHClient' in a '@Sendable' closure; this is an error in the Swift 6 language mode
286 |                 if let error {
287 |                     streamContinuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:112:20: note: class 'SSHClient' does not conform to the 'Sendable' protocol
110 |
111 | /// Represents an SSH connection.
112 | public final class SSHClient {
    |                    `- note: class 'SSHClient' does not conform to the 'Sendable' protocol
113 |     private(set) var session: SSHClientSession
114 |     private var userInitiatedClose = false
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:75:31: 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
 73 |         done.completeWithTask {
 74 |             try await withThrowingTaskGroup(of: Void.self) { group in
 75 |                 group.addTask {
    |                               `- 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
 76 |                     try await self.delegate.startShell(
    |                               `- note: closure captures non-Sendable 'self'
 77 |                         inbound: self.inbound.stream,
 78 |                         outbound: ShellOutboundWriter(continuation: self.outbound.continuation),
 79 |                         context: shellContext
    |                                  `- note: closure captures non-Sendable 'shellContext'
 80 |                     )
 81 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Shell/Server/ShellDelegate.swift:83:31: 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
 81 |                 }
 82 |
 83 |                 group.addTask {
    |                               `- 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
 84 |                     for try await message in self.outbound.stream {
    |                                              `- note: closure captures 'self' which is accessible to code in the current task
 85 |                         switch message.event {
 86 |                         case .stdout(let data):
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/TTY/Client/TTY.swift:467: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
465 |         )
466 |
467 |         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
468 |             do {
469 |                 let stream = try await executeCommandStream(command, inShell: inShell)
    |                                        `- note: closure captures 'self' which is accessible to code in the current task
470 |                 for try await chunk in stream {
471 |                     switch chunk {
[844/853] Compiling CitadelServerExample Extensions.swift
[845/853] Compiling CitadelServerExample Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/CitadelServerExample/Server.swift:24:42: warning: non-sendable result type 'SSHServer' cannot be sent from nonisolated context in call to static method 'host(host:port:hostKeys:algorithms:protocolOptions:logger:authenticationDelegate:group:)'; this is an error in the Swift 6 language mode
22 |         }
23 |
24 |         let server = try await SSHServer.host(
   |                                          `- warning: non-sendable result type 'SSHServer' cannot be sent from nonisolated context in call to static method 'host(host:port:hostKeys:algorithms:protocolOptions:logger:authenticationDelegate:group:)'; this is an error in the Swift 6 language mode
25 |             host: "localhost",
26 |             port: 2323,
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Server.swift:186:20: note: class 'SSHServer' does not conform to the 'Sendable' protocol
184 | /// The server can be closed using the `close()` method.
185 | /// - Note: This class is not thread safe.
186 | public final class SSHServer {
    |                    `- note: class 'SSHServer' does not conform to the 'Sendable' protocol
187 |     let channel: Channel
188 |     let delegate: CitadelServerDelegate
/Users/admin/builder/spi-builder-workspace/Sources/CitadelServerExample/Server.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Citadel'
 1 | import Citadel
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Citadel'
 2 | import Crypto
 3 | import Foundation
[846/853] Compiling CitadelServerExample Terminal.swift
[847/853] Compiling CitadelServerExample HostKeyFile.swift
[848/853] Compiling CitadelServerExample BasicCommands.swift
[849/853] Emitting module CitadelServerExample
[850/853] Compiling CitadelServerExample EchoShell.swift
[850/853] Write Objects.LinkFileList
[851/853] Linking CitadelServerExample
[852/853] Applying CitadelServerExample
Build complete! (26.78s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio-ssh",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.2",
            "upper_bound" : "0.4.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Joannis/swift-nio-ssh.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "bigint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/attaswift/BigInt.git"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    },
    {
      "identity" : "colorizeswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mtynior/ColorizeSwift.git"
    }
  ],
  "manifest_display_name" : "Citadel",
  "name" : "Citadel",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "Citadel",
      "targets" : [
        "Citadel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CitadelServerExample",
      "targets" : [
        "CitadelServerExample"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CitadelTests",
      "module_type" : "SwiftTarget",
      "name" : "CitadelTests",
      "path" : "Tests/CitadelTests",
      "product_dependencies" : [
        "NIOSSH",
        "BigInt",
        "Logging"
      ],
      "sources" : [
        "Citadel2Tests.swift",
        "EndToEndTests.swift",
        "KeyTests.swift"
      ],
      "target_dependencies" : [
        "Citadel"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CitadelServerExample",
      "module_type" : "SwiftTarget",
      "name" : "CitadelServerExample",
      "path" : "Sources/CitadelServerExample",
      "product_dependencies" : [
        "ColorizeSwift"
      ],
      "product_memberships" : [
        "CitadelServerExample"
      ],
      "sources" : [
        "EchoShell/BasicCommands.swift",
        "EchoShell/EchoShell.swift",
        "EchoShell/Extensions.swift",
        "EchoShell/Terminal.swift",
        "HostKeyFile.swift",
        "Server.swift"
      ],
      "target_dependencies" : [
        "Citadel"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Citadel",
      "module_type" : "SwiftTarget",
      "name" : "Citadel",
      "path" : "Sources/Citadel",
      "product_dependencies" : [
        "NIOSSH",
        "Crypto",
        "_CryptoExtras",
        "BigInt",
        "Logging"
      ],
      "product_memberships" : [
        "Citadel",
        "CitadelServerExample"
      ],
      "sources" : [
        "Algorithms/AES.swift",
        "Algorithms/DH-Helpers.swift",
        "Algorithms/DiffieHellmanGroup14Sha1.swift",
        "Algorithms/DiffieHellmanGroup14Sha256.swift",
        "Algorithms/RSA.swift",
        "BCrypt.swift",
        "ByteBufferHelpers.swift",
        "ChannelUnwrapper.swift",
        "Client.swift",
        "ClientSession.swift",
        "DirectTCPIP/Client/DirectTCPIP+Client.swift",
        "DirectTCPIP/Server/DirectTCPIP+Server.swift",
        "Errors.swift",
        "Exec/Client/ExecClient.swift",
        "Exec/Server/ExecDelegate.swift",
        "Exec/Server/ExecHandler.swift",
        "NIOGlueHandler.swift",
        "OpenSSHKey.swift",
        "SFTP/Client/SFTPClient.swift",
        "SFTP/Client/SFTPClientInboundHandler.swift",
        "SFTP/Client/SFTPFile.swift",
        "SFTP/SFTPBasicEnums.swift",
        "SFTP/SFTPFileFlags.swift",
        "SFTP/SFTPMessage.swift",
        "SFTP/SFTPMessageParser.swift",
        "SFTP/SFTPSerializer.swift",
        "SFTP/Server/SFTPServer.swift",
        "SFTP/Server/SFTPServerInboundHandler.swift",
        "SSHAuthenticationMethod.swift",
        "SSHCert.swift",
        "SSHConnectionPoolSettings.swift",
        "SSHKeyTypeDetection.swift",
        "Server.swift",
        "Shell/Server/ShellDelegate.swift",
        "TTY/Client/TTY.swift"
      ],
      "target_dependencies" : [
        "CCitadelBcrypt"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CCitadelBcrypt",
      "module_type" : "ClangTarget",
      "name" : "CCitadelBcrypt",
      "path" : "Sources/CCitadelBcrypt",
      "product_memberships" : [
        "Citadel",
        "CitadelServerExample"
      ],
      "sources" : [
        "bcrypt-kdf.c",
        "bcrypt.c",
        "blf.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/orlandos-nl/citadel/main
Repository:               orlandos-nl/Citadel
Swift version used:       6.1
Target:                   Citadel
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            4633b45fc732d8c55568be09dd852f9dc1582c25 -> FETCH_HEAD
HEAD is now at 4633b45 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'Citadel'...
Finished extracting symbol information for 'Citadel'. (13.05s)
Building documentation for 'Citadel'...
Finished building documentation for 'Citadel' (0.44s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/orlandos-nl/citadel/main
Updating https://github.com/apple/swift-system.git
Updating https://github.com/apple/swift-nio.git
Updating https://github.com/apple/swift-collections.git
Updating https://github.com/Joannis/swift-nio-ssh.git
Updating https://github.com/attaswift/BigInt.git
Updating https://github.com/apple/swift-log.git
Updating https://github.com/apple/swift-crypto.git
Updated https://github.com/apple/swift-system.git (0.48s)
Updating https://github.com/apple/swift-atomics.git
Updated https://github.com/apple/swift-crypto.git (0.59s)
Updated https://github.com/attaswift/BigInt.git (0.59s)
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/mtynior/ColorizeSwift.git
Updated https://github.com/apple/swift-log.git (0.75s)
Updated https://github.com/Joannis/swift-nio-ssh.git (0.75s)
Updated https://github.com/apple/swift-nio.git (0.75s)
Updated https://github.com/apple/swift-collections.git (0.75s)
Updated https://github.com/apple/swift-atomics.git (0.47s)
Updated https://github.com/mtynior/ColorizeSwift.git (0.48s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.59s)
Computing version for https://github.com/mtynior/ColorizeSwift.git
Computed https://github.com/mtynior/ColorizeSwift.git at 1.6.0 (1.82s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 2.0.5 (0.58s)
Computing version for https://github.com/attaswift/BigInt.git
Computed https://github.com/attaswift/BigInt.git at 5.3.0 (0.58s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.4 (0.58s)
Computing version for https://github.com/Joannis/swift-nio-ssh.git
Computed https://github.com/Joannis/swift-nio-ssh.git at 0.3.2 (0.62s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.48s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.65.0 (0.54s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.2.1 (0.59s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.0 (0.67s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.4 (0.59s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.88s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.53s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.4
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/7] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling SymbolKit Identifier.swift
[7/53] Compiling SymbolKit KindIdentifier.swift
[8/53] Compiling SymbolKit Location.swift
[9/53] Compiling SymbolKit Mutability.swift
[10/57] Emitting module SymbolKit
[11/57] Compiling SymbolKit Mixin+Equals.swift
[12/57] Compiling SymbolKit Mixin+Hash.swift
[13/57] Compiling SymbolKit Mixin.swift
[14/57] Compiling SymbolKit LineList.swift
[15/57] Compiling SymbolKit Position.swift
[16/57] Compiling SymbolKit SemanticVersion.swift
[17/57] Compiling SymbolKit AccessControl.swift
[18/57] Compiling SymbolKit Availability.swift
[19/57] Compiling SymbolKit AvailabilityItem.swift
[20/57] Compiling SymbolKit Domain.swift
[21/57] Compiling SymbolKit SourceRange.swift
[22/57] Compiling SymbolKit Metadata.swift
[23/57] Compiling SymbolKit Module.swift
[24/57] Compiling SymbolKit OperatingSystem.swift
[25/57] Compiling SymbolKit Platform.swift
[26/57] Compiling SymbolKit Relationship.swift
[27/57] Compiling SymbolKit RelationshipKind.swift
[28/57] Compiling SymbolKit SourceOrigin.swift
[29/57] Compiling SymbolKit GenericConstraints.swift
[30/57] Compiling SymbolKit Swift.swift
[31/57] Compiling SymbolKit DeclarationFragments.swift
[32/57] Compiling SymbolKit Fragment.swift
[33/57] Compiling SymbolKit FragmentKind.swift
[34/57] Compiling SymbolKit FunctionParameter.swift
[35/57] Compiling SymbolKit FunctionSignature.swift
[36/57] Compiling SymbolKit GenericConstraint.swift
[37/57] Compiling SymbolKit GenericParameter.swift
[38/57] Compiling SymbolKit Generics.swift
[39/57] Compiling SymbolKit Namespace.swift
[40/57] Compiling SymbolKit Names.swift
[41/57] Compiling SymbolKit SPI.swift
[42/57] Compiling SymbolKit Snippet.swift
[43/57] Compiling SymbolKit Extension.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets SnippetParser.swift
[53/57] Emitting module Snippets
[54/57] Compiling Snippets Snippet.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (5.33s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/133] Compiling Crypto AES-GCM_boring.swift
[3/133] Compiling Crypto ChaChaPoly_boring.swift
[4/134] Compiling _CollectionsUtilities UnsafeBufferPointer+Extras.swift
[5/134] Compiling Crypto ASN1BitString.swift
[6/134] Compiling Crypto ASN1Identifier.swift
[7/134] Compiling Crypto HashFunctions_SHA2.swift
[8/134] Compiling Crypto Insecure.swift
[9/134] Compiling Crypto Insecure_HashFunctions.swift
[10/134] Compiling Crypto AES-GCM.swift
[11/134] Compiling Crypto ECDSASignature.swift
[12/134] Compiling Crypto Digest.swift
[13/134] Compiling Crypto ChaChaPoly.swift
[14/134] Compiling Crypto Cipher.swift
[15/136] Compiling Logging MetadataProvider.swift
[16/136] Compiling Logging Locks.swift
[23/136] Emitting module Logging
[24/136] Compiling _CollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[27/136] Compiling _NIOBase64 Base64.swift
[28/136] Compiling Crypto ASN1Integer.swift
[29/136] Compiling Crypto ASN1OctetString.swift
[30/136] Compiling Crypto ArraySliceBigint.swift
[31/136] Compiling Crypto ObjectIdentifier.swift
[32/136] Emitting module _NIOBase64
[36/142] Compiling _NIODataStructures Heap.swift
[37/142] Compiling _NIODataStructures PriorityQueue.swift
[38/142] Compiling _NIODataStructures _TinyArray.swift
[39/142] Emitting module _NIODataStructures
[40/142] Compiling Crypto PEMDocument.swift
[41/142] Compiling Crypto PKCS8PrivateKey.swift
[42/142] Compiling Crypto SEC1PrivateKey.swift
[43/142] Compiling Crypto SubjectPublicKeyInfo.swift
[44/142] Compiling Crypto CryptoKitErrors.swift
[45/142] Compiling Crypto Digest_boring.swift
[47/142] Compiling Crypto Digests.swift
[48/142] Compiling Crypto HashFunctions.swift
[57/142] Compiling Atomics IntegerOperations.swift
[58/142] Compiling Atomics Unmanaged extensions.swift
[59/142] Compiling NIOConcurrencyHelpers lock.swift
[62/142] Compiling Crypto Ed25519_boring.swift
[63/142] Compiling Crypto EllipticCurvePoint_boring.swift
[64/142] Compiling Crypto EllipticCurve_boring.swift
[65/142] Compiling Crypto NISTCurvesKeys_boring.swift
[66/142] Compiling Crypto X25519Keys_boring.swift
[67/142] Compiling Crypto Curve25519.swift
[68/142] Compiling Crypto ECDH_boring.swift
[69/142] Compiling Crypto DH.swift
[70/142] Compiling Crypto ECDH.swift
[71/142] Compiling Crypto HKDF.swift
[72/142] Compiling Crypto AESWrap.swift
[73/142] Compiling Crypto AESWrap_boring.swift
[76/142] Compiling Crypto Ed25519.swift
[77/142] Compiling Crypto NISTCurvesKeys.swift
[78/142] Compiling Crypto X25519Keys.swift
[79/142] Compiling Crypto SymmetricKeys.swift
[80/142] Compiling Crypto HMAC.swift
[81/142] Compiling Crypto MACFunctions.swift
[82/142] Emitting module _CollectionsUtilities
[83/142] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[84/142] Emitting module NIOConcurrencyHelpers
[85/142] Emitting module Crypto
[86/142] Compiling NIOConcurrencyHelpers NIOLock.swift
[87/142] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[88/142] Compiling NIOConcurrencyHelpers atomics.swift
[101/144] Compiling Crypto EdDSA.swift
[102/144] Compiling Crypto Signature.swift
[103/144] Compiling Crypto ArbitraryPrecisionInteger_boring.swift
[104/144] Compiling Crypto CryptoKitErrors_boring.swift
[105/144] Compiling Crypto FiniteFieldArithmeticContext_boring.swift
[106/144] Compiling Crypto RNG_boring.swift
[107/144] Compiling Crypto MessageAuthenticationCode.swift
[108/144] Compiling Crypto AES.swift
[109/144] Compiling Crypto ECDSASignature_boring.swift
[110/144] Compiling Crypto ECDSA_boring.swift
[111/144] Compiling Crypto EdDSA_boring.swift
[112/144] Compiling Crypto ECDSA.swift
[121/144] Emitting module BigInt
[122/144] Compiling Logging LogHandler.swift
[123/144] Compiling Logging Logging.swift
[124/144] Compiling Crypto SafeCompare_boring.swift
[125/144] Compiling Crypto Zeroization_boring.swift
[126/144] Compiling Crypto PrettyBytes.swift
[127/144] Compiling Crypto SafeCompare.swift
[128/144] Compiling Crypto SecureBytes.swift
[129/144] Compiling Crypto Zeroization.swift
[134/170] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[135/170] Compiling DequeModule Deque+Codable.swift
[136/170] Compiling DequeModule Deque+Collection.swift
[137/170] Compiling DequeModule Deque+Sendable.swift
[138/170] Compiling DequeModule Deque+Testing.swift
[139/170] Compiling DequeModule Deque.swift
[140/170] Compiling DequeModule _DequeBuffer.swift
[141/170] Compiling DequeModule Deque+Equatable.swift
[142/170] Compiling BigInt Subtraction.swift
[143/170] Compiling BigInt Words and Bits.swift
[144/170] Emitting module Atomics
[145/170] Compiling _CryptoExtras CryptoKitErrors_boring.swift
[146/170] Compiling _CryptoExtras DigestType.swift
[147/170] Compiling _CryptoExtras Error.swift
[148/170] Compiling _CryptoExtras PEMDocument.swift
[149/170] Compiling _CryptoExtras BoringSSLHelpers.swift
[150/170] Compiling DequeModule Deque+CustomReflectable.swift
[151/170] Compiling DequeModule Deque+Descriptions.swift
[152/170] Compiling DequeModule Deque._Storage.swift
[153/170] Compiling DequeModule Deque._UnsafeHandle.swift
[156/170] Compiling DequeModule Deque+Extras.swift
[157/170] Compiling DequeModule Deque+Hashable.swift
[158/170] Compiling DequeModule _DequeBufferHeader.swift
[159/170] Compiling DequeModule _DequeSlot.swift
[164/171] Emitting module DequeModule
[167/171] Compiling _CryptoExtras RSA.swift
[168/171] Emitting module _CryptoExtras
[169/171] Compiling _CryptoExtras RSA_boring.swift
[170/171] Compiling _CryptoExtras RSA_security.swift
[171/171] Compiling DequeModule _UnsafeWrappedBuffer.swift
[172/231] Compiling NIOCore EventLoopFuture+Deprecated.swift
[173/231] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[174/231] Compiling NIOCore EventLoopFuture.swift
[175/231] Compiling NIOCore FileDescriptor.swift
[176/231] Compiling NIOCore FileHandle.swift
[177/231] Compiling NIOCore FileRegion.swift
[178/237] Compiling NIOCore AddressedEnvelope.swift
[179/237] Compiling NIOCore AsyncAwaitSupport.swift
[180/237] Compiling NIOCore AsyncChannel.swift
[181/237] Compiling NIOCore AsyncChannelInboundStream.swift
[182/237] Compiling NIOCore AsyncChannelInboundStreamChannelHandler.swift
[183/237] Compiling NIOCore AsyncChannelOutboundWriter.swift
[184/237] Compiling NIOCore AsyncChannelOutboundWriterHandler.swift
[185/237] Compiling NIOCore ConvenienceOptionSupport.swift
[186/237] Compiling NIOCore DeadChannel.swift
[187/237] Compiling NIOCore DispatchQueue+WithFuture.swift
[188/237] Compiling NIOCore EventLoop+Deprecated.swift
[189/237] Compiling NIOCore EventLoop+SerialExecutor.swift
[190/237] Compiling NIOCore EventLoop.swift
[191/237] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[192/237] Compiling NIOCore GlobalSingletons.swift
[193/237] Compiling NIOCore IO.swift
[194/237] Compiling NIOCore IOData.swift
[195/237] Compiling NIOCore IPProtocol.swift
[196/237] Compiling NIOCore IntegerBitPacking.swift
[197/237] Compiling NIOCore IntegerTypes.swift
[198/237] Compiling NIOCore NIOLoopBound.swift
[199/237] Compiling NIOCore NIOSendable.swift
[200/237] Compiling NIOCore PointerHelpers.swift
[201/237] Compiling NIOCore RecvByteBufferAllocator.swift
[202/237] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[203/237] Compiling NIOCore SocketAddresses.swift
[204/237] Compiling NIOCore SocketOptionProvider.swift
[205/237] Compiling NIOCore SystemCallHelpers.swift
[206/237] Compiling NIOCore TimeAmount+Duration.swift
[207/237] Compiling NIOCore TypeAssistedChannelHandler.swift
[208/237] Compiling NIOCore UniversalBootstrapSupport.swift
[209/237] Compiling NIOCore Utilities.swift
[210/237] Compiling NIOCore NIOAsyncSequenceProducer.swift
[211/237] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[212/237] Compiling NIOCore NIOAsyncWriter.swift
[213/237] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[214/237] Compiling NIOCore BSDSocketAPI.swift
[215/237] Compiling NIOCore ByteBuffer-aux.swift
[216/237] Compiling NIOCore ByteBuffer-conversions.swift
[217/237] Compiling NIOCore Interfaces.swift
[218/237] Compiling NIOCore Linux.swift
[219/237] Compiling NIOCore MarkedCircularBuffer.swift
[220/237] Compiling NIOCore MulticastChannel.swift
[221/237] Compiling NIOCore NIOAny.swift
[222/237] Compiling NIOCore NIOCloseOnErrorHandler.swift
[223/237] Compiling NIOCore ChannelHandler.swift
[224/237] Compiling NIOCore ChannelHandlers.swift
[225/237] Compiling NIOCore ChannelInvoker.swift
[226/237] Compiling NIOCore ChannelOption.swift
[227/237] Compiling NIOCore ChannelPipeline.swift
[228/237] Compiling NIOCore CircularBuffer.swift
[229/237] Compiling NIOCore Codec.swift
[230/237] Compiling NIOCore ByteBuffer-core.swift
[231/237] Compiling NIOCore ByteBuffer-hexdump.swift
[232/237] Compiling NIOCore ByteBuffer-int.swift
[233/237] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[234/237] Compiling NIOCore ByteBuffer-multi-int.swift
[235/237] Compiling NIOCore ByteBuffer-views.swift
[236/237] Compiling NIOCore Channel.swift
[237/237] Emitting module NIOCore
[238/290] Compiling NIOEmbedded AsyncTestingChannel.swift
[239/290] Compiling NIOEmbedded Embedded.swift
[240/290] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[241/290] Emitting module NIOEmbedded
[242/290] Compiling NIOPosix PooledRecvBufferAllocator.swift
[243/290] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[244/290] Compiling NIOPosix PosixSingletons.swift
[245/290] Compiling NIOPosix RawSocketBootstrap.swift
[246/290] Compiling NIOPosix Resolver.swift
[247/295] Compiling NIOPosix SocketProtocols.swift
[248/295] Compiling NIOPosix System.swift
[249/295] Compiling NIOPosix Thread.swift
[250/295] Compiling NIOPosix ThreadPosix.swift
[251/295] Compiling NIOPosix ThreadWindows.swift
[252/295] Compiling NIOPosix HappyEyeballs.swift
[253/295] Compiling NIOPosix IO.swift
[254/295] Compiling NIOPosix IntegerBitPacking.swift
[255/295] Compiling NIOPosix IntegerTypes.swift
[256/295] Compiling NIOPosix Linux.swift
[257/295] Compiling NIOPosix LinuxCPUSet.swift
[258/295] Compiling NIOPosix PendingWritesManager.swift
[259/295] Compiling NIOPosix PipeChannel.swift
[260/295] Compiling NIOPosix PipePair.swift
[261/295] Compiling NIOPosix PointerHelpers.swift
[262/295] Compiling NIOPosix Pool.swift
[263/295] Compiling NIOPosix UnsafeTransfer.swift
[264/295] Compiling NIOPosix Utilities.swift
[265/295] Compiling NIOPosix VsockAddress.swift
[266/295] Compiling NIOPosix VsockChannelEvents.swift
[267/295] Compiling NIOPosix resource_bundle_accessor.swift
[268/295] Compiling NIOPosix Selectable.swift
[269/295] Compiling NIOPosix SelectableChannel.swift
[270/295] Compiling NIOPosix SelectableEventLoop.swift
[271/295] Compiling NIOPosix SelectorEpoll.swift
[272/295] Compiling NIOPosix SelectorGeneric.swift
[273/295] Emitting module NIOPosix
[274/295] Compiling NIOPosix BSDSocketAPICommon.swift
[275/295] Compiling NIOPosix BSDSocketAPIPosix.swift
[276/295] Compiling NIOPosix BSDSocketAPIWindows.swift
[277/295] Compiling NIOPosix BaseSocket.swift
[278/295] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[279/295] Compiling NIOPosix BaseSocketChannel.swift
[280/295] Compiling NIOPosix BaseStreamSocketChannel.swift
[281/295] Compiling NIOPosix Bootstrap.swift
[282/295] Compiling NIOPosix ControlMessage.swift
[283/295] Compiling NIOPosix DatagramVectorReadManager.swift
[284/295] Compiling NIOPosix FileDescriptor.swift
[285/295] Compiling NIOPosix GetaddrinfoResolver.swift
[286/295] Compiling NIOPosix SelectorKqueue.swift
[287/295] Compiling NIOPosix SelectorUring.swift
[288/295] Compiling NIOPosix ServerSocket.swift
[289/295] Compiling NIOPosix Socket.swift
[290/295] Compiling NIOPosix SocketChannel.swift
[291/295] Compiling NIOPosix LinuxUring.swift
[292/295] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[293/295] Compiling NIOPosix NIOThreadPool.swift
[294/295] Compiling NIOPosix NonBlockingFileIO.swift
[295/295] Compiling NIOPosix PendingDatagramWritesManager.swift
[296/297] Compiling NIO Exports.swift
[297/297] Emitting module NIO
[298/301] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[299/301] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[300/301] Emitting module NIOFoundationCompat
[301/301] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[302/362] Compiling NIOSSH SSHServerConfiguration.swift
[303/362] Compiling NIOSSH SSHTerminalModes.swift
[304/362] Compiling NIOSSH AESGCM.swift
[305/362] Compiling NIOSSH SSHTransportProtection.swift
[306/362] Compiling NIOSSH ClientUserAuthenticationDelegate.swift
[307/362] Compiling NIOSSH DenyAllServerAuthDelegate.swift
[308/368] Emitting module NIOSSH
[309/368] Compiling NIOSSH ByteBuffer+SSH.swift
[310/368] Compiling NIOSSH CSPRNG.swift
[311/368] Compiling NIOSSH ChildChannelOptions.swift
[312/368] Compiling NIOSSH ChildChannelStateMachine.swift
[313/368] Compiling NIOSSH ChildChannelUserEvents.swift
[314/368] Compiling NIOSSH ChildChannelWindowManager.swift
[315/368] Compiling NIOSSH ChildChannelWritabilityManager.swift
[316/368] Compiling NIOSSH OutboundFlowController.swift
[317/368] Compiling NIOSSH SSHChannelData.swift
[318/368] Compiling NIOSSH SSHChannelIdentifier.swift
[319/368] Compiling NIOSSH SSHChannelMultiplexer.swift
[320/368] Compiling NIOSSH SSHChannelType.swift
[321/368] Compiling NIOSSH SSHChildChannel.swift
[322/368] Compiling NIOSSH AcceptsChannelMessages.swift
[323/368] Compiling NIOSSH AcceptsKeyExchangeMessages.swift
[324/368] Compiling NIOSSH AcceptsUserAuthMessages.swift
[325/368] Compiling NIOSSH AcceptsVersionMessages.swift
[326/368] Compiling NIOSSH SendsChannelMessages.swift
[327/368] Compiling NIOSSH SendsKeyExchangeMessages.swift
[328/368] Compiling NIOSSH SendsUserAuthMessages.swift
[329/368] Compiling NIOSSH SSHConnectionStateMachine.swift
[330/368] Compiling NIOSSH ServerUserAuthenticationDelegate.swift
[331/368] Compiling NIOSSH SimplePasswordDelegate.swift
[332/368] Compiling NIOSSH UserAuthDelegate.swift
[333/368] Compiling NIOSSH UserAuthSignablePayload.swift
[334/368] Compiling NIOSSH UserAuthenticationMethod.swift
[335/368] Compiling NIOSSH UserAuthenticationStateMachine.swift
[336/368] Compiling NIOSSH ECDHCompatibleKey.swift
[337/368] Compiling NIOSSH EllipticCurveKeyExchange.swift
[338/368] Compiling NIOSSH SSHKeyExchangeResult.swift
[339/368] Compiling NIOSSH SSHKeyExchangeStateMachine.swift
[340/368] Compiling NIOSSH ClientServerAuthenticationDelegate.swift
[341/368] Compiling NIOSSH CustomKeys.swift
[342/368] Compiling NIOSSH NIOSSHCertifiedPublicKey.swift
[343/368] Compiling NIOSSH RekeyingState.swift
[344/368] Compiling NIOSSH SentKexInitWhenActiveState.swift
[345/368] Compiling NIOSSH SentNewKeysState.swift
[346/368] Compiling NIOSSH SentVersionState.swift
[347/368] Compiling NIOSSH UserAuthenticationState.swift
[348/368] Compiling NIOSSH Constants.swift
[349/368] Compiling NIOSSH GlobalRequestDelegate.swift
[350/368] Compiling NIOSSH NIOSSHPrivateKey.swift
[351/368] Compiling NIOSSH NIOSSHPublicKey.swift
[352/368] Compiling NIOSSH NIOSSHSignature.swift
[353/368] Compiling NIOSSH NIOSSHError.swift
[354/368] Compiling NIOSSH NIOSSHHandler.swift
[355/368] Compiling NIOSSH NIOSSHSendable.swift
[356/368] Compiling NIOSSH ActiveState.swift
[357/368] Compiling NIOSSH IdleState.swift
[358/368] Compiling NIOSSH KeyExchangeState.swift
[359/368] Compiling NIOSSH ReceivedKexInitWhenActiveState.swift
[360/368] Compiling NIOSSH ReceivedNewKeysState.swift
[361/368] Compiling NIOSSH RekeyingReceivedNewKeysState.swift
[362/368] Compiling NIOSSH RekeyingSentNewKeysState.swift
[363/368] Compiling NIOSSH Role.swift
[364/368] Compiling NIOSSH SSHClientConfiguration.swift
[365/368] Compiling NIOSSH SSHEncryptablePacketPayload.swift
[366/368] Compiling NIOSSH SSHMessages.swift
[367/368] Compiling NIOSSH SSHPacketParser.swift
[368/368] Compiling NIOSSH SSHPacketSerializer.swift
[369/401] Compiling Citadel SSHCert.swift
[370/401] Compiling Citadel SSHConnectionPoolSettings.swift
[371/401] Compiling Citadel SSHKeyTypeDetection.swift
[372/404] Compiling Citadel Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[373/404] Compiling Citadel ExecClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[374/404] Compiling Citadel ExecDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[375/404] Compiling Citadel ExecHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Exec/Server/ExecHandler.swift:143:19: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
141 |                 .channelInitializer { pipeChannel in
142 |                     pipeChannel.pipeline.addHandlers(SSHInboundChannelDataWrapper(), theirs)
143 |                 }.withPipes(
    |                   |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
    |                   `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
144 |                     inputDescriptor: dup(handler.stdoutPipe.fileHandleForReading.fileDescriptor),
145 |                     outputDescriptor: dup(handler.stdinPipe.fileHandleForWriting.fileDescriptor)
[376/404] Emitting module Citadel
[377/404] Compiling Citadel SFTPMessage.swift
[378/404] Compiling Citadel SFTPMessageParser.swift
[379/404] Compiling Citadel SFTPSerializer.swift
[380/404] Compiling Citadel RSA.swift
[381/404] Compiling Citadel BCrypt.swift
[382/404] Compiling Citadel ByteBufferHelpers.swift
[383/404] Compiling Citadel ChannelUnwrapper.swift
[384/404] Compiling Citadel SFTPFile.swift
[385/404] Compiling Citadel SFTPBasicEnums.swift
[386/404] Compiling Citadel SFTPFileFlags.swift
[387/404] Compiling Citadel AES.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[388/404] Compiling Citadel DH-Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[389/404] Compiling Citadel DiffieHellmanGroup14Sha1.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[390/404] Compiling Citadel DiffieHellmanGroup14Sha256.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Algorithms/DH-Helpers.swift:98:18: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
 96 |             let serialized = Array(bignum.serialize())
 97 |             (buffer.baseAddress! + 1)
 98 |                 .assign(from: serialized, count: serialized.count)
    |                  |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
    |                  `- note: use 'update(from:count:)' instead
 99 |
100 |             if buffer[1] & 0x80 != 0 {
[391/404] Compiling Citadel Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[392/404] Compiling Citadel ClientSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[393/404] Compiling Citadel DirectTCPIP+Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[394/404] Compiling Citadel DirectTCPIP+Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:183:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
181 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
182 |         let session = try await handshakeHandler.authenticated.map {
183 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
184 |         }.get()
185 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  2 | import Crypto
  3 | import Logging
  4 | import NIOSSH
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOSSH'
  5 |
  6 | extension SSHAlgorithms.Modification<NIOSSHTransportProtection.Type> {
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/Client.swift:213:60: warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
211 |         let handshakeHandler = try await channel.pipeline.handler(type: ClientHandshakeHandler.self).get()
212 |         let session = try await handshakeHandler.authenticated.map {
213 |             SSHClientSession(channel: channel, sshHandler: sshHandler)
    |                                                            `- warning: capture of 'sshHandler' with non-sendable type 'NIOSSHHandler' in a '@Sendable' closure
214 |         }.get()
215 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio-ssh/Sources/NIOSSH/NIOSSHHandler.swift:26:20: note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 24 | /// other usage models, including port forwarding. It is also able to construct somewhat
 25 | /// arbitrary secure multiplexed channels.
 26 | public final class NIOSSHHandler {
    |                    `- note: class 'NIOSSHHandler' does not conform to the 'Sendable' protocol
 27 |     internal var channel: Channel? {
 28 |         self.context.map { $0.channel }
[395/404] Compiling Citadel NIOGlueHandler.swift
[396/404] Compiling Citadel OpenSSHKey.swift
[397/404] Compiling Citadel SFTPClient.swift
[398/404] Compiling Citadel SFTPClientInboundHandler.swift
[399/404] Compiling Citadel SFTPServer.swift
[400/404] Compiling Citadel SFTPServerInboundHandler.swift
[401/404] Compiling Citadel SSHAuthenticationMethod.swift
[402/404] Compiling Citadel Server.swift
[403/404] Compiling Citadel ShellDelegate.swift
[404/404] Compiling Citadel TTY.swift
Build of target: 'Citadel' complete! (10.80s)
    1532
9	/Users/admin/builder/spi-builder-workspace/.docs/orlandos-nl/citadel/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/orlandos-nl/citadel/main
File count: 1532
Doc size:   9.0MB
Preparing doc bundle ...
Uploading prod-orlandos-nl-citadel-main-9c7a3e63.zip to s3://spi-docs-inbox/prod-orlandos-nl-citadel-main-9c7a3e63.zip
Copying... [13%]
Copying... [23%]
Copying... [33%]
Copying... [43%]
Copying... [53%]
Copying... [63%]
Copying... [73%]
Copying... [83%]
Copying... [93%]
Copying... [100%]
Done.