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 0.5.0 (f60503), with Swift 6.0 for Linux on 3 Nov 2024 08:46:10 UTC.

Swift 6 data race errors: 1

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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

 22 |     ///
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/WebSockets/WebSocket.swift:89:15: warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 87 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 88 | 			upgradePromise.whenSuccess({
 89 | 				wsPromise.succeed(relay)
    |               `- warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 90 | 			})
 91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/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/Relay/WebSockets/WebSocket.swift:89:23: warning: capture of 'relay' with non-sendable type 'Relay' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 87 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 88 | 			upgradePromise.whenSuccess({
 89 | 				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
 90 | 			})
 91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/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/Relay/WebSockets/WebSocket.swift:99: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
 97 | 			timeoutTask.cancel()
 98 | 			// the upgrade succeeded. remove the initial request writer.
 99 | 			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
100 |
101 | 		})
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/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/Relay/WebSockets/WebSocket.swift:106: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
104 | 		return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | 			// the HTTP client handlers were added. now add the initial request writer.
106 | 			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
107 | 		}
108 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/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
[1419/1437] Compiling nostr BECH32.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/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/Relay/WebSockets/WebSocket.swift:89:15: warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 87 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 88 | 			upgradePromise.whenSuccess({
 89 | 				wsPromise.succeed(relay)
    |               `- warning: type 'Relay' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 90 | 			})
 91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/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/Relay/WebSockets/WebSocket.swift:89:23: warning: capture of 'relay' with non-sendable type 'Relay' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 87 | 			upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
 88 | 			upgradePromise.whenSuccess({
 89 | 				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
 90 | 			})
 91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/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/Relay/WebSockets/WebSocket.swift:99: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
 97 | 			timeoutTask.cancel()
 98 | 			// the upgrade succeeded. remove the initial request writer.
 99 | 			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
100 |
101 | 		})
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/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/Relay/WebSockets/WebSocket.swift:106: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
104 | 		return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | 			// the HTTP client handlers were added. now add the initial request writer.
106 | 			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
107 | 		}
108 | 	}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/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
[1420/1437] Compiling nostr Event + Tags.swift
[1421/1437] Compiling nostr Filter.swift
[1422/1437] Compiling nostr Date.swift
[1423/1437] Compiling nostr Event + Signature.swift
[1424/1437] Compiling nostr Event + UID.swift
[1425/1437] Compiling nostr KeyPair.swift
[1426/1437] Compiling nostr PublicKey.swift
[1427/1437] Compiling nostr SecretKey.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1428/1437] Compiling nostr Hex.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1429/1437] Compiling nostr Message.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1430/1437] Compiling nostr ClientConfiguration.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1431/1437] Compiling nostr Relay + Catcher.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1432/1437] Compiling nostr Relay + Consumable.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1433/1437] Compiling nostr Relay + Error.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:31:5: warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 4 |
 5 | extension Relay {
 6 | 	internal final class Catcher:ChannelInboundHandler {
   |                       `- note: class 'Catcher' does not conform to the 'Sendable' protocol
 7 | 		#if DEBUG
 8 | 		internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
   :
29 | 		private func scheduleFlushTask(channel:Channel) {
30 | 			self.flushTask = channel.eventLoop.scheduleTask(in:self.holdPeriod, {
31 | 				self.flushTask = nil
   |     `- warning: capture of 'self' with non-sendable type 'Relay.Catcher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | 			})
33 | 		}
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:21: warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                     `- warning: immutable value 'subID' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:57:32: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
55 | 				case .event(let context):
56 | 					switch context {
57 | 						case .sub(let subID, let event):
   |                                `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
58 | 							#if DEBUG
59 | 							self.logger.trace("got write event.")
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Error.swift:54:10: warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
15 |
16 | 				/// describes various ways that a websocket can violate the fragment control rules defined in RFC 6455 section 5.4.
17 | 				public enum FragmentControlViolation {
   |                 `- note: consider making enum 'FragmentControlViolation' conform to the 'Sendable' protocol
18 | 					/// a ping frame was received from the remote peer, but the ping data was to be delivered with a fragment flag, which is invalid.
19 | 					/// - NOTE: see RFC 6455 section 5.4 & 5.5 for more information.
   :
52 |
53 | 				/// thrown when the fragment control rules defined in RFC 6455 section 5.4 are violated.
54 | 				case fragmentControlViolation(FragmentControlViolation)
   |          `- warning: associated value 'fragmentControlViolation' of 'Sendable'-conforming enum 'RFC6455Violation' has non-sendable type 'Relay.Error.WebSocket.RFC6455Violation.FragmentControlViolation'; this is an error in the Swift 6 language mode
55 | 			}
56 |
[1434/1438] Wrapping AST for nostr for debugging
[1436/1446] Compiling nostr_cc KeyPair.swift
/host/spi-builder-workspace/Sources/nostr-cc/Extensions/KeyPair.swift:22:16: warning: string interpolation produces a debug description for a function value; did you mean to make this explicit?
20 | 			switch hex {
21 | 				case true:
22 | 					print(" \(secretKey.hexEncodedString)")
   |                |         `- note: use 'String(describing:)' to silence this warning
   |                `- warning: string interpolation produces a debug description for a function value; did you mean to make this explicit?
23 | 				case false:
24 | 					print(" \(secretKey.nsecString())")
<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))
[1437/1447] Compiling nostr_cc nostr-cc.swift
[1438/1447] Compiling nostr_cc CLI.swift
[1439/1447] Compiling nostr_cc String.swift
[1440/1447] Compiling nostr_cc Profile.swift
[1441/1447] 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 |
[1442/1447] 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 |
[1443/1447] 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)
[1444/1447] Compiling nostr_cc CLI + Relay.swift
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:34:122: 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.Relay.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/NIO/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.Relay.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:128: 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.Relay.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/NIO/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:71:60: warning: type 'Relay.Publishing' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | 				let newEvent = try unsignedEvent.sign(to:nostr.Event.Signed.self, as:readKey)
70 | 				CLI.logger.info("posting event: \(newEvent.uid.description.prefix(8))")
71 | 				let result = try await relayConn.write(event:newEvent).get()
   |                                                            `- warning: type 'Relay.Publishing' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | 				result.promise.futureResult.whenComplete { getResult in
73 | 					switch getResult {
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Publishing.swift:9:16: note: struct 'Publishing' does not conform to the 'Sendable' protocol
 7 | 	/// used to track track the OK response from a relay when publishing an event.
 8 | 	/// - see nostr nip-20 for more details.
 9 | 	public struct Publishing {
   |                `- note: struct 'Publishing' does not conform to the 'Sendable' protocol
