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 nostr-kit, reference master (e91c85), with Swift 6.0 for Linux on 3 Nov 2024 08:47:10 UTC.

Swift 6 data race errors: 1

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:100:130: warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 98 | 							case .failure(let error):
 99 | 								#if DEBUG
100 | 								Self.logger.error("failed to send nip-42 auth assertion. this channel will now be closed", metadata: ["response_uid": "\(makeAssertion.uid.description.prefix(8))", "error": "\(error)"])
    |                                                                                                                                  `- warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
101 | 								#endif
102 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/EOSEHandler.swift:7:8: warning: initialization of immutable value 'sid' was never used; consider replacing with assignment to '_' or removing it
 5 |
 6 | 		internal func NOSTR_frame_handler_decode_inbound(_ uk: inout UnkeyedDecodingContainer, context:ChannelHandlerContext) throws {
 7 | 			let sid = try uk.decode(String.self)
   |        `- warning: initialization of immutable value 'sid' was never used; consider replacing with assignment to '_' or removing it
 8 | 		}
 9 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/EVENTHandler.swift:98:6: warning: capture of 'self' with non-sendable type 'Relay.EVENTHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | extension Relay {
  5 | 	internal class EVENTHandler:NOSTR_frame_handler {
    |                 `- note: class 'EVENTHandler' does not conform to the 'Sendable' protocol
  6 | 		private enum EventOrToggle {
  7 | 			/// an event that is to be sent to the consumer
    :
 96 | 			if scheduledFlush == nil {
 97 | 				scheduledFlush = context.eventLoop.scheduleTask(in:rateLimitTime) { [self] in
 98 | 					self.flushPending()
    |      `- warning: capture of 'self' with non-sendable type 'Relay.EVENTHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 | 				}
100 | 			}
[1692/1706] Compiling nostr EOSEHandler.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:44:7: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | 						WebSocket.logger.error("failed to write initial HTTP upgrade request: \(error)")
43 | 						#endif
44 | 						context.fireErrorCaught(Relay.Error.WebSocket.UpgradeError.failedToWriteInitialRequest(error))
   |       `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
45 | 				}
46 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | 			}
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
    |     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | 					ui(ch, ur)
150 | 				}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:34: warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | 			}
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
    |                                  `- warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | 					ui(ch, ur)
150 | 				}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelHandler.swift:20:17: note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
 18 | ///
 19 | /// You should _never_ implement this protocol directly. Please implement one of its sub-protocols.
 20 | public protocol ChannelHandler: AnyObject {
    |                 `- note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
 21 |     /// Called when this `ChannelHandler` is added to the `ChannelPipeline`.
 22 |     ///
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
  1 | // (c) tanner silva 2023. all rights reserved.
  2 |
  3 | import NIOCore
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
  4 | import NIOHTTP1
  5 | import NIOWebSocket
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:75: warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | 			}
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
    |                                                                           |- warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' 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'
149 | 					ui(ch, ur)
150 | 				}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:149:6: warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
149 | 					ui(ch, ur)
    |      |- warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' 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'
150 | 				}
151 | 			}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:83:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
 81 | 			// schedule the next ping task
 82 | 			self.autoPingTask = context.eventLoop.scheduleTask(in: interval) {
 83 | 				if self.waitingOnPong != nil {
    |        `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 | 					#if DEBUG
 85 | 					self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:88:6: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 | 					#endif
 87 | 					// we never received a pong from our last ping, so the connection has timed out\
 88 | 					context.fireErrorCaught(Relay.Error.WebSocket.connectionTimeout)
    |      `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 89 | 				} else {
 90 | 					self.sendPing(context: context).whenSuccess {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:85:127: warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to `Sendable`; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
 83 | 				if self.waitingOnPong != nil {
 84 | 					#if DEBUG
 85 | 					self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
    |                                                                                                                               `- warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to `Sendable`; this is an error in the Swift 6 language mode
 86 | 					#endif
 87 | 					// we never received a pong from our last ping, so the connection has timed out\
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:91:7: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
 89 | 				} else {
 90 | 					self.sendPing(context: context).whenSuccess {
 91 | 						self.initiateAutoPing(context:context, interval: interval)
    |       `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 | 					}
 93 | 				}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:91:37: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 89 | 				} else {
 90 | 					self.sendPing(context: context).whenSuccess {
 91 | 						self.initiateAutoPing(context:context, interval: interval)
    |                                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 | 					}
 93 | 				}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:120:6: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
118 | 				case .success:
119 | 					#if DEBUG
120 | 					self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
    |      `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 | 					#endif
122 | 					self.waitingOnPong = newPingID
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:122:27: warning: reference to captured var 'newPingID' in concurrently-executing code; this is an error in the Swift 6 language mode
120 | 					self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
121 | 					#endif
122 | 					self.waitingOnPong = newPingID
    |                           `- warning: reference to captured var 'newPingID' in concurrently-executing code; this is an error in the Swift 6 language mode
123 | 				case .failure(let error):
124 | 					#if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:226:5: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
224 | 			self.sendPing(context:context).whenFailure { initialPingFailure in
225 | 				#if DEBUG
226 | 				self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
    |     `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
227 | 				#endif
228 | 				context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:228:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
226 | 				self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
227 | 				#endif
228 | 				context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
    |     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 | 			}
230 | 			self.initiateAutoPing(context: context, interval:self.configuration.timeouts.websocketConnectionTimeout)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:327:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
325 | 						switch $0 {
326 | 						case .success:
327 | 							self.logger.debug("sent pong.", metadata:["ping_id": "\(asArray.prefix(2))"])
    |        `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
328 | 						case .failure(let error):
329 | 							self.logger.error("failed to send pong: '\(error)'", metadata:["ping_id": "\(asArray.prefix(2))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:99:15: warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 98 | 			upgradePromise.whenSuccess({
 99 | 				wsPromise.succeed(relay)
    |               `- warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
100 | 			})
101 |
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
 7 | import var NIOPosix.TCP_NODELAY
 8 |
 9 | public struct Relay {
   |               `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | 	#if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:99:23: warning: capture of 'relay' with non-sendable type 'Relay' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 98 | 			upgradePromise.whenSuccess({
 99 | 				wsPromise.succeed(relay)
    |                       `- warning: capture of 'relay' with non-sendable type 'Relay' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | 			})
