The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of Citadel, reference 0.10.0 (f2cd2d), with Swift 6.0 for macOS (SPM) on 5 Apr 2025 21:39:19 UTC.

Swift 6 data race errors: 34

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.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

    |                           |- note: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 |
254 |         public var 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:264: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
262 |
263 |     public struct WriteFile: SFTPMessageContent, Sendable {
264 |         public static let id = SFTPMessageType.write
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
265 |
266 |         public var 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:276: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
274 |
275 |     public struct Status: Error, SFTPMessageContent, Sendable {
276 |         public static let id = SFTPMessageType.status
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
277 |
278 |         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:289: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
287 |
288 |     public struct Handle: SFTPMessageContent, Sendable {
289 |         public static let id = SFTPMessageType.handle
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 |
291 |         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: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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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
[836/845] Compiling Citadel SFTPMessageParser.swift
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPFileFlags.swift:60:27: warning: static property 'size' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public struct SFTPFileAttributes: CustomDebugStringConvertible, Sendable {
 53 |     public struct Flags: OptionSet {
    |                   `- note: consider making struct 'Flags' conform to the 'Sendable' protocol
 54 |         public var rawValue: UInt32
 55 |
    :
 58 |         }
 59 |
 60 |         public static let size = Flags(rawValue: 0x00000001)
    |                           |- warning: static property 'size' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'size' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |         public static let uidgid = Flags(rawValue: 0x00000002)
 62 |         public static let permissions = Flags(rawValue: 0x00000004)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPFileFlags.swift:61:27: warning: static property 'uidgid' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public struct SFTPFileAttributes: CustomDebugStringConvertible, Sendable {
 53 |     public struct Flags: OptionSet {
    |                   `- note: consider making struct 'Flags' conform to the 'Sendable' protocol
 54 |         public var rawValue: UInt32
 55 |
    :
 59 |
 60 |         public static let size = Flags(rawValue: 0x00000001)
 61 |         public static let uidgid = Flags(rawValue: 0x00000002)
    |                           |- warning: static property 'uidgid' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'uidgid' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |         public static let permissions = Flags(rawValue: 0x00000004)
 63 |         public static let acmodtime = Flags(rawValue: 0x00000008)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPFileFlags.swift:62:27: warning: static property 'permissions' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public struct SFTPFileAttributes: CustomDebugStringConvertible, Sendable {
 53 |     public struct Flags: OptionSet {
    |                   `- note: consider making struct 'Flags' conform to the 'Sendable' protocol
 54 |         public var rawValue: UInt32
 55 |
    :
 60 |         public static let size = Flags(rawValue: 0x00000001)
 61 |         public static let uidgid = Flags(rawValue: 0x00000002)
 62 |         public static let permissions = Flags(rawValue: 0x00000004)
    |                           |- warning: static property 'permissions' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'permissions' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |         public static let acmodtime = Flags(rawValue: 0x00000008)
 64 |         public static let extended = Flags(rawValue: 0x80000000)
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPFileFlags.swift:63:27: warning: static property 'acmodtime' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public struct SFTPFileAttributes: CustomDebugStringConvertible, Sendable {
 53 |     public struct Flags: OptionSet {
    |                   `- note: consider making struct 'Flags' conform to the 'Sendable' protocol
 54 |         public var rawValue: UInt32
 55 |
    :
 61 |         public static let uidgid = Flags(rawValue: 0x00000002)
 62 |         public static let permissions = Flags(rawValue: 0x00000004)
 63 |         public static let acmodtime = Flags(rawValue: 0x00000008)
    |                           |- warning: static property 'acmodtime' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'acmodtime' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 64 |         public static let extended = Flags(rawValue: 0x80000000)
 65 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPFileFlags.swift:64:27: warning: static property 'extended' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 | public struct SFTPFileAttributes: CustomDebugStringConvertible, Sendable {
 53 |     public struct Flags: OptionSet {
    |                   `- note: consider making struct 'Flags' conform to the 'Sendable' protocol
 54 |         public var rawValue: UInt32
 55 |
    :
 62 |         public static let permissions = Flags(rawValue: 0x00000004)
 63 |         public static let acmodtime = Flags(rawValue: 0x00000008)
 64 |         public static let extended = Flags(rawValue: 0x80000000)
    |                           |- warning: static property 'extended' is not concurrency-safe because non-'Sendable' type 'SFTPFileAttributes.Flags' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'extended' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 65 |     }
 66 |
/Users/admin/builder/spi-builder-workspace/Sources/Citadel/SFTP/SFTPMessage.swift:208: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
206 | public enum SFTPMessage: Sendable {
207 |     public struct Initialize: SFTPMessageContent, Sendable {
208 |         public static let id = SFTPMessageType.initialize
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
209 |
210 |         public let version: SFTPProtocolVersion
/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:217: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
215 |
216 |     public struct Version: SFTPMessageContent, Sendable {
217 |         public static let id = SFTPMessageType.version
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
218 |
219 |         public let version: SFTPProtocolVersion
/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:227: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
225 |
226 |     public struct OpenFile: SFTPMessageContent, Sendable {
227 |         public static let id = SFTPMessageType.openFile
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
228 |
229 |         public var 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:242: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
240 |
241 |     public struct CloseFile: SFTPMessageContent, Sendable {
242 |         public static let id = SFTPMessageType.closeFile
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
243 |
244 |         public var 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:252: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
250 |
251 |     public struct ReadFile: SFTPMessageContent, Sendable {
252 |         public static let id = SFTPMessageType.read
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 |
254 |         public var 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:264: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
262 |
263 |     public struct WriteFile: SFTPMessageContent, Sendable {
264 |         public static let id = SFTPMessageType.write
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
265 |
266 |         public var 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:276: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
274 |
275 |     public struct Status: Error, SFTPMessageContent, Sendable {
276 |         public static let id = SFTPMessageType.status
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
277 |
278 |         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:289: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
287 |
288 |     public struct Handle: SFTPMessageContent, Sendable {
289 |         public static let id = SFTPMessageType.handle
    |                           |- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 |
291 |         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: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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
    |                           `- 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
[837/845] Compiling Citadel NIOGlueHandler.swift
[838/845] Compiling Citadel OpenSSHKey.swift
[839/845] Compiling Citadel SFTPClient.swift
[840/845] 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 {
[841/845] 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 {
[842/845] 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 {
[843/852] Compiling CitadelServerExample HostKeyFile.swift
[844/852] Compiling CitadelServerExample Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/CitadelServerExample/Server.swift:24:42: warning: non-sendable type 'SSHServer' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
22 |         }
23 |
24 |         let server = try await SSHServer.host(
   |                                          `- warning: non-sendable type 'SSHServer' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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
[845/852] Compiling CitadelServerExample Extensions.swift
[846/852] Compiling CitadelServerExample Terminal.swift
[847/852] Emitting module CitadelServerExample
[848/852] Compiling CitadelServerExample EchoShell.swift
[849/852] Compiling CitadelServerExample BasicCommands.swift
[849/852] Write Objects.LinkFileList
[850/852] Linking CitadelServerExample
[851/852] Applying CitadelServerExample
Build complete! (48.80s)
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_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",
        "ColorizeSwift"
      ],
      "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",
        "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/0.10.0
Repository:               orlandos-nl/Citadel
Swift version used:       6.0
Target:                   Citadel
Extracting symbol information for 'Citadel'...
Finished extracting symbol information for 'Citadel'. (11.86s)
Building documentation for 'Citadel'...
Finished building documentation for 'Citadel' (0.64s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/orlandos-nl/citadel/0.10.0
Updating https://github.com/apple/swift-collections.git
Updating https://github.com/apple/swift-crypto.git
Updating https://github.com/apple/swift-nio.git
Updating https://github.com/attaswift/BigInt.git
Updating https://github.com/Joannis/swift-nio-ssh.git
Updating https://github.com/apple/swift-atomics.git
Updating https://github.com/mtynior/ColorizeSwift.git
Updated https://github.com/Joannis/swift-nio-ssh.git (0.46s)
Updated https://github.com/apple/swift-atomics.git (0.46s)
Updated https://github.com/attaswift/BigInt.git (0.46s)
Updated https://github.com/mtynior/ColorizeSwift.git (0.46s)
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/apple/swift-log.git
Updated https://github.com/apple/swift-collections.git (0.52s)
Updated https://github.com/apple/swift-crypto.git (0.76s)
Updated https://github.com/apple/swift-nio.git (0.76s)
Updated https://github.com/apple/swift-log.git (0.45s)
[1/2050] Fetching swift-docc-plugin
Updating https://github.com/apple/swift-system.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.06s)
Computing version for https://github.com/mtynior/ColorizeSwift.git
Updated https://github.com/apple/swift-system.git (0.38s)
Computed https://github.com/mtynior/ColorizeSwift.git at 1.6.0 (0.53s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 2.0.5 (0.54s)
Computing version for https://github.com/attaswift/BigInt.git
Computed https://github.com/attaswift/BigInt.git at 5.3.0 (0.52s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.4 (0.54s)
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.55s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.44s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.65.0 (0.50s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.2.1 (0.54s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.0 (0.63s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.56s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3365] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.05s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.56s)
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
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-5BDAB9E9C0126B9D.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/57] Emitting module SymbolKit
[12/57] Compiling SymbolKit Identifier.swift
[13/57] Compiling SymbolKit KindIdentifier.swift
[14/57] Compiling SymbolKit Location.swift
[15/57] Compiling SymbolKit Mutability.swift
[16/57] Compiling SymbolKit Mixin+Equals.swift
[17/57] Compiling SymbolKit Mixin+Hash.swift
[18/57] Compiling SymbolKit Mixin.swift
[19/57] Compiling SymbolKit LineList.swift
[20/57] Compiling SymbolKit Position.swift
[21/57] Compiling SymbolKit SemanticVersion.swift
[22/57] Compiling SymbolKit AccessControl.swift
[23/57] Compiling SymbolKit Availability.swift
[24/57] Compiling SymbolKit AvailabilityItem.swift
[25/57] Compiling SymbolKit Domain.swift
[26/57] Compiling SymbolKit SourceRange.swift
[27/57] Compiling SymbolKit Metadata.swift
[28/57] Compiling SymbolKit Module.swift
[29/57] Compiling SymbolKit OperatingSystem.swift
[30/57] Compiling SymbolKit Platform.swift
[31/57] Compiling SymbolKit Names.swift
[32/57] Compiling SymbolKit SPI.swift
[33/57] Compiling SymbolKit Snippet.swift
[34/57] Compiling SymbolKit Extension.swift
[35/57] Compiling SymbolKit Relationship.swift
[36/57] Compiling SymbolKit RelationshipKind.swift
[37/57] Compiling SymbolKit SourceOrigin.swift
[38/57] Compiling SymbolKit GenericConstraints.swift
[39/57] Compiling SymbolKit Swift.swift
[40/57] Compiling SymbolKit GenericConstraint.swift
[41/57] Compiling SymbolKit GenericParameter.swift
[42/57] Compiling SymbolKit Generics.swift
[43/57] Compiling SymbolKit Namespace.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 Snippet.swift
[53/57] Compiling Snippets SnippetParser.swift
[54/57] Emitting module Snippets
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.43s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/135] Compiling BigInt Strideable.swift
[3/135] Compiling BigInt String Conversion.swift
[4/135] Compiling _CollectionsUtilities UnsafeBufferPointer+Extras.swift
[5/136] Compiling BigInt GCD.swift
[6/136] Compiling BigInt Hashable.swift
[7/136] Compiling BigInt Exponentiation.swift
[8/136] Compiling BigInt Floating Point Conversion.swift
[9/136] Compiling BigInt Integer Conversion.swift
[10/136] Compiling BigInt Multiplication.swift
[11/136] Compiling Logging MetadataProvider.swift
[12/136] Compiling BigInt Prime Test.swift
[13/136] Compiling BigInt Random.swift
[20/138] Compiling _CollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[21/138] Compiling BigInt Data Conversion.swift
[22/138] Compiling BigInt Division.swift
[23/138] Compiling BigInt Addition.swift
[24/138] Compiling BigInt BigInt.swift
[25/138] Compiling NIOConcurrencyHelpers NIOLock.swift
[26/138] Compiling Crypto Digest.swift
[27/138] Compiling Crypto Digests.swift
[28/138] Compiling Crypto HashFunctions.swift
[29/138] Compiling Crypto HashFunctions_SHA2.swift
[30/138] Compiling Crypto Insecure.swift
[31/138] Compiling Crypto Insecure_HashFunctions.swift
[36/138] Compiling Atomics IntegerOperations.swift
[37/138] Compiling Atomics Unmanaged extensions.swift
[38/144] Compiling _NIOBase64 Base64.swift
[39/144] Emitting module _NIOBase64
[40/144] Compiling _NIODataStructures PriorityQueue.swift
[41/144] Compiling _NIODataStructures _TinyArray.swift
[42/144] Compiling _NIODataStructures Heap.swift
[43/144] Compiling BigInt Bitwise Ops.swift
[44/144] Compiling BigInt Codable.swift
[45/144] Compiling BigInt Comparable.swift
[56/144] Compiling BigInt BigUInt.swift
[57/144] Compiling NIOConcurrencyHelpers lock.swift
[60/144] Emitting module _NIODataStructures
[65/144] Emitting module _CollectionsUtilities
[66/144] Compiling Crypto ECDH_boring.swift
[67/144] Compiling Crypto DH.swift
[68/144] Compiling Crypto ECDH.swift
[69/144] Compiling Crypto HKDF.swift
[70/144] Compiling Crypto AESWrap.swift
[71/144] Compiling Crypto AESWrap_boring.swift
[72/144] Compiling Crypto Ed25519_boring.swift
[73/144] Compiling Crypto EllipticCurvePoint_boring.swift
[74/144] Compiling Crypto EllipticCurve_boring.swift
[75/144] Compiling Crypto NISTCurvesKeys_boring.swift
[76/144] Compiling Crypto X25519Keys_boring.swift
[77/144] Compiling Crypto Curve25519.swift
[78/144] Compiling Crypto Ed25519.swift
[79/144] Compiling Crypto NISTCurvesKeys.swift
[80/144] Compiling Crypto X25519Keys.swift
[81/144] Compiling Crypto SymmetricKeys.swift
[82/144] Compiling Crypto HMAC.swift
[83/144] Compiling Crypto MACFunctions.swift
[84/144] Emitting module Crypto
[85/144] Emitting module NIOConcurrencyHelpers
[86/144] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[87/144] Compiling NIOConcurrencyHelpers atomics.swift
[88/144] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[89/144] Emitting module BigInt
[94/146] Compiling Logging Locks.swift
[95/146] Emitting module Logging
[96/146] Compiling Logging Logging.swift
[99/146] Compiling Logging LogHandler.swift
[100/146] Compiling Crypto MessageAuthenticationCode.swift
[101/146] Compiling Crypto AES.swift
[102/146] Compiling Crypto ECDSASignature_boring.swift
[103/146] Compiling Crypto ECDSA_boring.swift
[104/146] Compiling Crypto EdDSA_boring.swift
[105/146] Compiling Crypto ECDSA.swift
[106/146] Compiling Crypto EdDSA.swift
[107/146] Compiling Crypto Signature.swift
[108/146] Compiling Crypto ArbitraryPrecisionInteger_boring.swift
[109/146] Compiling Crypto CryptoKitErrors_boring.swift
[110/146] Compiling Crypto FiniteFieldArithmeticContext_boring.swift
[111/146] Compiling Crypto RNG_boring.swift
[112/146] Compiling ColorizeSwift ColorizeSwift.swift
[113/146] Emitting module ColorizeSwift
[130/163] Compiling DequeModule Deque+Extras.swift
[131/163] Compiling DequeModule Deque+Hashable.swift
[132/163] Compiling DequeModule Deque+Sendable.swift
[133/163] Compiling DequeModule Deque+Testing.swift
[134/163] Compiling DequeModule Deque+Equatable.swift
[135/163] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[138/163] Compiling DequeModule _DequeBufferHeader.swift
[139/163] Compiling DequeModule _DequeSlot.swift
[140/164] Compiling Crypto SafeCompare_boring.swift
[141/164] Compiling Crypto Zeroization_boring.swift
[142/164] Compiling Crypto PrettyBytes.swift
[143/164] Compiling Crypto SafeCompare.swift
[144/164] Compiling Crypto SecureBytes.swift
[145/164] Compiling Crypto Zeroization.swift
[146/164] Compiling DequeModule _UnsafeWrappedBuffer.swift
[147/173] Compiling BigInt Subtraction.swift
[148/173] Compiling BigInt Words and Bits.swift
[149/173] Emitting module Atomics
[150/173] Compiling _CryptoExtras Error.swift
[151/173] Compiling DequeModule Deque._Storage.swift
[152/173] Compiling DequeModule Deque._UnsafeHandle.swift
[153/173] Compiling DequeModule Deque+Codable.swift
[154/173] Compiling DequeModule Deque+Collection.swift
[159/173] Compiling DequeModule Deque+CustomReflectable.swift
[160/173] Compiling DequeModule Deque+Descriptions.swift
[161/173] Compiling DequeModule Deque.swift
[162/173] Compiling DequeModule _DequeBuffer.swift
[165/173] Emitting module DequeModule
[166/173] Compiling _CryptoExtras DigestType.swift
[167/173] Compiling _CryptoExtras PEMDocument.swift
[168/173] Compiling _CryptoExtras CryptoKitErrors_boring.swift
[169/173] Compiling _CryptoExtras BoringSSLHelpers.swift
[170/173] Compiling _CryptoExtras RSA.swift
[171/173] Compiling _CryptoExtras RSA_security.swift
[172/173] Compiling _CryptoExtras RSA_boring.swift
[173/173] Emitting module _CryptoExtras
[174/233] Compiling NIOCore GlobalSingletons.swift
[175/233] Compiling NIOCore IO.swift
[176/233] Compiling NIOCore IOData.swift
[177/233] Compiling NIOCore IPProtocol.swift
[178/233] Compiling NIOCore IntegerBitPacking.swift
[179/233] Compiling NIOCore IntegerTypes.swift
[180/239] Compiling NIOCore Interfaces.swift
[181/239] Compiling NIOCore Linux.swift
[182/239] Compiling NIOCore MarkedCircularBuffer.swift
[183/239] Compiling NIOCore MulticastChannel.swift
[184/239] Compiling NIOCore NIOAny.swift
[185/239] Compiling NIOCore NIOCloseOnErrorHandler.swift
[186/239] Compiling NIOCore AddressedEnvelope.swift
[187/239] Compiling NIOCore AsyncAwaitSupport.swift
[188/239] Compiling NIOCore AsyncChannel.swift
[189/239] Compiling NIOCore AsyncChannelInboundStream.swift
[190/239] Compiling NIOCore AsyncChannelInboundStreamChannelHandler.swift
[191/239] Compiling NIOCore AsyncChannelOutboundWriter.swift
[192/239] Compiling NIOCore AsyncChannelOutboundWriterHandler.swift
[193/239] Compiling NIOCore ConvenienceOptionSupport.swift
[194/239] Compiling NIOCore DeadChannel.swift
[195/239] Compiling NIOCore DispatchQueue+WithFuture.swift
[196/239] Compiling NIOCore EventLoop+Deprecated.swift
[197/239] Compiling NIOCore EventLoop+SerialExecutor.swift
[198/239] Compiling NIOCore EventLoop.swift
[199/239] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[200/239] Compiling NIOCore EventLoopFuture+Deprecated.swift
[201/239] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[202/239] Compiling NIOCore EventLoopFuture.swift
[203/239] Compiling NIOCore FileDescriptor.swift
[204/239] Compiling NIOCore FileHandle.swift
[205/239] Compiling NIOCore FileRegion.swift
[206/239] Compiling NIOCore SocketOptionProvider.swift
[207/239] Compiling NIOCore SystemCallHelpers.swift
[208/239] Compiling NIOCore TimeAmount+Duration.swift
[209/239] Compiling NIOCore TypeAssistedChannelHandler.swift
[210/239] Compiling NIOCore UniversalBootstrapSupport.swift
[211/239] Compiling NIOCore Utilities.swift
[212/239] Compiling NIOCore NIOLoopBound.swift
[213/239] Compiling NIOCore NIOSendable.swift
[214/239] Compiling NIOCore PointerHelpers.swift
[215/239] Compiling NIOCore RecvByteBufferAllocator.swift
[216/239] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[217/239] Compiling NIOCore SocketAddresses.swift
[218/239] Compiling NIOCore NIOAsyncSequenceProducer.swift
[219/239] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[220/239] Compiling NIOCore NIOAsyncWriter.swift
[221/239] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[222/239] Compiling NIOCore BSDSocketAPI.swift
[223/239] Compiling NIOCore ByteBuffer-aux.swift
[224/239] Compiling NIOCore ByteBuffer-conversions.swift
[225/239] Compiling NIOCore ChannelHandler.swift
[226/239] Compiling NIOCore ChannelHandlers.swift
[227/239] Compiling NIOCore ChannelInvoker.swift
[228/239] Compiling NIOCore ChannelOption.swift
[229/239] Compiling NIOCore ChannelPipeline.swift
[230/239] Compiling NIOCore CircularBuffer.swift
[231/239] Compiling NIOCore Codec.swift
[232/239] Compiling NIOCore ByteBuffer-core.swift
[233/239] Compiling NIOCore ByteBuffer-hexdump.swift
[234/239] Compiling NIOCore ByteBuffer-int.swift
[235/239] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[236/239] Compiling NIOCore ByteBuffer-multi-int.swift
[237/239] Compiling NIOCore ByteBuffer-views.swift
[238/239] Compiling NIOCore Channel.swift
[239/239] Emitting module NIOCore
[240/292] Compiling NIOEmbedded AsyncTestingChannel.swift
[241/292] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[242/292] Compiling NIOEmbedded Embedded.swift
[243/292] Emitting module NIOEmbedded
[244/292] Compiling NIOPosix HappyEyeballs.swift
[245/292] Compiling NIOPosix IO.swift
[246/292] Compiling NIOPosix IntegerBitPacking.swift
[247/292] Compiling NIOPosix IntegerTypes.swift
[248/292] Compiling NIOPosix Linux.swift
[249/292] Compiling NIOPosix LinuxCPUSet.swift
[250/297] Compiling NIOPosix PooledRecvBufferAllocator.swift
[251/297] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[252/297] Compiling NIOPosix PosixSingletons.swift
[253/297] Compiling NIOPosix RawSocketBootstrap.swift
[254/297] Compiling NIOPosix Resolver.swift
[255/297] Compiling NIOPosix PendingWritesManager.swift
[256/297] Compiling NIOPosix PipeChannel.swift
[257/297] Compiling NIOPosix PipePair.swift
[258/297] Compiling NIOPosix PointerHelpers.swift
[259/297] Compiling NIOPosix Pool.swift
[260/297] Compiling NIOPosix BSDSocketAPICommon.swift
[261/297] Compiling NIOPosix BSDSocketAPIPosix.swift
[262/297] Compiling NIOPosix BSDSocketAPIWindows.swift
[263/297] Compiling NIOPosix BaseSocket.swift
[264/297] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[265/297] Compiling NIOPosix BaseSocketChannel.swift
[266/297] Compiling NIOPosix UnsafeTransfer.swift
[267/297] Compiling NIOPosix Utilities.swift
[268/297] Compiling NIOPosix VsockAddress.swift
[269/297] Compiling NIOPosix VsockChannelEvents.swift
[270/297] Compiling NIOPosix resource_bundle_accessor.swift
[271/297] Emitting module NIOPosix
[272/297] Compiling NIOPosix SocketProtocols.swift
[273/297] Compiling NIOPosix System.swift
[274/297] Compiling NIOPosix Thread.swift
[275/297] Compiling NIOPosix ThreadPosix.swift
[276/297] Compiling NIOPosix ThreadWindows.swift
[277/297] Compiling NIOPosix SelectorKqueue.swift
[278/297] Compiling NIOPosix SelectorUring.swift
[279/297] Compiling NIOPosix ServerSocket.swift
[280/297] Compiling NIOPosix Socket.swift
[281/297] Compiling NIOPosix SocketChannel.swift
[282/297] Compiling NIOPosix LinuxUring.swift
[283/297] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[284/297] Compiling NIOPosix NIOThreadPool.swift
[285/297] Compiling NIOPosix NonBlockingFileIO.swift
[286/297] Compiling NIOPosix PendingDatagramWritesManager.swift
[287/297] Compiling NIOPosix BaseStreamSocketChannel.swift
[288/297] Compiling NIOPosix Bootstrap.swift
[289/297] Compiling NIOPosix ControlMessage.swift
[290/297] Compiling NIOPosix DatagramVectorReadManager.swift
[291/297] Compiling NIOPosix FileDescriptor.swift
[292/297] Compiling NIOPosix GetaddrinfoResolver.swift
[293/297] Compiling NIOPosix Selectable.swift
[294/297] Compiling NIOPosix SelectableChannel.swift
[295/297] Compiling NIOPosix SelectableEventLoop.swift
[296/297] Compiling NIOPosix SelectorEpoll.swift
[297/297] Compiling NIOPosix SelectorGeneric.swift
[298/299] Compiling NIO Exports.swift
[299/299] Emitting module NIO
[300/303] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[301/303] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[302/303] Emitting module NIOFoundationCompat
[303/303] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[304/364] Compiling NIOSSH ActiveState.swift
[305/364] Compiling NIOSSH IdleState.swift
[306/364] Compiling NIOSSH KeyExchangeState.swift
[307/364] Compiling NIOSSH ReceivedKexInitWhenActiveState.swift
[308/364] Compiling NIOSSH ReceivedNewKeysState.swift
[309/364] Compiling NIOSSH RekeyingReceivedNewKeysState.swift
[310/364] Compiling NIOSSH RekeyingSentNewKeysState.swift
[311/370] Emitting module NIOSSH
[312/370] Compiling NIOSSH ByteBuffer+SSH.swift
[313/370] Compiling NIOSSH CSPRNG.swift
[314/370] Compiling NIOSSH ChildChannelOptions.swift
[315/370] Compiling NIOSSH ChildChannelStateMachine.swift
[316/370] Compiling NIOSSH ChildChannelUserEvents.swift
[317/370] Compiling NIOSSH ChildChannelWindowManager.swift
[318/370] Compiling NIOSSH ChildChannelWritabilityManager.swift
[319/370] Compiling NIOSSH OutboundFlowController.swift
[320/370] Compiling NIOSSH SSHChannelData.swift
[321/370] Compiling NIOSSH SSHChannelIdentifier.swift
[322/370] Compiling NIOSSH SSHChannelMultiplexer.swift
[323/370] Compiling NIOSSH SSHChannelType.swift
[324/370] Compiling NIOSSH SSHChildChannel.swift
[325/370] Compiling NIOSSH AcceptsChannelMessages.swift
[326/370] Compiling NIOSSH ECDHCompatibleKey.swift
[327/370] Compiling NIOSSH EllipticCurveKeyExchange.swift
[328/370] Compiling NIOSSH SSHKeyExchangeResult.swift
[329/370] Compiling NIOSSH SSHKeyExchangeStateMachine.swift
[330/370] Compiling NIOSSH ClientServerAuthenticationDelegate.swift
[331/370] Compiling NIOSSH CustomKeys.swift
[332/370] Compiling NIOSSH NIOSSHCertifiedPublicKey.swift
[333/370] Compiling NIOSSH ServerUserAuthenticationDelegate.swift
[334/370] Compiling NIOSSH SimplePasswordDelegate.swift
[335/370] Compiling NIOSSH UserAuthDelegate.swift
[336/370] Compiling NIOSSH UserAuthSignablePayload.swift
[337/370] Compiling NIOSSH UserAuthenticationMethod.swift
[338/370] Compiling NIOSSH UserAuthenticationStateMachine.swift
[339/370] Compiling NIOSSH NIOSSHPrivateKey.swift
[340/370] Compiling NIOSSH NIOSSHPublicKey.swift
[341/370] Compiling NIOSSH NIOSSHSignature.swift
[342/370] Compiling NIOSSH NIOSSHError.swift
[343/370] Compiling NIOSSH NIOSSHHandler.swift
[344/370] Compiling NIOSSH NIOSSHSendable.swift
[345/370] Compiling NIOSSH SSHServerConfiguration.swift
[346/370] Compiling NIOSSH SSHTerminalModes.swift
[347/370] Compiling NIOSSH AESGCM.swift
[348/370] Compiling NIOSSH SSHTransportProtection.swift
[349/370] Compiling NIOSSH ClientUserAuthenticationDelegate.swift
[350/370] Compiling NIOSSH DenyAllServerAuthDelegate.swift
[351/370] Compiling NIOSSH Role.swift
[352/370] Compiling NIOSSH SSHClientConfiguration.swift
[353/370] Compiling NIOSSH SSHEncryptablePacketPayload.swift
[354/370] Compiling NIOSSH SSHMessages.swift
[355/370] Compiling NIOSSH SSHPacketParser.swift
[356/370] Compiling NIOSSH SSHPacketSerializer.swift
[357/370] Compiling NIOSSH AcceptsKeyExchangeMessages.swift
[358/370] Compiling NIOSSH AcceptsUserAuthMessages.swift
[359/370] Compiling NIOSSH AcceptsVersionMessages.swift
[360/370] Compiling NIOSSH SendsChannelMessages.swift
[361/370] Compiling NIOSSH SendsKeyExchangeMessages.swift
[362/370] Compiling NIOSSH SendsUserAuthMessages.swift
[363/370] Compiling NIOSSH SSHConnectionStateMachine.swift
[364/370] Compiling NIOSSH RekeyingState.swift
[365/370] Compiling NIOSSH SentKexInitWhenActiveState.swift
[366/370] Compiling NIOSSH SentNewKeysState.swift
[367/370] Compiling NIOSSH SentVersionState.swift
[368/370] Compiling NIOSSH UserAuthenticationState.swift
[369/370] Compiling NIOSSH Constants.swift
[370/370] Compiling NIOSSH GlobalRequestDelegate.swift
[371/402] Compiling Citadel SFTPSerializer.swift
[372/402] Compiling Citadel SFTPServer.swift
[373/402] Compiling Citadel SFTPServerInboundHandler.swift
[374/402] 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)
[375/402] 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)
[376/402] 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)
[377/402] 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)
[378/405] Emitting module Citadel
[379/405] Compiling Citadel SFTPFileFlags.swift
[380/405] Compiling Citadel SFTPMessage.swift
[381/405] Compiling Citadel SFTPMessageParser.swift
[382/405] Compiling Citadel RSA.swift
[383/405] Compiling Citadel BCrypt.swift
[384/405] Compiling Citadel ByteBufferHelpers.swift
[385/405] Compiling Citadel ChannelUnwrapper.swift
[386/405] Compiling Citadel SSHAuthenticationMethod.swift
[387/405] Compiling Citadel SSHCert.swift
[388/405] Compiling Citadel SSHConnectionPoolSettings.swift
[389/405] Compiling Citadel NIOGlueHandler.swift
[390/405] Compiling Citadel OpenSSHKey.swift
[391/405] Compiling Citadel SFTPClient.swift
[392/405] 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 }
[393/405] 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 }
[394/405] 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 }
[395/405] 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 }
[396/405] Compiling Citadel SFTPClientInboundHandler.swift
[397/405] Compiling Citadel SFTPFile.swift
[398/405] Compiling Citadel SFTPBasicEnums.swift
[399/405] 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 {
[400/405] 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 {
[401/405] 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 {
[402/405] 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 {
[403/405] Compiling Citadel Server.swift
[404/405] Compiling Citadel ShellDelegate.swift
[405/405] Compiling Citadel TTY.swift
Build of target: 'Citadel' complete! (9.44s)
    1456
9	/Users/admin/builder/spi-builder-workspace/.docs/orlandos-nl/citadel/0.10.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/orlandos-nl/citadel/0.10.0
File count: 1456
Doc size:   9.0MB
Preparing doc bundle ...
Uploading prod-orlandos-nl-citadel-0.10.0-7ec0b525.zip to s3://spi-docs-inbox/prod-orlandos-nl-citadel-0.10.0-7ec0b525.zip
Copying... [10%]
Copying... [20%]
Copying... [31%]
Copying... [41%]
Copying... [51%]
Copying... [61%]
Copying... [72%]
Copying... [82%]
Copying... [92%]
Copying... [100%]
Done.