This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 WebSocketActors with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/samalone/websocket-actor-system.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/samalone/websocket-actor-system
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d95894a Merge branch 'main' of https://github.com/samalone/websocket-actor-system
Cloned https://github.com/samalone/websocket-actor-system.git
Revision (git rev-parse @):
d95894ad67ad31923071df7d59781784d9b3d73e
SPI manifest file found: $workDir/.spi.yml
SUCCESS checkout https://github.com/samalone/websocket-actor-system.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/samalone/websocket-actor-system.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/32] Write sources
[18/32] Compiling CNIOWindows shim.c
[19/32] Compiling CNIOWindows WSAStartup.c
[20/32] Compiling CNIOLinux shim.c
[21/32] Compiling CNIOLinux liburing_shims.c
[22/32] Write sources
[23/32] Write swift-version-6F35C1178C84523A.txt
[24/38] Compiling CNIODarwin shim.c
[25/38] Compiling CNIOSHA1 c_nio_sha1.c
[26/38] Compiling CNIOLLHTTP c_nio_api.c
[27/38] Compiling CNIOLLHTTP c_nio_http.c
[28/62] Compiling _AtomicsShims.c
[29/62] Compiling CNIOLLHTTP c_nio_llhttp.c
[30/81] Compiling c-nioatomics.c
[31/81] Compiling c-atomics.c
[33/87] Compiling _NIOBase64 Base64.swift
[34/87] Emitting module _NIOBase64
[35/87] Compiling Atomics AtomicMemoryOrderings.swift
[36/87] Compiling Atomics DoubleWord.swift
[37/88] Compiling Atomics UnsafeAtomic.swift
[38/88] Compiling Atomics UnsafeAtomicLazyReference.swift
[39/90] Compiling Logging Locks.swift
[40/90] Compiling Logging MetadataProvider.swift
[41/90] Compiling DequeModule _UnsafeWrappedBuffer.swift
[42/90] Compiling Atomics AtomicBool.swift
[43/90] Compiling Atomics IntegerConformances.swift
[44/90] Compiling Atomics ManagedAtomic.swift
[45/90] Compiling Atomics ManagedAtomicLazyReference.swift
[46/90] Compiling Atomics AtomicStorage.swift
[47/90] Compiling Atomics AtomicValue.swift
[48/90] Compiling Atomics OptionalRawRepresentable.swift
[49/90] Compiling Atomics RawRepresentable.swift
[50/90] Compiling Atomics Primitives.shims.swift
[51/90] Compiling Atomics AtomicInteger.swift
[52/90] Compiling Atomics AtomicOptionalWrappable.swift
[53/90] Compiling Atomics AtomicReference.swift
[60/90] Compiling _NIODataStructures Heap.swift
[61/90] Compiling _NIODataStructures PriorityQueue.swift
[62/90] Compiling _NIODataStructures _TinyArray.swift
[63/90] Emitting module _NIODataStructures
[66/90] Emitting module DequeModule
[67/90] Compiling Atomics PointerConformances.swift
[68/90] Compiling Atomics Primitives.native.swift
[69/90] Compiling Atomics IntegerOperations.swift
[70/90] Compiling Atomics Unmanaged extensions.swift
[71/90] Compiling Logging LogHandler.swift
[72/90] Emitting module Logging
[73/90] Compiling Logging Logging.swift
[74/90] Emitting module NIOConcurrencyHelpers
[75/90] Compiling NIOConcurrencyHelpers NIOLock.swift
[76/90] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[77/90] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[78/90] Compiling NIOConcurrencyHelpers lock.swift
[79/90] Compiling NIOConcurrencyHelpers atomics.swift
[90/90] Emitting module Atomics
[91/149] Compiling NIOCore GlobalSingletons.swift
[92/149] Compiling NIOCore IO.swift
[93/149] Compiling NIOCore IOData.swift
[94/149] Compiling NIOCore IPProtocol.swift
[95/149] Compiling NIOCore IntegerBitPacking.swift
[96/149] Compiling NIOCore IntegerTypes.swift
[97/155] Compiling NIOCore SocketOptionProvider.swift
[98/155] Compiling NIOCore SystemCallHelpers.swift
[99/155] Compiling NIOCore TimeAmount+Duration.swift
[100/155] Compiling NIOCore TypeAssistedChannelHandler.swift
[101/155] Compiling NIOCore UniversalBootstrapSupport.swift
[102/155] Compiling NIOCore Utilities.swift
[103/155] Compiling NIOCore ConvenienceOptionSupport.swift
[104/155] Compiling NIOCore DeadChannel.swift
[105/155] Compiling NIOCore DispatchQueue+WithFuture.swift
[106/155] Compiling NIOCore EventLoop+Deprecated.swift
[107/155] Compiling NIOCore EventLoop+SerialExecutor.swift
[108/155] Compiling NIOCore EventLoop.swift
[109/155] Compiling NIOCore EventLoopFuture+Deprecated.swift
[110/155] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[111/155] Compiling NIOCore EventLoopFuture.swift
[112/155] Compiling NIOCore FileDescriptor.swift
[113/155] Compiling NIOCore FileHandle.swift
[114/155] Compiling NIOCore FileRegion.swift
[115/155] Compiling NIOCore AddressedEnvelope.swift
[116/155] Compiling NIOCore AsyncAwaitSupport.swift
[117/155] Compiling NIOCore AsyncChannel.swift
[118/155] Compiling NIOCore AsyncChannelInboundStream.swift
[119/155] Compiling NIOCore AsyncChannelInboundStreamChannelHandler.swift
[120/155] Compiling NIOCore AsyncChannelOutboundWriter.swift
[121/155] Compiling NIOCore AsyncChannelOutboundWriterHandler.swift
[122/155] Compiling NIOCore Interfaces.swift
[123/155] Compiling NIOCore Linux.swift
[124/155] Compiling NIOCore MarkedCircularBuffer.swift
[125/155] Compiling NIOCore MulticastChannel.swift
[126/155] Compiling NIOCore NIOAny.swift
[127/155] Compiling NIOCore NIOCloseOnErrorHandler.swift
[128/155] Compiling NIOCore NIOLoopBound.swift
[129/155] Compiling NIOCore NIOSendable.swift
[130/155] Compiling NIOCore PointerHelpers.swift
[131/155] Compiling NIOCore RecvByteBufferAllocator.swift
[132/155] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[133/155] Compiling NIOCore SocketAddresses.swift
[134/155] Compiling NIOCore NIOAsyncSequenceProducer.swift
[135/155] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[136/155] Compiling NIOCore NIOAsyncWriter.swift
[137/155] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[138/155] Compiling NIOCore BSDSocketAPI.swift
[139/155] Compiling NIOCore ByteBuffer-aux.swift
[140/155] Compiling NIOCore ByteBuffer-conversions.swift
[141/155] Compiling NIOCore ChannelHandler.swift
[142/155] Compiling NIOCore ChannelHandlers.swift
[143/155] Compiling NIOCore ChannelInvoker.swift
[144/155] Compiling NIOCore ChannelOption.swift
[145/155] Compiling NIOCore ChannelPipeline.swift
[146/155] Compiling NIOCore CircularBuffer.swift
[147/155] Compiling NIOCore Codec.swift
[148/155] Compiling NIOCore ByteBuffer-core.swift
[149/155] Compiling NIOCore ByteBuffer-hexdump.swift
[150/155] Compiling NIOCore ByteBuffer-int.swift
[151/155] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[152/155] Compiling NIOCore ByteBuffer-multi-int.swift
[153/155] Compiling NIOCore ByteBuffer-views.swift
[154/155] Compiling NIOCore Channel.swift
[155/155] Emitting module NIOCore
[156/205] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[157/205] Compiling NIOEmbedded AsyncTestingChannel.swift
[158/205] Emitting module NIOEmbedded
[159/205] Compiling NIOEmbedded Embedded.swift
[160/205] Compiling NIOPosix PipePair.swift
[161/205] Compiling NIOPosix PointerHelpers.swift
[162/205] Compiling NIOPosix Pool.swift
[163/205] Compiling NIOPosix PooledRecvBufferAllocator.swift
[164/205] Compiling NIOPosix PosixSingletons.swift
[165/210] Compiling NIOPosix SelectorEpoll.swift
[166/210] Compiling NIOPosix SelectorGeneric.swift
[167/210] Compiling NIOPosix SelectorKqueue.swift
[168/210] Compiling NIOPosix SelectorUring.swift
[169/210] Compiling NIOPosix ServerSocket.swift
[170/210] Compiling NIOPosix BSDSocketAPICommon.swift
[171/210] Compiling NIOPosix BSDSocketAPIPosix.swift
[172/210] Compiling NIOPosix BSDSocketAPIWindows.swift
[173/210] Compiling NIOPosix BaseSocket.swift
[174/210] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[175/210] Compiling NIOPosix ThreadPosix.swift
[176/210] Compiling NIOPosix ThreadWindows.swift
[177/210] Compiling NIOPosix Utilities.swift
[178/210] Compiling NIOPosix VsockAddress.swift
[179/210] Compiling NIOPosix VsockChannelEvents.swift
[180/210] Compiling NIOPosix FileDescriptor.swift
[181/210] Compiling NIOPosix GetaddrinfoResolver.swift
[182/210] Compiling NIOPosix HappyEyeballs.swift
[183/210] Compiling NIOPosix IO.swift
[184/210] Compiling NIOPosix IntegerBitPacking.swift
[185/210] Emitting module NIOPosix
[186/210] Compiling NIOPosix NIOThreadPool.swift
[187/210] Compiling NIOPosix NonBlockingFileIO.swift
[188/210] Compiling NIOPosix PendingDatagramWritesManager.swift
[189/210] Compiling NIOPosix PendingWritesManager.swift
[190/210] Compiling NIOPosix PipeChannel.swift
[191/210] Compiling NIOPosix IntegerTypes.swift
[192/210] Compiling NIOPosix Linux.swift
[193/210] Compiling NIOPosix LinuxCPUSet.swift
[194/210] Compiling NIOPosix LinuxUring.swift
[195/210] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[196/210] Compiling NIOPosix Socket.swift
[197/210] Compiling NIOPosix SocketChannel.swift
[198/210] Compiling NIOPosix SocketProtocols.swift
[199/210] Compiling NIOPosix System.swift
[200/210] Compiling NIOPosix Thread.swift
[201/210] Compiling NIOPosix RawSocketBootstrap.swift
[202/210] Compiling NIOPosix Resolver.swift
[203/210] Compiling NIOPosix Selectable.swift
[204/210] Compiling NIOPosix SelectableChannel.swift
[205/210] Compiling NIOPosix SelectableEventLoop.swift
[206/210] Compiling NIOPosix BaseSocketChannel.swift
[207/210] Compiling NIOPosix BaseStreamSocketChannel.swift
[208/210] Compiling NIOPosix Bootstrap.swift
[209/210] Compiling NIOPosix ControlMessage.swift
[210/210] Compiling NIOPosix DatagramVectorReadManager.swift
[211/212] Emitting module NIO
[212/212] Compiling NIO Exports.swift
[213/239] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[214/240] Emitting module NIOTLS
[215/240] Compiling NIOTLS ProtocolNegotiationHandlerStateMachine.swift
[216/240] Compiling NIOTLS TLSEvents.swift
[217/240] Compiling NIOTLS NIOTypedApplicationProtocolNegotiationHandler.swift
[218/240] Compiling NIOTLS ApplicationProtocolNegotiationHandler.swift
[219/240] Compiling NIOTLS SNIHandler.swift
[220/240] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[221/240] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[222/240] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[223/240] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[224/240] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[225/240] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[226/240] Emitting module NIOHTTP1
[227/240] Compiling NIOHTTP1 ByteCollectionUtils.swift
[228/240] Compiling NIOHTTP1 HTTPDecoder.swift
[229/240] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[230/240] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[231/240] Compiling NIOHTTP1 HTTPEncoder.swift
[232/240] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[233/240] Compiling NIOHTTP1 HTTPTypes.swift
[234/240] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[235/240] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[236/240] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[237/250] Compiling NIOWebSocket WebSocketErrorCodes.swift
[238/251] Compiling NIOWebSocket WebSocketProtocolErrorHandler.swift
[239/251] Compiling NIOWebSocket WebSocketFrameDecoder.swift
[240/251] Compiling NIOWebSocket WebSocketOpcode.swift
[241/251] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[242/251] Compiling NIOWebSocket SHA1.swift
[243/251] Compiling NIOWebSocket NIOWebSocketServerUpgrader.swift
[244/251] Compiling NIOWebSocket WebSocketFrame.swift
[245/251] Compiling NIOWebSocket NIOWebSocketFrameAggregator.swift
[246/251] Compiling NIOWebSocket NIOWebSocketClientUpgrader.swift
[247/251] Emitting module NIOWebSocket
[248/261] Compiling NIOAsyncWebSockets SHA1.swift
[249/261] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgradeHandler.swift
[250/261] Compiling NIOAsyncWebSockets HTTPTypedPipelineSetup.swift
[251/261] Compiling NIOAsyncWebSockets NIOWebSocketServerUpgrader.swift
[252/261] Compiling NIOAsyncWebSockets NIOWebSocketClientUpgrader.swift
[253/261] Emitting module NIOAsyncWebSockets
[254/261] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgradeHandler.swift
[255/261] Compiling NIOAsyncWebSockets NIOTypedPipelineSetup.swift
[256/261] Compiling NIOAsyncWebSockets NIOTypedHTTPClientUpgraderStateMachine.swift
[257/261] Compiling NIOAsyncWebSockets NIOTypedHTTPServerUpgraderStateMachine.swift
[258/261] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[259/261] Emitting module NIOFoundationCompat
[260/261] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[261/261] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[262/283] Compiling NIOTransportServices NIOTSNetworkEvents.swift
[263/283] Compiling NIOTransportServices NIOTSSingletons.swift
[264/285] Compiling NIOTransportServices TCPOptions+SocketChannelOption.swift
[265/285] Compiling NIOTransportServices UDPOptions+SocketChannelOption.swift
[266/285] Compiling NIOTransportServices NIOTSEventLoop.swift
[267/285] Compiling NIOTransportServices NIOTSEventLoopGroup.swift
[268/285] Compiling NIOTransportServices SocketAddress+NWEndpoint.swift
[269/285] Compiling NIOTransportServices StateManagedChannel.swift
[270/285] Emitting module NIOTransportServices
[271/285] Compiling NIOTransportServices AcceptHandler.swift
[272/285] Compiling NIOTransportServices NIOTSDatagramBootstrap.swift
[273/285] Compiling NIOTransportServices NIOTSDatagramChannel.swift
[274/285] Compiling NIOTransportServices NIOTSConnectionChannel.swift
[275/285] Compiling NIOTransportServices NIOTSErrors.swift
[276/285] Compiling NIOTransportServices NIOTSDatagramListener.swift
[277/285] Compiling NIOTransportServices NIOTSDatagramListenerChannel.swift
[278/285] Compiling NIOTransportServices NIOFilterEmptyWritesHandler.swift
[279/285] Compiling NIOTransportServices NIOTSBootstraps.swift
[280/285] Compiling NIOTransportServices NIOTSChannelOptions.swift
[281/285] Compiling NIOTransportServices NIOTSConnectionBootstrap.swift
[282/285] Compiling NIOTransportServices StateManagedListenerChannel.swift
[283/285] Compiling NIOTransportServices StateManagedNWConnectionChannel.swift
[284/285] Compiling NIOTransportServices NIOTSListenerBootstrap.swift
[285/285] Compiling NIOTransportServices NIOTSListenerChannel.swift
[286/305] Compiling WebSocketActors RemoteNode.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/RemoteNodeDirectory.swift:52:23: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
 50 |                                                  timeout: timeout,
 51 |                                                  tolerance: tolerance)
 52 |                 await action(tc)
    |                       |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'action' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 53 |             }
 54 |         }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/RemoteNodeDirectory.swift:46:19: warning: sending 'self'-isolated value of type '(CheckedContinuation<RemoteNode, any Error>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 44 |                              action: @escaping (TimedContinuation<RemoteNode>) async -> ()) async throws -> RemoteNode
 45 |     {
 46 |         try await withThrowingContinuation { continuation in
    |                   `- warning: sending 'self'-isolated value of type '(CheckedContinuation<RemoteNode, any Error>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 47 |             Task {
 48 |                 let tc = await TimedContinuation(continuation: continuation,
[287/305] Compiling WebSocketActors RemoteNodeDirectory.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/RemoteNodeDirectory.swift:52:23: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
 50 |                                                  timeout: timeout,
 51 |                                                  tolerance: tolerance)
 52 |                 await action(tc)
    |                       |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'action' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 53 |             }
 54 |         }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/RemoteNodeDirectory.swift:46:19: warning: sending 'self'-isolated value of type '(CheckedContinuation<RemoteNode, any Error>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 44 |                              action: @escaping (TimedContinuation<RemoteNode>) async -> ()) async throws -> RemoteNode
 45 |     {
 46 |         try await withThrowingContinuation { continuation in
    |                   `- warning: sending 'self'-isolated value of type '(CheckedContinuation<RemoteNode, any Error>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 47 |             Task {
 48 |                 let tc = await TimedContinuation(continuation: continuation,
[288/305] Compiling WebSocketActors Continuation.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
[289/305] Compiling WebSocketActors ExponentialBackoff.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
[290/305] Compiling WebSocketActors NodeIdentity.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/PendingReplies.swift:39:31: warning: capture of 'body' with non-sendable type '(CallID) async throws -> Void' (aka '(UUID) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 |                 let callID = await self.expectReply(continuation: continuation)
38 |                 do {
39 |                     try await body(callID)
   |                               |- warning: capture of 'body' with non-sendable type '(CallID) async throws -> Void' (aka '(UUID) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |                 }
41 |                 catch {
[291/305] Compiling WebSocketActors PendingReplies.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/PendingReplies.swift:39:31: warning: capture of 'body' with non-sendable type '(CallID) async throws -> Void' (aka '(UUID) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 |                 let callID = await self.expectReply(continuation: continuation)
38 |                 do {
39 |                     try await body(callID)
   |                               |- warning: capture of 'body' with non-sendable type '(CallID) async throws -> Void' (aka '(UUID) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |                 }
41 |                 catch {
[292/305] Compiling WebSocketActors ResilientTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:54:28: warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |     {
53 |         task = Task.detached {
54 |             var iterator = backoff.makeIterator()
   |                            `- warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in a `@Sendable` closure; this is an error in the Swift 6 language mode
55 |             while !Task.isCancelled {
56 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:21:15: note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:57:27: warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
55 |             while !Task.isCancelled {
56 |                 do {
57 |                     await monitor?(.initializing)
   |                           |- warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
58 |                     try await action {
59 |                         // The action calls this code once it has initialized successfully.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:58:31: warning: capture of 'action' with non-sendable type 'ResilientTask.Action' (aka '(() async -> ()) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
56 |                 do {
57 |                     await monitor?(.initializing)
58 |                     try await action {
   |                               |- warning: capture of 'action' with non-sendable type 'ResilientTask.Action' (aka '(() async -> ()) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
59 |                         // The action calls this code once it has initialized successfully.
60 |                         // This resets the exponential backoff and clears the current error.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:61:36: warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in an isolated closure; this is an error in the Swift 6 language mode
59 |                         // The action calls this code once it has initialized successfully.
60 |                         // This resets the exponential backoff and clears the current error.
61 |                         iterator = backoff.makeIterator()
   |                                    `- warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in an isolated closure; this is an error in the Swift 6 language mode
62 |                         await monitor?(.running)
63 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:21:15: note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:62:31: warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
60 |                         // This resets the exponential backoff and clears the current error.
61 |                         iterator = backoff.makeIterator()
62 |                         await monitor?(.running)
   |                               |- warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
63 |                     }
64 |                 }
[293/305] Compiling WebSocketActors ServerAddress.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:54:28: warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |     {
53 |         task = Task.detached {
54 |             var iterator = backoff.makeIterator()
   |                            `- warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in a `@Sendable` closure; this is an error in the Swift 6 language mode
55 |             while !Task.isCancelled {
56 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:21:15: note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:57:27: warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
55 |             while !Task.isCancelled {
56 |                 do {
57 |                     await monitor?(.initializing)
   |                           |- warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
58 |                     try await action {
59 |                         // The action calls this code once it has initialized successfully.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:58:31: warning: capture of 'action' with non-sendable type 'ResilientTask.Action' (aka '(() async -> ()) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
56 |                 do {
57 |                     await monitor?(.initializing)
58 |                     try await action {
   |                               |- warning: capture of 'action' with non-sendable type 'ResilientTask.Action' (aka '(() async -> ()) async throws -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
59 |                         // The action calls this code once it has initialized successfully.
60 |                         // This resets the exponential backoff and clears the current error.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:61:36: warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in an isolated closure; this is an error in the Swift 6 language mode
59 |                         // The action calls this code once it has initialized successfully.
60 |                         // This resets the exponential backoff and clears the current error.
61 |                         iterator = backoff.makeIterator()
   |                                    `- warning: capture of 'backoff' with non-sendable type 'ExponentialBackoff' in an isolated closure; this is an error in the Swift 6 language mode
62 |                         await monitor?(.running)
63 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:21:15: note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ResilientTask.swift:62:31: warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
60 |                         // This resets the exponential backoff and clears the current error.
61 |                         iterator = backoff.makeIterator()
62 |                         await monitor?(.running)
   |                               |- warning: capture of 'monitor' with non-sendable type 'ResilientTask.MonitorFunction?' (aka 'Optional<(ResilientTask.Status) async -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
63 |                     }
64 |                 }
[294/305] Compiling WebSocketActors ServerManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelOption.swift:302:23: warning: static property 'socketOption' is not concurrency-safe because non-'Sendable' type '(NIOBSDSocket.Option) -> ChannelOptions.Types.SocketOption' may have shared mutable state; this is an error in the Swift 6 language mode
300 |
301 |     /// - seealso: `SocketOption`.
302 |     public static let socketOption = { (name: NIOBSDSocket.Option) -> Types.SocketOption in
    |                       |- warning: static property 'socketOption' is not concurrency-safe because non-'Sendable' type '(NIOBSDSocket.Option) -> ChannelOptions.Types.SocketOption' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'socketOption' 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
303 |         .init(level: .socket, name: name)
304 |     }
macro expansion @TaskLocal:1:19: warning: static property '$current' is not concurrency-safe because non-'Sendable' type 'TaskLocal<TaskPath>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                   |- warning: static property '$current' is not concurrency-safe because non-'Sendable' type 'TaskLocal<TaskPath>' may have shared mutable state; this is an error in the Swift 6 language mode
   |  |                   |- note: annotate '$current' 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
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:19: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:51: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:51: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:3:18: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | {
   |2 |     get {
   |3 |         $current.get()
   |  |                  `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   |4 |     }
   |5 | }
   +--------------------------------------------------------------------
12 |
13 |     let path: String
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:21:35: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
12 |
   :
19 |     public static func with<R>(name: String, block: () async throws -> R) async rethrows -> R {
20 |         let p = current.path
21 |         return try await $current.withValue(TaskPath(path: p.isEmpty ? name : p + " > " + name), operation: block)
   |                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:56:19: warning: sending 'self'-isolated value of type '(CheckedContinuation<ServerListeningChannel, Never>) -> Void' (aka '(CheckedContinuation<NIOAsyncChannel<EventLoopFuture<ServerUpgradeResult>, Never>, Never>) -> ()') with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 54 |         }
 55 |         else {
 56 |             await withContinuation { continuation in
    |                   `- warning: sending 'self'-isolated value of type '(CheckedContinuation<ServerListeningChannel, Never>) -> Void' (aka '(CheckedContinuation<NIOAsyncChannel<EventLoopFuture<ServerUpgradeResult>, Never>, Never>) -> ()') with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 57 |                 waitingForChannel.append(continuation)
 58 |             }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:76:23: warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
 74 |                 self.setChannel(channel)
 75 |
 76 |                 await initialized()
    |                       |- warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'initialized' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 77 |
 78 |                 // We are handling each incoming connection in a separate child task. It is important
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:72:32: warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 70 |         _task = ResilientTask { initialized in
 71 |
 72 |             try await TaskPath.with(name: "server connection") {
    |                                `- warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 73 |                 let channel = try await self.openServerChannel(host: host, port: port)
 74 |                 self.setChannel(channel)
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:88:33: warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
 86 |                         try await channel.executeThenClose { inbound, _ in
 87 |                             for try await upgradeResult in inbound {
 88 |                                 group.addTask {
    |                                 |- warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: 'self'-isolated 'group' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 89 |                                     await self.system.handleUpgradeResult(upgradeResult)
 90 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:86:43: warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 84 |                 if #available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *) {
 85 |                     try await withThrowingDiscardingTaskGroup { group in
 86 |                         try await channel.executeThenClose { inbound, _ in
    |                                           `- warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 87 |                             for try await upgradeResult in inbound {
 88 |                                 group.addTask {
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:100:33: warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
 98 |                         try await channel.executeThenClose { inbound, _ in
 99 |                             for try await upgradeResult in inbound {
100 |                                 group.addTask {
    |                                 |- warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: 'self'-isolated 'group' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
101 |                                     await self.system.handleUpgradeResult(upgradeResult)
102 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:98:43: warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // Fallback on earlier versions
 97 |                     try await withThrowingTaskGroup(of: Void.self) { group in
 98 |                         try await channel.executeThenClose { inbound, _ in
    |                                           `- warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 99 |                             for try await upgradeResult in inbound {
100 |                                 group.addTask {
[295/305] Compiling WebSocketActors TaskPath.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelOption.swift:302:23: warning: static property 'socketOption' is not concurrency-safe because non-'Sendable' type '(NIOBSDSocket.Option) -> ChannelOptions.Types.SocketOption' may have shared mutable state; this is an error in the Swift 6 language mode
300 |
301 |     /// - seealso: `SocketOption`.
302 |     public static let socketOption = { (name: NIOBSDSocket.Option) -> Types.SocketOption in
    |                       |- warning: static property 'socketOption' is not concurrency-safe because non-'Sendable' type '(NIOBSDSocket.Option) -> ChannelOptions.Types.SocketOption' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'socketOption' 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
303 |         .init(level: .socket, name: name)
304 |     }
macro expansion @TaskLocal:1:19: warning: static property '$current' is not concurrency-safe because non-'Sendable' type 'TaskLocal<TaskPath>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                   |- warning: static property '$current' is not concurrency-safe because non-'Sendable' type 'TaskLocal<TaskPath>' may have shared mutable state; this is an error in the Swift 6 language mode
   |  |                   |- note: annotate '$current' 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
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:19: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:51: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:51: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:3:18: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | {
   |2 |     get {
   |3 |         $current.get()
   |  |                  `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   |4 |     }
   |5 | }
   +--------------------------------------------------------------------
12 |
13 |     let path: String
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:21:35: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
12 |
   :
19 |     public static func with<R>(name: String, block: () async throws -> R) async rethrows -> R {
20 |         let p = current.path
21 |         return try await $current.withValue(TaskPath(path: p.isEmpty ? name : p + " > " + name), operation: block)
   |                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:56:19: warning: sending 'self'-isolated value of type '(CheckedContinuation<ServerListeningChannel, Never>) -> Void' (aka '(CheckedContinuation<NIOAsyncChannel<EventLoopFuture<ServerUpgradeResult>, Never>, Never>) -> ()') with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 54 |         }
 55 |         else {
 56 |             await withContinuation { continuation in
    |                   `- warning: sending 'self'-isolated value of type '(CheckedContinuation<ServerListeningChannel, Never>) -> Void' (aka '(CheckedContinuation<NIOAsyncChannel<EventLoopFuture<ServerUpgradeResult>, Never>, Never>) -> ()') with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 57 |                 waitingForChannel.append(continuation)
 58 |             }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:76:23: warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
 74 |                 self.setChannel(channel)
 75 |
 76 |                 await initialized()
    |                       |- warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'initialized' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 77 |
 78 |                 // We are handling each incoming connection in a separate child task. It is important
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:72:32: warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 70 |         _task = ResilientTask { initialized in
 71 |
 72 |             try await TaskPath.with(name: "server connection") {
    |                                `- warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 73 |                 let channel = try await self.openServerChannel(host: host, port: port)
 74 |                 self.setChannel(channel)
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:88:33: warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
 86 |                         try await channel.executeThenClose { inbound, _ in
 87 |                             for try await upgradeResult in inbound {
 88 |                                 group.addTask {
    |                                 |- warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: 'self'-isolated 'group' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 89 |                                     await self.system.handleUpgradeResult(upgradeResult)
 90 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:86:43: warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 84 |                 if #available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *) {
 85 |                     try await withThrowingDiscardingTaskGroup { group in
 86 |                         try await channel.executeThenClose { inbound, _ in
    |                                           `- warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 87 |                             for try await upgradeResult in inbound {
 88 |                                 group.addTask {
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:100:33: warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
 98 |                         try await channel.executeThenClose { inbound, _ in
 99 |                             for try await upgradeResult in inbound {
100 |                                 group.addTask {
    |                                 |- warning: sending 'group' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: 'self'-isolated 'group' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
101 |                                     await self.system.handleUpgradeResult(upgradeResult)
102 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ServerManager.swift:98:43: warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // Fallback on earlier versions
 97 |                     try await withThrowingTaskGroup(of: Void.self) { group in
 98 |                         try await channel.executeThenClose { inbound, _ in
    |                                           `- warning: sending 'self'-isolated value of type '(NIOAsyncChannelInboundStream<EventLoopFuture<ServerUpgradeResult>>, NIOAsyncChannelOutboundWriter<Never>) async throws -> ()' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 99 |                             for try await upgradeResult in inbound {
100 |                                 group.addTask {
[296/305] Emitting module WebSocketActors
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
macro expansion @TaskLocal:1:19: warning: static property '$current' is not concurrency-safe because non-'Sendable' type 'TaskLocal<TaskPath>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                   |- warning: static property '$current' is not concurrency-safe because non-'Sendable' type 'TaskLocal<TaskPath>' may have shared mutable state; this is an error in the Swift 6 language mode
   |  |                   |- note: annotate '$current' 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
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:19: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:51: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
macro expansion @TaskLocal:1:51: warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TaskPath.swift:11:61: note: expanded code originates here
 8 | import Foundation
 9 |
10 | public struct TaskPath: CustomStringConvertible {
   |               `- note: consider making struct 'TaskPath' conform to the 'Sendable' protocol
11 |     @TaskLocal public static var current: TaskPath = .init()
   +--- macro expansion @TaskLocal -------------------------------------
   |1 | public static let $current: TaskLocal<TaskPath> = TaskLocal(wrappedValue: .init())
   |  |                                                   `- warning: type 'TaskPath' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
   +--------------------------------------------------------------------
12 |
13 |     let path: String
[297/305] Compiling WebSocketActors NIOInvocationDecoder.swift
[298/305] Compiling WebSocketActors NIOInvocationEncoder.swift
[299/305] Compiling WebSocketActors LoggingExtensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/LoggingExtensions.swift:49:60: warning: type 'RemoteCallTarget' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 |     func with(_ target: RemoteCallTarget) -> Logger {
48 |         var logger = self
49 |         logger[metadataKey: "target"] = .stringConvertible(target)
   |                                                            `- warning: type 'RemoteCallTarget' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 |         return logger
51 |     }
Distributed.RemoteCallTarget:2:15: note: struct 'RemoteCallTarget' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
2 | public struct RemoteCallTarget : CustomStringConvertible, Hashable {
  |               `- note: struct 'RemoteCallTarget' does not conform to the 'Sendable' protocol
3 |     public init(_ identifier: String)
4 |     public var identifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/LoggingExtensions.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Distributed'
 6 |  */
 7 |
 8 | import Distributed
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Distributed'
 9 | import Foundation
10 | import Logging
[300/305] Compiling WebSocketActors Manager.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/LoggingExtensions.swift:49:60: warning: type 'RemoteCallTarget' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 |     func with(_ target: RemoteCallTarget) -> Logger {
48 |         var logger = self
49 |         logger[metadataKey: "target"] = .stringConvertible(target)
   |                                                            `- warning: type 'RemoteCallTarget' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 |         return logger
51 |     }
Distributed.RemoteCallTarget:2:15: note: struct 'RemoteCallTarget' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
2 | public struct RemoteCallTarget : CustomStringConvertible, Hashable {
  |               `- note: struct 'RemoteCallTarget' does not conform to the 'Sendable' protocol
3 |     public init(_ identifier: String)
4 |     public var identifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/LoggingExtensions.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Distributed'
 6 |  */
 7 |
 8 | import Distributed
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Distributed'
 9 | import Foundation
10 | import Logging
[301/305] Compiling WebSocketActors TimedPing.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TimedPing.swift:33:42: warning: capture of 'self' with non-sendable type 'TimedPing' in a `@Sendable` closure; this is an error in the Swift 6 language mode
14 | /// > enhancement would be to delay future pings when
15 | /// > data is received from the remote.
16 | class TimedPing {
   |       `- note: class 'TimedPing' does not conform to the 'Sendable' protocol
17 |     weak var node: RemoteNode?
18 |     let frequency: TimeInterval
   :
31 |         stop()
32 |         loop = Task.detached {
33 |             while !(Task.isCancelled || (self.node == nil)) {
   |                                          `- warning: capture of 'self' with non-sendable type 'TimedPing' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |                 try await Task.sleep(for: .seconds(self.frequency))
35 |                 if Task.isCancelled { break }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TimedPing.swift:33:42: warning: implicit capture of 'self' requires that 'TimedPing' conforms to `Sendable`; this is an error in the Swift 6 language mode
14 | /// > enhancement would be to delay future pings when
15 | /// > data is received from the remote.
16 | class TimedPing {
   |       `- note: class 'TimedPing' does not conform to the 'Sendable' protocol
17 |     weak var node: RemoteNode?
18 |     let frequency: TimeInterval
   :
31 |         stop()
32 |         loop = Task.detached {
33 |             while !(Task.isCancelled || (self.node == nil)) {
   |                                          `- warning: implicit capture of 'self' requires that 'TimedPing' conforms to `Sendable`; this is an error in the Swift 6 language mode
34 |                 try await Task.sleep(for: .seconds(self.frequency))
35 |                 if Task.isCancelled { break }
[302/305] Compiling WebSocketActors WebSocketActorSystem+Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TimedPing.swift:33:42: warning: capture of 'self' with non-sendable type 'TimedPing' in a `@Sendable` closure; this is an error in the Swift 6 language mode
14 | /// > enhancement would be to delay future pings when
15 | /// > data is received from the remote.
16 | class TimedPing {
   |       `- note: class 'TimedPing' does not conform to the 'Sendable' protocol
17 |     weak var node: RemoteNode?
18 |     let frequency: TimeInterval
   :
31 |         stop()
32 |         loop = Task.detached {
33 |             while !(Task.isCancelled || (self.node == nil)) {
   |                                          `- warning: capture of 'self' with non-sendable type 'TimedPing' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |                 try await Task.sleep(for: .seconds(self.frequency))
35 |                 if Task.isCancelled { break }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/TimedPing.swift:33:42: warning: implicit capture of 'self' requires that 'TimedPing' conforms to `Sendable`; this is an error in the Swift 6 language mode
14 | /// > enhancement would be to delay future pings when
15 | /// > data is received from the remote.
16 | class TimedPing {
   |       `- note: class 'TimedPing' does not conform to the 'Sendable' protocol
17 |     weak var node: RemoteNode?
18 |     let frequency: TimeInterval
   :
31 |         stop()
32 |         loop = Task.detached {
33 |             while !(Task.isCancelled || (self.node == nil)) {
   |                                          `- warning: implicit capture of 'self' requires that 'TimedPing' conforms to `Sendable`; this is an error in the Swift 6 language mode
34 |                 try await Task.sleep(for: .seconds(self.frequency))
35 |                 if Task.isCancelled { break }
[303/305] Compiling WebSocketActors ActorIdentity.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:62:23: warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
 60 |                 self.system.logger
 61 |                     .trace("got serverConnection to node \(serverConnection.nodeID) on \(TaskPath.current)")
 62 |                 await initialized()
    |                       |- warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'initialized' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 63 |                 try await self.system.dispatchIncomingFrames(channel: serverConnection.channel,
 64 |                                                              remoteNodeID: serverConnection.nodeID)
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:58:32: warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 56 |         cancel()
 57 |         task = ResilientTask(monitor: updateConnectionStatus(_:)) { initialized in
 58 |             try await TaskPath.with(name: "client connection") {
    |                                `- warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 59 |                 let serverConnection = try await self.openClientChannel(host: host, port: port)
 60 |                 self.system.logger
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:142:22: warning: sending 'self'-isolated value of type '(CheckedContinuation<NodeIdentity, Never>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
140 |             return remoteNodeID
141 |         }
142 |         return await withContinuation { continuation in
    |                      `- warning: sending 'self'-isolated value of type '(CheckedContinuation<NodeIdentity, Never>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
143 |             remoteNodeIDContinuations.append(continuation)
144 |         }
[304/305] Compiling WebSocketActors ActorSystemUserInfoKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:62:23: warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
 60 |                 self.system.logger
 61 |                     .trace("got serverConnection to node \(serverConnection.nodeID) on \(TaskPath.current)")
 62 |                 await initialized()
    |                       |- warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'initialized' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 63 |                 try await self.system.dispatchIncomingFrames(channel: serverConnection.channel,
 64 |                                                              remoteNodeID: serverConnection.nodeID)
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:58:32: warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 56 |         cancel()
 57 |         task = ResilientTask(monitor: updateConnectionStatus(_:)) { initialized in
 58 |             try await TaskPath.with(name: "client connection") {
    |                                `- warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 59 |                 let serverConnection = try await self.openClientChannel(host: host, port: port)
 60 |                 self.system.logger
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:142:22: warning: sending 'self'-isolated value of type '(CheckedContinuation<NodeIdentity, Never>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
140 |             return remoteNodeID
141 |         }
142 |         return await withContinuation { continuation in
    |                      `- warning: sending 'self'-isolated value of type '(CheckedContinuation<NodeIdentity, Never>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
143 |             remoteNodeIDContinuations.append(continuation)
144 |         }
[305/305] Compiling WebSocketActors ClientManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ExponentialBackoff.swift:85:23: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// > Note: See [Exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff). (2023, September 23). In
20 | /// Wikipedia.
21 | public struct ExponentialBackoff: Sequence {
   |               `- note: consider making struct 'ExponentialBackoff' conform to the 'Sendable' protocol
22 |     /// The first value in the sequence. If this is >= ``jitter``, then the
23 |     /// first value will be randomized with jitter.
   :
83 |     }
84 |
85 |     public static let standard = ExponentialBackoff()
   |                       |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'ExponentialBackoff' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'standard' 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
86 | }
87 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:62:23: warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
 60 |                 self.system.logger
 61 |                     .trace("got serverConnection to node \(serverConnection.nodeID) on \(TaskPath.current)")
 62 |                 await initialized()
    |                       |- warning: sending 'initialized' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: 'self'-isolated 'initialized' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 63 |                 try await self.system.dispatchIncomingFrames(channel: serverConnection.channel,
 64 |                                                              remoteNodeID: serverConnection.nodeID)
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:58:32: warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 56 |         cancel()
 57 |         task = ResilientTask(monitor: updateConnectionStatus(_:)) { initialized in
 58 |             try await TaskPath.with(name: "client connection") {
    |                                `- warning: sending 'self'-isolated value of type '() async throws -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
 59 |                 let serverConnection = try await self.openClientChannel(host: host, port: port)
 60 |                 self.system.logger
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/ClientManager.swift:142:22: warning: sending 'self'-isolated value of type '(CheckedContinuation<NodeIdentity, Never>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
140 |             return remoteNodeID
141 |         }
142 |         return await withContinuation { continuation in
    |                      `- warning: sending 'self'-isolated value of type '(CheckedContinuation<NodeIdentity, Never>) -> Void' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
143 |             remoteNodeIDContinuations.append(continuation)
144 |         }
[306/307] Compiling WebSocketActors WebSocketActorSystem+Server.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:221:31: warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
219 |                 for manager in managers {
220 |                     group.addTask {
221 |                         await manager.cancel()
    |                               `- warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
222 |                     }
223 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/Manager.swift:13:17: note: protocol 'Manager' does not conform to the 'Sendable' protocol
11 | /// with a uniform interface to clients and servers, so that certain universal
12 | /// operations can be performed without caring which mode the actor system is in.
13 | public protocol Manager {
   |                 `- note: protocol 'Manager' does not conform to the 'Sendable' protocol
14 |
15 |     /// Close all channels and stop re-opening them. This is called when the actor system
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:231:31: warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 |                 for manager in managers {
230 |                     group.addTask {
231 |                         await manager.cancel()
    |                               `- warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
232 |                     }
233 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/Manager.swift:13:17: note: protocol 'Manager' does not conform to the 'Sendable' protocol
11 | /// with a uniform interface to clients and servers, so that certain universal
12 | /// operations can be performed without caring which mode the actor system is in.
13 | public protocol Manager {
   |                 `- note: protocol 'Manager' does not conform to the 'Sendable' protocol
14 |
15 |     /// Close all channels and stop re-opening them. This is called when the actor system
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:397:33: warning: non-sendable type '[ActorSystemUserInfoKey : Any]' in implicitly asynchronous access to actor-isolated property 'userInfo' cannot cross actor boundary; this is an error in the Swift 6 language mode
395 |             throw WebSocketActorSystemError.notInDistributedActor
396 |         }
397 |         return await remoteNode.userInfo[key]
    |                                 `- warning: non-sendable type '[ActorSystemUserInfoKey : Any]' in implicitly asynchronous access to actor-isolated property 'userInfo' cannot cross actor boundary; this is an error in the Swift 6 language mode
398 |     }
399 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:405:26: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
403 |             throw WebSocketActorSystemError.notInDistributedActor
404 |         }
405 |         await remoteNode.setUserInfo(key: key, value: value)
    |                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: sending task-isolated 'value' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
406 |     }
407 | }
[307/307] Compiling WebSocketActors WebSocketActorSystem.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:221:31: warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
219 |                 for manager in managers {
220 |                     group.addTask {
221 |                         await manager.cancel()
    |                               `- warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
222 |                     }
223 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/Manager.swift:13:17: note: protocol 'Manager' does not conform to the 'Sendable' protocol
11 | /// with a uniform interface to clients and servers, so that certain universal
12 | /// operations can be performed without caring which mode the actor system is in.
13 | public protocol Manager {
   |                 `- note: protocol 'Manager' does not conform to the 'Sendable' protocol
14 |
15 |     /// Close all channels and stop re-opening them. This is called when the actor system
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:231:31: warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 |                 for manager in managers {
230 |                     group.addTask {
231 |                         await manager.cancel()
    |                               `- warning: capture of 'manager' with non-sendable type 'any Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
232 |                     }
233 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/Manager.swift:13:17: note: protocol 'Manager' does not conform to the 'Sendable' protocol
11 | /// with a uniform interface to clients and servers, so that certain universal
12 | /// operations can be performed without caring which mode the actor system is in.
13 | public protocol Manager {
   |                 `- note: protocol 'Manager' does not conform to the 'Sendable' protocol
14 |
15 |     /// Close all channels and stop re-opening them. This is called when the actor system
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:397:33: warning: non-sendable type '[ActorSystemUserInfoKey : Any]' in implicitly asynchronous access to actor-isolated property 'userInfo' cannot cross actor boundary; this is an error in the Swift 6 language mode
395 |             throw WebSocketActorSystemError.notInDistributedActor
396 |         }
397 |         return await remoteNode.userInfo[key]
    |                                 `- warning: non-sendable type '[ActorSystemUserInfoKey : Any]' in implicitly asynchronous access to actor-isolated property 'userInfo' cannot cross actor boundary; this is an error in the Swift 6 language mode
398 |     }
399 |
/Users/admin/builder/spi-builder-workspace/Sources/WebSocketActors/WebSocketActorSystem.swift:405:26: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
403 |             throw WebSocketActorSystemError.notInDistributedActor
404 |         }
405 |         await remoteNode.setUserInfo(key: key, value: value)
    |                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: sending task-isolated 'value' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
406 |     }
407 | }
Build complete! (78.26s)
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-docc-symbolkit
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/samalone/nio-async-websockets
[1/34] Fetching nio-async-websockets
[35/1499] Fetching nio-async-websockets, swift-docc-plugin
[109/3062] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics
[479/6423] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-log
[1336/20452] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-log, swift-collections
[5733/23313] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-log, swift-collections, swift-docc-symbolkit
Fetched https://github.com/apple/swift-log.git from cache (1.22s)
Fetching https://github.com/apple/swift-nio-transport-services.git
[4521/19952] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-collections, swift-docc-symbolkit
[4939/85559] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-collections, swift-docc-symbolkit, swift-nio
[47508/87664] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-collections, swift-docc-symbolkit, swift-nio, swift-nio-transport-services
Fetched https://github.com/apple/swift-nio-transport-services.git from cache (1.18s)
[59317/85559] Fetching nio-async-websockets, swift-docc-plugin, swift-atomics, swift-collections, swift-docc-symbolkit, swift-nio
Fetched https://github.com/apple/swift-nio.git from cache (3.91s)
Fetched https://github.com/apple/swift-docc-symbolkit from cache (3.91s)
Fetched https://github.com/apple/swift-docc-plugin from cache (3.91s)
Fetched https://github.com/apple/swift-atomics.git from cache (3.91s)
Fetched https://github.com/apple/swift-collections.git from cache (3.91s)
Fetched https://github.com/samalone/nio-async-websockets from cache (3.91s)
Computing version for https://github.com/samalone/nio-async-websockets
Computed https://github.com/samalone/nio-async-websockets at 1.0.1 (0.49s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.3.0 (0.97s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.3 (0.64s)
Computing version for https://github.com/apple/swift-nio-transport-services.git
Computed https://github.com/apple/swift-nio-transport-services.git at 1.20.0 (0.62s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.62.0 (0.71s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.71s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.50s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.0.5 (0.64s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.5.3
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.0.5
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/samalone/nio-async-websockets
Working copy of https://github.com/samalone/nio-async-websockets resolved at 1.0.1
Creating working copy for https://github.com/apple/swift-nio-transport-services.git
Working copy of https://github.com/apple/swift-nio-transport-services.git resolved at 1.20.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.3.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.62.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-transport-services",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-transport-services.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" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    },
    {
      "identity" : "nio-async-websockets",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/samalone/nio-async-websockets"
    }
  ],
  "manifest_display_name" : "WebSocketActors",
  "name" : "WebSocketActors",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "WebSocketActors",
      "targets" : [
        "WebSocketActors"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WebSocketActors",
      "module_type" : "SwiftTarget",
      "name" : "WebSocketActors",
      "path" : "Sources/WebSocketActors",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOPosix",
        "NIOTransportServices",
        "Logging",
        "NIOAsyncWebSockets"
      ],
      "product_memberships" : [
        "WebSocketActors"
      ],
      "sources" : [
        "ActorIdentity.swift",
        "ActorSystemUserInfoKey.swift",
        "ClientManager.swift",
        "Continuation.swift",
        "ExponentialBackoff.swift",
        "LoggingExtensions.swift",
        "Manager.swift",
        "NIOInvocationDecoder.swift",
        "NIOInvocationEncoder.swift",
        "NodeIdentity.swift",
        "PendingReplies.swift",
        "RemoteNode.swift",
        "RemoteNodeDirectory.swift",
        "ResilientTask.swift",
        "ServerAddress.swift",
        "ServerManager.swift",
        "TaskPath.swift",
        "TimedPing.swift",
        "WebSocketActorSystem+Client.swift",
        "WebSocketActorSystem+Server.swift",
        "WebSocketActorSystem.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "WebSocketActorTests",
      "module_type" : "SwiftTarget",
      "name" : "WebSocketActorTests",
      "path" : "Tests/WebSocketActorTests",
      "sources" : [
        "ActorIdentityTests.swift",
        "WebSocketActorTests.swift"
      ],
      "target_dependencies" : [
        "WebSocketActors"
      ],
      "type" : "test"
    }
  ],
  "tools_version" : "5.9"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.