101 |
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
 7 | import var NIOPosix.TCP_NODELAY
 8 |
 9 | public struct Relay {
   |               `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | 	#if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:108:35: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 | 			timeoutTask.cancel()
107 | 			// the upgrade succeeded. remove the initial request writer.
108 | 			channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
    |                                   `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 | 		})
110 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
 7 |
 8 | 	/// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
 9 | 	internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
   |                       `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | 		typealias InboundIn = HTTPClientResponsePart
11 | 		typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:114:32: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | 		return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
113 | 			// the HTTP client handlers were added. now add the initial request writer.
114 | 			channel.pipeline.addHandler(initialRequestWriter)
    |                                `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | 		}
116 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
 7 |
 8 | 	/// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
 9 | 	internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
   |                       `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | 		typealias InboundIn = HTTPClientResponsePart
11 | 		typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:93:86: warning: capture of 'makeAssertion' with non-sendable type 'Event.Signed' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 91 | 							case .success(_):
 92 | 								#if DEBUG
 93 | 								Self.logger.info("sent nip-42 auth assertion.", metadata: ["response_uid":"\(makeAssertion.uid.description.prefix(8))"])
    |                                                                                      `- warning: capture of 'makeAssertion' with non-sendable type 'Event.Signed' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 94 | 								#endif
 95 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:96:9: warning: capture of 'sh' with non-sendable type '(Relay.AUTHHandler.State) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 94 | 								#endif
 95 |
 96 | 								sh(.authenticating(nil))
    |         |- warning: capture of 'sh' with non-sendable type '(Relay.AUTHHandler.State) -> Void' 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'
 97 |
 98 | 							case .failure(let error):
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:104:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |
103 | 								// nothing needs to be done here
104 | 								_ = context.channel.close()
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 | 						}
106 | 					}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:93:86: warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 91 | 							case .success(_):
 92 | 								#if DEBUG
 93 | 								Self.logger.info("sent nip-42 auth assertion.", metadata: ["response_uid":"\(makeAssertion.uid.description.prefix(8))"])
    |                                                                                      `- warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 94 | 								#endif
 95 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:100:130: warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 98 | 							case .failure(let error):
 99 | 								#if DEBUG
100 | 								Self.logger.error("failed to send nip-42 auth assertion. this channel will now be closed", metadata: ["response_uid": "\(makeAssertion.uid.description.prefix(8))", "error": "\(error)"])
    |                                                                                                                                  `- warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
101 | 								#endif
102 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/EOSEHandler.swift:7:8: warning: initialization of immutable value 'sid' was never used; consider replacing with assignment to '_' or removing it
 5 |
 6 | 		internal func NOSTR_frame_handler_decode_inbound(_ uk: inout UnkeyedDecodingContainer, context:ChannelHandlerContext) throws {
 7 | 			let sid = try uk.decode(String.self)
   |        `- warning: initialization of immutable value 'sid' was never used; consider replacing with assignment to '_' or removing it
 8 | 		}
 9 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/EVENTHandler.swift:98:6: warning: capture of 'self' with non-sendable type 'Relay.EVENTHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | extension Relay {
  5 | 	internal class EVENTHandler:NOSTR_frame_handler {
    |                 `- note: class 'EVENTHandler' does not conform to the 'Sendable' protocol
  6 | 		private enum EventOrToggle {
  7 | 			/// an event that is to be sent to the consumer
    :
 96 | 			if scheduledFlush == nil {
 97 | 				scheduledFlush = context.eventLoop.scheduleTask(in:rateLimitTime) { [self] in
 98 | 					self.flushPending()
    |      `- warning: capture of 'self' with non-sendable type 'Relay.EVENTHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 | 				}
100 | 			}
[1693/1706] Compiling nostr EVENTHandler.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:44:7: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | 						WebSocket.logger.error("failed to write initial HTTP upgrade request: \(error)")
43 | 						#endif
44 | 						context.fireErrorCaught(Relay.Error.WebSocket.UpgradeError.failedToWriteInitialRequest(error))
   |       `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
45 | 				}
46 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | 			}
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
    |     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | 					ui(ch, ur)
150 | 				}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:34: warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | 			}
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
    |                                  `- warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
149 | 					ui(ch, ur)
150 | 				}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelHandler.swift:20:17: note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
 18 | ///
 19 | /// You should _never_ implement this protocol directly. Please implement one of its sub-protocols.
 20 | public protocol ChannelHandler: AnyObject {
    |                 `- note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
 21 |     /// Called when this `ChannelHandler` is added to the `ChannelPipeline`.
 22 |     ///
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
  1 | // (c) tanner silva 2023. all rights reserved.
  2 |
  3 | import NIOCore
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
  4 | import NIOHTTP1
  5 | import NIOWebSocket
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:75: warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 | 			}
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
    |                                                                           |- warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' 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'