10 | 		/// represents a direct response from the relay explaining the circumstances of the failed publish.
11 | 		public struct Failure:Swift.Error {
/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.promise.futureResult.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:27:16: note: struct 'Signed' does not conform to the 'Sendable' protocol
 25 |
 26 | 	/// represents an event whose contents are immutable after signing
 27 | 	public struct Signed:NOSTR_event_signed {
    |                `- note: struct 'Signed' does not conform to the 'Sendable' protocol
 28 | 		/// the unique identifier for the event
 29 | 		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:27:16: note: struct 'Signed' does not conform to the 'Sendable' protocol
 25 |
 26 | 	/// represents an event whose contents are immutable after signing
 27 | 	public struct Signed:NOSTR_event_signed {
    |                `- note: struct 'Signed' does not conform to the 'Sendable' protocol
 28 | 		/// the unique identifier for the event
 29 | 		public let uid:UID
[1445/1448] Wrapping AST for nostr-cc for debugging
[1446/1448] Write Objects.LinkFileList
[1447/1448] Linking nostr-cc
Build complete! (207.47s)
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.32.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-ssl",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.5.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-ssl.git"
    },
    {
      "identity" : "swift-extras-base64",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swift-extras/swift-extras-base64.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" : "0.1.1",
            "upper_bound" : "1.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" : {
        "range" : [
          {
            "lower_bound" : "0.7.0",
            "upper_bound" : "0.8.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/GigaBitcoin/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"
    }
  ],
  "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" : [
        "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" : [
        "ExtrasBase64",
        "NIOSSL",
        "NIO",
        "NIOWebSocket",
        "Logging",
        "QuickJSON",
        "secp256k1",
        "RAW",
        "Crypto",
        "SystemPackage"
      ],
      "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.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",
        "Hex.swift",
        "Message/Message.swift",
        "Network/NIO/Relay/Configurations/ClientConfiguration.swift",
        "Network/NIO/Relay/Relay + Catcher.swift",
        "Network/NIO/Relay/Relay + Consumable.swift",
        "Network/NIO/Relay/Relay + Error.swift",
        "Network/NIO/Relay/Relay + Handler.swift",
        "Network/NIO/Relay/Relay + Publishing.swift",
        "Network/NIO/Relay/Relay.swift",
        "Network/NIO/Relay/URL/RelayURL + NOSTR_tag_infofield.swift",
        "Network/NIO/Relay/URL/RelayURL + Parser.swift",
        "Network/NIO/Relay/URL/RelayURL + Split.swift",
        "Network/NIO/Relay/URL/RelayURL.swift",
        "Network/NIO/Relay/URL/RelayURLParameters.swift",
        "Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift",
        "Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift",
        "Network/NIO/Relay/WebSockets/WebSocket + FrameSequence.swift",
        "Network/NIO/Relay/WebSockets/WebSocket + Handler.swift",
        "Network/NIO/Relay/WebSockets/WebSocket.swift",
        "Protocols/BECH32.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_message.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/Extensions/ByteBuffer.swift",
        "Utils/FlatDictionary.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" : [
        "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.