149 | 					ui(ch, ur)
150 | 				}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:149:6: warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
147 | 			let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | 				context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
149 | 					ui(ch, ur)
    |      |- warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' 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'
150 | 				}
151 | 			}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:83:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
 81 | 			// schedule the next ping task
 82 | 			self.autoPingTask = context.eventLoop.scheduleTask(in: interval) {
 83 | 				if self.waitingOnPong != nil {
    |        `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 | 					#if DEBUG
 85 | 					self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:88:6: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 | 					#endif
 87 | 					// we never received a pong from our last ping, so the connection has timed out\
 88 | 					context.fireErrorCaught(Relay.Error.WebSocket.connectionTimeout)
    |      `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 89 | 				} else {
 90 | 					self.sendPing(context: context).whenSuccess {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:85:127: warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to `Sendable`; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
 83 | 				if self.waitingOnPong != nil {
 84 | 					#if DEBUG
 85 | 					self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
    |                                                                                                                               `- warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to `Sendable`; this is an error in the Swift 6 language mode
 86 | 					#endif
 87 | 					// we never received a pong from our last ping, so the connection has timed out\
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:91:7: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
 89 | 				} else {
 90 | 					self.sendPing(context: context).whenSuccess {
 91 | 						self.initiateAutoPing(context:context, interval: interval)
    |       `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 | 					}
 93 | 				}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:91:37: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 89 | 				} else {
 90 | 					self.sendPing(context: context).whenSuccess {
 91 | 						self.initiateAutoPing(context:context, interval: interval)
    |                                     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 | 					}
 93 | 				}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:120:6: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
118 | 				case .success:
119 | 					#if DEBUG
120 | 					self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
    |      `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 | 					#endif
122 | 					self.waitingOnPong = newPingID
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:122:27: warning: reference to captured var 'newPingID' in concurrently-executing code; this is an error in the Swift 6 language mode
120 | 					self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
121 | 					#endif
122 | 					self.waitingOnPong = newPingID
    |                           `- warning: reference to captured var 'newPingID' in concurrently-executing code; this is an error in the Swift 6 language mode
123 | 				case .failure(let error):
124 | 					#if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:226:5: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
224 | 			self.sendPing(context:context).whenFailure { initialPingFailure in
225 | 				#if DEBUG
226 | 				self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
    |     `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
227 | 				#endif
228 | 				context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:228:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
226 | 				self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
227 | 				#endif
228 | 				context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
    |     `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 | 			}
230 | 			self.initiateAutoPing(context: context, interval:self.configuration.timeouts.websocketConnectionTimeout)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket + Handler.swift:327:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 | 	/// - abstracts away the fragmentation of WebSocket frames
 14 | 	/// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
 15 | 	internal final class Handler:ChannelDuplexHandler {
    |                       `- note: class 'Handler' does not conform to the 'Sendable' protocol
 16 | 		/// how long is the randomly generated ping data?
 17 | 		private static let pingDataSize:size_t = 4
    :
325 | 						switch $0 {
326 | 						case .success:
327 | 							self.logger.debug("sent pong.", metadata:["ping_id": "\(asArray.prefix(2))"])
    |        `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
328 | 						case .failure(let error):
329 | 							self.logger.error("failed to send pong: '\(error)'", metadata:["ping_id": "\(asArray.prefix(2))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:99:15: warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 98 | 			upgradePromise.whenSuccess({
 99 | 				wsPromise.succeed(relay)
    |               `- warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
100 | 			})
101 |
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
 7 | import var NIOPosix.TCP_NODELAY
 8 |
 9 | public struct Relay {
   |               `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | 	#if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:99:23: warning: capture of 'relay' with non-sendable type 'Relay' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 98 | 			upgradePromise.whenSuccess({
 99 | 				wsPromise.succeed(relay)
    |                       `- warning: capture of 'relay' with non-sendable type 'Relay' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 | 			})
101 |
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
 7 | import var NIOPosix.TCP_NODELAY
 8 |
 9 | public struct Relay {
   |               `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | 	#if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:108:35: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 | 			timeoutTask.cancel()
107 | 			// the upgrade succeeded. remove the initial request writer.
108 | 			channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
    |                                   `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
109 | 		})
110 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
 7 |
 8 | 	/// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
 9 | 	internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
   |                       `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | 		typealias InboundIn = HTTPClientResponsePart
11 | 		typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/WebSocket.swift:114:32: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | 		return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
113 | 			// the HTTP client handlers were added. now add the initial request writer.
114 | 			channel.pipeline.addHandler(initialRequestWriter)
    |                                `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | 		}
116 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
 7 |
 8 | 	/// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
 9 | 	internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
   |                       `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | 		typealias InboundIn = HTTPClientResponsePart
11 | 		typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:93:86: warning: capture of 'makeAssertion' with non-sendable type 'Event.Signed' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 91 | 							case .success(_):
 92 | 								#if DEBUG
 93 | 								Self.logger.info("sent nip-42 auth assertion.", metadata: ["response_uid":"\(makeAssertion.uid.description.prefix(8))"])
    |                                                                                      `- warning: capture of 'makeAssertion' with non-sendable type 'Event.Signed' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 94 | 								#endif
 95 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:96:9: warning: capture of 'sh' with non-sendable type '(Relay.AUTHHandler.State) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 94 | 								#endif
 95 |
 96 | 								sh(.authenticating(nil))
    |         |- warning: capture of 'sh' with non-sendable type '(Relay.AUTHHandler.State) -> Void' 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'
 97 |
 98 | 							case .failure(let error):
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:104:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |
103 | 								// nothing needs to be done here
104 | 								_ = context.channel.close()
    |             `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 | 						}
106 | 					}
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 |     // visible for ChannelPipeline to modify
1509 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:93:86: warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 91 | 							case .success(_):
 92 | 								#if DEBUG
 93 | 								Self.logger.info("sent nip-42 auth assertion.", metadata: ["response_uid":"\(makeAssertion.uid.description.prefix(8))"])
    |                                                                                      `- warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 94 | 								#endif
 95 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/AUTHHandler.swift:100:130: warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
 98 | 							case .failure(let error):
 99 | 								#if DEBUG
100 | 								Self.logger.error("failed to send nip-42 auth assertion. this channel will now be closed", metadata: ["response_uid": "\(makeAssertion.uid.description.prefix(8))", "error": "\(error)"])
    |                                                                                                                                  `- warning: implicit capture of 'makeAssertion' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
101 | 								#endif
102 |
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: consider making struct 'Signed' conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: consider making struct 'Signed' conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/EOSEHandler.swift:7:8: warning: initialization of immutable value 'sid' was never used; consider replacing with assignment to '_' or removing it
 5 |
 6 | 		internal func NOSTR_frame_handler_decode_inbound(_ uk: inout UnkeyedDecodingContainer, context:ChannelHandlerContext) throws {
 7 | 			let sid = try uk.decode(String.self)
   |        `- warning: initialization of immutable value 'sid' was never used; consider replacing with assignment to '_' or removing it
 8 | 		}
 9 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Body Handlers/EVENTHandler.swift:98:6: warning: capture of 'self' with non-sendable type 'Relay.EVENTHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | extension Relay {
  5 | 	internal class EVENTHandler:NOSTR_frame_handler {
    |                 `- note: class 'EVENTHandler' does not conform to the 'Sendable' protocol
  6 | 		private enum EventOrToggle {
  7 | 			/// an event that is to be sent to the consumer
    :
 96 | 			if scheduledFlush == nil {
 97 | 				scheduledFlush = context.eventLoop.scheduleTask(in:rateLimitTime) { [self] in
 98 | 					self.flushPending()
    |      `- warning: capture of 'self' with non-sendable type 'Relay.EVENTHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 | 				}
100 | 			}
[1694/1706] Compiling nostr Filter.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1695/1706] Compiling nostr Date.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1696/1706] Compiling nostr Event + Signature.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1697/1706] Compiling nostr Event + UID.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1698/1706] Compiling nostr KeyPair.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1699/1706] Compiling nostr PublicKey.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1700/1706] Compiling nostr SecretKey.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1701/1706] Compiling nostr SharedSecret.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1702/1706] Compiling nostr Hex.swift
/host/spi-builder-workspace/Sources/nostr/Filter/Filter.swift:34:21: warning: function call causes an infinite recursion
 32 | extension Filter:NOSTR_filter {
 33 |     public var genericTags: [Character : [any NOSTR_tag_index]]? {
 34 |         return self.genericTags
    |                     `- warning: function call causes an infinite recursion
 35 |     }
 36 |
[1703/1707] Wrapping AST for nostr for debugging
[1705/1715] Compiling nostr_cc KeyPair.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:62:23: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
    |                       |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'cyan' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
 64 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:57:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 55 |     // MARK: Normal text colors
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
    |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'red' 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
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
[1706/1716] Compiling nostr_cc CLI.swift
[1707/1716] Compiling nostr_cc Colors.swift
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:13:16: warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | }
 12 | fileprivate struct ANSIModifiers {
 13 |     static var bold = [1, 22]
    |                |- warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'bold' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'bold' 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
 14 |     static var blink = [5, 25]
 15 |     static var dim = [2, 22]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:14:16: warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 | fileprivate struct ANSIModifiers {
 13 |     static var bold = [1, 22]
 14 |     static var blink = [5, 25]
    |                |- warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'blink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'blink' 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
 15 |     static var dim = [2, 22]
 16 |     static var italic = [2, 23]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:15:16: warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 |     static var bold = [1, 22]
 14 |     static var blink = [5, 25]
 15 |     static var dim = [2, 22]
    |                |- warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'dim' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'dim' 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
 16 |     static var italic = [2, 23]
 17 |     static var underline = [4, 24]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:16:16: warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     static var blink = [5, 25]
 15 |     static var dim = [2, 22]
 16 |     static var italic = [2, 23]
    |                |- warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'italic' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'italic' 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
 17 |     static var underline = [4, 24]
 18 |     static var inverse = [7, 27]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:17:16: warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     static var dim = [2, 22]
 16 |     static var italic = [2, 23]
 17 |     static var underline = [4, 24]
    |                |- warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'underline' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'underline' 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
 18 |     static var inverse = [7, 27]
 19 |     static var hidden = [8, 28]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:18:16: warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     static var italic = [2, 23]
 17 |     static var underline = [4, 24]
 18 |     static var inverse = [7, 27]
    |                |- warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'inverse' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'inverse' 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
 19 |     static var hidden = [8, 28]
 20 |     static var strikethrough = [9, 29]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:19:16: warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     static var underline = [4, 24]
 18 |     static var inverse = [7, 27]
 19 |     static var hidden = [8, 28]
    |                |- warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'hidden' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'hidden' 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
 20 |     static var strikethrough = [9, 29]
 21 | }
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:20:16: warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |     static var inverse = [7, 27]
 19 |     static var hidden = [8, 28]
 20 |     static var strikethrough = [9, 29]
    |                |- warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'strikethrough' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'strikethrough' 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
 21 | }
 22 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:56:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |
 55 |     // MARK: Normal text colors
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
    |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'black' 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
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:57:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 55 |     // MARK: Normal text colors
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
    |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'red' 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
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:58:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
    |                       |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'green' 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
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:59:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
    |                       |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'yellow' 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
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:60:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
    |                       |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'blue' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:61:23: warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
    |                       |- warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'magenta' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:62:23: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
    |                       |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'cyan' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
 64 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:63:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
    |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 64 |
 65 |     // MARK: Bright text colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:66:23: warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 64 |
 65 |     // MARK: Bright text colors
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
    |                       |- warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Black' 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
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:67:23: warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 65 |     // MARK: Bright text colors
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
    |                       |- warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Red' 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
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:68:23: warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
    |                       |- warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Green' 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
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:69:23: warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
    |                       |- warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Yellow' 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
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:70:23: warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
    |                       |- warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Blue' 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
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:71:23: warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
    |                       |- warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Magenta' 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
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
 73 |     public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:72:23: warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
    |                       |- warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Cyan' 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
 73 |     public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
 74 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:73:23: warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
 73 |     public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
    |                       |- warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'White' 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
 74 |
 75 |     // MARK: Normal background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:76:23: warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 74 |
 75 |     // MARK: Normal background colors
 76 |     public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
    |                       |- warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgBlack' 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
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:77:23: warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 75 |     // MARK: Normal background colors
 76 |     public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
    |                       |- warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgRed' 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
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:78:23: warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 76 |     public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
    |                       |- warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgGreen' 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
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:79:23: warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
    |                       |- warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgYellow' 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
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:80:23: warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
    |                       |- warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgBlue' 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
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:81:23: warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
    |                       |- warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgMagenta' 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
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
 83 |     public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:82:23: warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
    |                       |- warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgCyan' 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
 83 |     public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
 84 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:83:23: warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
 83 |     public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
    |                       |- warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgWhite' 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
 84 |
 85 |     // MARK: Bright background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:86:23: warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 84 |
 85 |     // MARK: Bright background colors
 86 |     public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
    |                       |- warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgBlack' 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
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:87:23: warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 85 |     // MARK: Bright background colors
 86 |     public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
    |                       |- warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgRed' 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
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:88:23: warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 86 |     public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
    |                       |- warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgGreen' 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
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:89:23: warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
    |                       |- warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgYellow' 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
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:90:23: warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
    |                       |- warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgBlue' 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
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:91:23: warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
    |                       |- warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgMagenta' 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
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
 93 |     public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:92:23: warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
    |                       |- warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgCyan' 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
 93 |     public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
 94 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:93:23: warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
 93 |     public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
    |                       |- warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgWhite' 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
 94 |
 95 |     // MARK: Text modifiers
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:96:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 94 |
 95 |     // MARK: Text modifiers
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
    |                       |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bold' 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
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:97:23: warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 95 |     // MARK: Text modifiers
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
    |                       |- warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'blink' 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
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:98:23: warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
    |                       |- warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'dim' 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
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:99:23: warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
    |                       |- warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'italic' 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
100 |     public static let underline = apply(style:ANSIModifiers.underline)
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:100:23: warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
    |                       |- warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'underline' 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
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:101:23: warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
    |                       |- warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'inverse' 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
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
103 |     public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:102:23: warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
100 |     public static let underline = apply(style:ANSIModifiers.underline)
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
    |                       |- warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'hidden' 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
103 |     public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
104 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:103:23: warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
103 |     public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
    |                       |- warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'strikethrough' 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
104 | }
105 |
[1708/1716] Compiling nostr_cc nostr-cc.swift
[1709/1716] Compiling nostr_cc CLI + Relay.swift
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:34:116: warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | 				let readKey = try nostr.KeyPair.fromJSONEncodedPath(baseURL)
33 | 				let buildConf = nostr.Relay.Client.Configuration(authenticationKey:readKey)
34 | 				let relayConn = try nostr.Relay.connect(url:nostr.URL(url), configuration: buildConf, on:mainEventLoop.next()).wait()
   |                                                                                                                    `- warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
35 |
36 | 				sleep(512)
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Relay.swift:9:15: note: struct 'Relay' does not conform to the 'Sendable' protocol
 7 | import var NIOPosix.TCP_NODELAY
 8 |
 9 | public struct Relay {
   |               `- note: struct 'Relay' does not conform to the 'Sendable' protocol
10 |
11 | 	#if DEBUG
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'nostr'
 1 | import ArgumentParser
 2 | import NIO
 3 | import nostr
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'nostr'
 4 | import struct Foundation.URL
 5 | import class Foundation.FileManager
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:34:9: warning: initialization of immutable value 'relayConn' was never used; consider replacing with assignment to '_' or removing it
32 | 				let readKey = try nostr.KeyPair.fromJSONEncodedPath(baseURL)
33 | 				let buildConf = nostr.Relay.Client.Configuration(authenticationKey:readKey)
34 | 				let relayConn = try nostr.Relay.connect(url:nostr.URL(url), configuration: buildConf, on:mainEventLoop.next()).wait()
   |         `- warning: initialization of immutable value 'relayConn' was never used; consider replacing with assignment to '_' or removing it
35 |
36 | 				sleep(512)
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:65:122: warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | 				let readKey = try nostr.KeyPair.fromJSONEncodedPath(baseURL)
64 | 				let buildConf = nostr.Relay.Client.Configuration(authenticationKey:readKey)
65 | 				let relayConn = try await nostr.Relay.connect(url:nostr.URL(url), configuration: buildConf, on:mainEventLoop.next()).get()
   |                                                                                                                          `- warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 |
67 | 				var unsignedEvent = nostr.Event.Unsigned(kind:nostr.Event.Kind.text_note)
/host/spi-builder-workspace/Sources/nostr/Network/Relay/Relay.swift:9:15: note: struct 'Relay' does not conform to the 'Sendable' protocol
 7 | import var NIOPosix.TCP_NODELAY
 8 |
 9 | public struct Relay {
   |               `- note: struct 'Relay' does not conform to the 'Sendable' protocol
10 |
11 | 	#if DEBUG
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:74:25: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
72 | 				result.whenComplete { getResult in
73 | 					switch getResult {
74 | 						case .success(let event):
   |                         `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
75 | 							CLI.logger.info("successfully posted event: \(newEvent.uid.description.prefix(8))")
76 | 						case .failure(let error):
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:75:54: warning: capture of 'newEvent' with non-sendable type 'Event.Signed' in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | 					switch getResult {
74 | 						case .success(let event):
75 | 							CLI.logger.info("successfully posted event: \(newEvent.uid.description.prefix(8))")
   |                                                      `- warning: capture of 'newEvent' with non-sendable type 'Event.Signed' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | 						case .failure(let error):
77 | 							print("event failed: \(error)")
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: struct 'Signed' does not conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: struct 'Signed' does not conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:75:54: warning: implicit capture of 'newEvent' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
73 | 					switch getResult {
74 | 						case .success(let event):
75 | 							CLI.logger.info("successfully posted event: \(newEvent.uid.description.prefix(8))")
   |                                                      `- warning: implicit capture of 'newEvent' requires that 'Event.Signed' conforms to `Sendable`; this is an error in the Swift 6 language mode
76 | 						case .failure(let error):
77 | 							print("event failed: \(error)")
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:40:16: note: struct 'Signed' does not conform to the 'Sendable' protocol
38 |
39 | 	/// represents an event whose contents are immutable after signing
40 | 	public struct Signed:NOSTR_event_signed {
   |                `- note: struct 'Signed' does not conform to the 'Sendable' protocol
41 | 		/// the unique identifier for the event
42 | 		public let uid:UID
[1710/1716] Compiling nostr_cc String.swift
[1711/1716] Compiling nostr_cc Profile.swift
[1712/1716] Compiling nostr_cc CLI + KeyPair.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:68:23: warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
    |                       |- warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Green' 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
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:98:23: warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
    |                       |- warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'dim' 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
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
[1713/1716] Emitting module nostr_cc
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:13:16: warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | }
 12 | fileprivate struct ANSIModifiers {
 13 |     static var bold = [1, 22]
    |                |- warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'bold' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'bold' 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
 14 |     static var blink = [5, 25]
 15 |     static var dim = [2, 22]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:14:16: warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 | fileprivate struct ANSIModifiers {
 13 |     static var bold = [1, 22]
 14 |     static var blink = [5, 25]
    |                |- warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'blink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'blink' 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
 15 |     static var dim = [2, 22]
 16 |     static var italic = [2, 23]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:15:16: warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 |     static var bold = [1, 22]
 14 |     static var blink = [5, 25]
 15 |     static var dim = [2, 22]
    |                |- warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'dim' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'dim' 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
 16 |     static var italic = [2, 23]
 17 |     static var underline = [4, 24]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:16:16: warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     static var blink = [5, 25]
 15 |     static var dim = [2, 22]
 16 |     static var italic = [2, 23]
    |                |- warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'italic' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'italic' 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
 17 |     static var underline = [4, 24]
 18 |     static var inverse = [7, 27]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:17:16: warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     static var dim = [2, 22]
 16 |     static var italic = [2, 23]
 17 |     static var underline = [4, 24]
    |                |- warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'underline' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'underline' 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
 18 |     static var inverse = [7, 27]
 19 |     static var hidden = [8, 28]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:18:16: warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     static var italic = [2, 23]
 17 |     static var underline = [4, 24]
 18 |     static var inverse = [7, 27]
    |                |- warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'inverse' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'inverse' 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
 19 |     static var hidden = [8, 28]
 20 |     static var strikethrough = [9, 29]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:19:16: warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |     static var underline = [4, 24]
 18 |     static var inverse = [7, 27]
 19 |     static var hidden = [8, 28]
    |                |- warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'hidden' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'hidden' 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
 20 |     static var strikethrough = [9, 29]
 21 | }
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:20:16: warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |     static var inverse = [7, 27]
 19 |     static var hidden = [8, 28]
 20 |     static var strikethrough = [9, 29]
    |                |- warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'strikethrough' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'strikethrough' 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
 21 | }
 22 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:56:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 54 |
 55 |     // MARK: Normal text colors
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
    |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'black' 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
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:57:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 55 |     // MARK: Normal text colors
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
    |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'red' 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
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:58:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 56 |     public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
    |                       |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'green' 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
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:59:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 57 |     public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
    |                       |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'yellow' 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
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:60:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 58 |     public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
    |                       |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'blue' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:61:23: warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 59 |     public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
    |                       |- warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'magenta' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:62:23: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 60 |     public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
    |                       |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'cyan' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
 64 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:63:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 61 |     public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
 62 |     public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
 63 |     public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
    |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 64 |
 65 |     // MARK: Bright text colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:66:23: warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 64 |
 65 |     // MARK: Bright text colors
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
    |                       |- warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Black' 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
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:67:23: warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 65 |     // MARK: Bright text colors
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
    |                       |- warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Red' 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
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:68:23: warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 66 |     public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
    |                       |- warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Green' 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
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:69:23: warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 67 |     public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
    |                       |- warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Yellow' 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
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:70:23: warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 68 |     public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
    |                       |- warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Blue' 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
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:71:23: warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 69 |     public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
    |                       |- warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Magenta' 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
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
 73 |     public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:72:23: warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 70 |     public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
    |                       |- warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'Cyan' 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
 73 |     public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
 74 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:73:23: warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 71 |     public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
 72 |     public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
 73 |     public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
    |                       |- warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'White' 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
 74 |
 75 |     // MARK: Normal background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:76:23: warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 74 |
 75 |     // MARK: Normal background colors
 76 |     public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
    |                       |- warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgBlack' 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
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:77:23: warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 75 |     // MARK: Normal background colors
 76 |     public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
    |                       |- warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgRed' 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
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:78:23: warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 76 |     public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
    |                       |- warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgGreen' 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
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:79:23: warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 77 |     public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
    |                       |- warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgYellow' 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
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:80:23: warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 78 |     public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
    |                       |- warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgBlue' 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
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:81:23: warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |     public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
    |                       |- warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgMagenta' 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
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
 83 |     public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:82:23: warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 80 |     public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
    |                       |- warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgCyan' 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
 83 |     public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
 84 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:83:23: warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 81 |     public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
 82 |     public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
 83 |     public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
    |                       |- warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bgWhite' 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
 84 |
 85 |     // MARK: Bright background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:86:23: warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 84 |
 85 |     // MARK: Bright background colors
 86 |     public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
    |                       |- warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgBlack' 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
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:87:23: warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 85 |     // MARK: Bright background colors
 86 |     public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
    |                       |- warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgRed' 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
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:88:23: warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 86 |     public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
    |                       |- warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgGreen' 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
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:89:23: warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 87 |     public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
    |                       |- warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgYellow' 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
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:90:23: warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 88 |     public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
    |                       |- warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgBlue' 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
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:91:23: warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 89 |     public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
    |                       |- warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgMagenta' 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
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
 93 |     public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:92:23: warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 90 |     public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
    |                       |- warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgCyan' 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
 93 |     public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
 94 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:93:23: warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 91 |     public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
 92 |     public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
 93 |     public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
    |                       |- warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'BgWhite' 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
 94 |
 95 |     // MARK: Text modifiers
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:96:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 94 |
 95 |     // MARK: Text modifiers
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
    |                       |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'bold' 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
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:97:23: warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 95 |     // MARK: Text modifiers
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
    |                       |- warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'blink' 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
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:98:23: warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |     public static let bold = apply(style:ANSIModifiers.bold)
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
    |                       |- warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'dim' 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
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:99:23: warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 97 |     public static let blink = apply(style:ANSIModifiers.blink)
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
    |                       |- warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'italic' 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
100 |     public static let underline = apply(style:ANSIModifiers.underline)
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:100:23: warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 98 |     public static let dim = apply(style:ANSIModifiers.dim)
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
    |                       |- warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'underline' 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
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:101:23: warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
 99 |     public static let italic = apply(style:ANSIModifiers.italic)
100 |     public static let underline = apply(style:ANSIModifiers.underline)
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
    |                       |- warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'inverse' 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
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
103 |     public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:102:23: warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
100 |     public static let underline = apply(style:ANSIModifiers.underline)
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
    |                       |- warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'hidden' 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
103 |     public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
104 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:103:23: warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
101 |     public static let inverse = apply(style:ANSIModifiers.inverse)
102 |     public static let hidden = apply(style:ANSIModifiers.hidden)
103 |     public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
    |                       |- warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'strikethrough' 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
104 | }
105 |
[1714/1717] Wrapping AST for nostr-cc for debugging
[1715/1717] Write Objects.LinkFileList
[1716/1717] Linking nostr-cc
Build complete! (250.59s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.57.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-ssl",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.24.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-ssl.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" : "quickjson",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tannerdsilva/QuickJSON.git"
    },
    {
      "identity" : "rawdog",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.7",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tannerdsilva/rawdog.git"
    },
    {
      "identity" : "secp256k1.swift",
      "requirement" : {
        "revision" : [
          "40b4b38b3b1c83f7088c76189a742870e0ca06a9"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/jb55/secp256k1.swift"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.5.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    },
    {
      "identity" : "swift-system",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-system.git"
    },
    {
      "identity" : "async-http-client",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.18.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swift-server/async-http-client"
    }
  ],
  "manifest_display_name" : "nostr-kit",
  "name" : "nostr-kit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "nostr",
      "targets" : [
        "nostr"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "nostr-cc",
      "targets" : [
        "nostr-cc"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "nostr_kitTests",
      "module_type" : "SwiftTarget",
      "name" : "nostr-kitTests",
      "path" : "Tests/nostr-kitTests",
      "sources" : [
        "AESCBCTests.swift",
        "Base64Tests.swift",
        "Bech32Tests.swift",
        "DateTests.swift",
        "HexTests.swift",
        "nostr_eventTests.swift",
        "nostr_keyTests.swift",
        "nostr_kitTests.swift"
      ],
      "target_dependencies" : [
        "nostr"
      ],
      "type" : "test"
    },
    {
      "c99name" : "nostr_cc",
      "module_type" : "SwiftTarget",
      "name" : "nostr-cc",
      "path" : "Sources/nostr-cc",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "nostr-cc"
      ],
      "sources" : [
        "CLI/CLI + KeyPair.swift",
        "CLI/CLI + Relay.swift",
        "CLI/CLI.swift",
        "Colors.swift",
        "Extensions/KeyPair.swift",
        "Extensions/String.swift",
        "Profile.swift",
        "nostr-cc.swift"
      ],
      "target_dependencies" : [
        "nostr"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "nostr",
      "module_type" : "SwiftTarget",
      "name" : "nostr",
      "path" : "Sources/nostr",
      "product_dependencies" : [
        "NIOSSL",
        "NIO",
        "NIOWebSocket",
        "Logging",
        "QuickJSON",
        "secp256k1",
        "RAW",
        "Crypto",
        "SystemPackage",
        "AsyncHTTPClient"
      ],
      "product_memberships" : [
        "nostr",
        "nostr-cc"
      ],
      "sources" : [
        "Errors.swift",
        "Event/Event + Commitment.swift",
        "Event/Event + Kind.swift",
        "Event/Event + NIP42.swift",
        "Event/Event.swift",
        "Event/Tags/Event + Tag + Name.swift",
        "Event/Tags/Event + Tag.swift",
        "Event/Tags/Event + Tags.swift",
        "Filter/Filter + Consumer.swift",
        "Filter/Filter.swift",
        "Frozen Structs/Date.swift",
        "Frozen Structs/Event + Signature.swift",
        "Frozen Structs/Event + UID.swift",
        "Frozen Structs/Key/KeyPair.swift",
        "Frozen Structs/Key/PublicKey.swift",
        "Frozen Structs/Key/SecretKey.swift",
        "Frozen Structs/Key/SharedSecret.swift",
        "Hex.swift",
        "Message/Message.swift",
        "Network/NIO/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift",
        "Network/NIO/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift",
        "Network/NIO/WebSockets/WebSocket + FrameSequence.swift",
        "Network/NIO/WebSockets/WebSocket + Handler.swift",
        "Network/NIO/WebSockets/WebSocket.swift",
        "Network/Relay/Body Handlers/AUTHHandler.swift",
        "Network/Relay/Body Handlers/EOSEHandler.swift",
        "Network/Relay/Body Handlers/EVENTHandler.swift",
        "Network/Relay/Body Handlers/NOTICEHandler.swift",
        "Network/Relay/Body Handlers/OKHandler.swift",
        "Network/Relay/Configurations/ClientConfiguration.swift",
        "Network/Relay/Relay + Catcher.swift",
        "Network/Relay/Relay + Consumable.swift",
        "Network/Relay/Relay + Error.swift",
        "Network/Relay/Relay + Frame.swift",
        "Network/Relay/Relay + Handler.swift",
        "Network/Relay/Relay.swift",
        "Network/URL/URL + Parser.swift",
        "Network/URL/URL + Split.swift",
        "Network/URL/URL.swift",
        "Network/URL/URLParameters.swift",
        "Protocols/BECH32.swift",
        "Protocols/FRAME/NOSTR_frame.swift",
        "Protocols/HEX/HEX_convertible.swift",
        "Protocols/HEX/HEX_decodable.swift",
        "Protocols/HEX/HEX_encodable.swift",
        "Protocols/NOSTR_date.swift",
        "Protocols/NOSTR_event.swift",
        "Protocols/NOSTR_filter.swift",
        "Protocols/NOSTR_kind.swift",
        "Protocols/NOSTR_subscription.swift",
        "Protocols/TAG/Instance/Additional/NOSTR_tag_addlfield.swift",
        "Protocols/TAG/Instance/Index/NOSTR_tag_infofield.swift",
        "Protocols/TAG/Instance/NOSTR_tag.swift",
        "Protocols/TAG/Instance/Name/NOSTR_tag_name.swift",
        "Protocols/TAG/Instance/Name/NOSTR_tag_name_generic.swift",
        "Protocols/TAG/NOSTR_tagged.swift",
        "Utils/AES_CBC.swift",
        "Utils/Base64.swift",
        "Utils/Extensions/ByteBuffer.swift",
        "Utils/FlatDictionary.swift",
        "Utils/InitializationVector.swift",
        "Utils/NIP05/NIP05.swift",
        "Utils/RandomBytes.swift",
        "Utils/SHA1.swift",
        "Utils/SHA256.swift",
        "bech32.swift",
        "nostr.swift"
      ],
      "target_dependencies" : [
        "cnostr"
      ],
      "type" : "library"
    },
    {
      "c99name" : "cnostr",
      "module_type" : "ClangTarget",
      "name" : "cnostr",
      "path" : "Sources/cnostr",
      "product_memberships" : [
        "nostr",
        "nostr-cc"
      ],
      "sources" : [
        "aes.c",
        "base64.c",
        "cnostr.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.