The Swift Package Index logo.Swift Package Index

Build Information

Successful build of URLScission, reference master (8d0dc0), with Swift 6.1 for macOS (SPM) on 13 Aug 2026 11:11:35 UTC.

Swift 6 data race errors: 29

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/inso1337/URLScission.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/inso1337/URLScission
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 8d0dc0e Add allowDomains: exempt hosts from all blocking (hole in a broad block)
Cloned https://github.com/inso1337/URLScission.git
Revision (git rev-parse @):
8d0dc0e6b7a8e6d769b25137bbb1e140d6a06cb2
SUCCESS checkout https://github.com/inso1337/URLScission.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/inso1337/URLScission.git
https://github.com/inso1337/URLScission.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "URLScission",
  "name" : "URLScission",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "4.0"
    }
  ],
  "products" : [
    {
      "name" : "URLScission",
      "targets" : [
        "URLScission"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "URLScissionInject",
      "targets" : [
        "URLScissionInject"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "URLScissionTests",
      "module_type" : "SwiftTarget",
      "name" : "URLScissionTests",
      "path" : "Tests/URLScissionTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/URLScissionTests/test.mock",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "InterceptionEngineTests.swift",
        "RestServiceNetwork.swift",
        "RuleConfigTests.swift",
        "URLScissionTests.swift"
      ],
      "target_dependencies" : [
        "URLScission"
      ],
      "type" : "test"
    },
    {
      "c99name" : "URLScissionInject",
      "module_type" : "SwiftTarget",
      "name" : "URLScissionInject",
      "path" : "Sources/URLScissionInject",
      "product_memberships" : [
        "URLScissionInject"
      ],
      "sources" : [
        "DaemonLogSink.swift",
        "DaemonRuleSource.swift",
        "MSHookFunctionHooker.swift",
        "URLScissionInject.swift"
      ],
      "target_dependencies" : [
        "URLScission",
        "URLScissionCHooks"
      ],
      "type" : "library"
    },
    {
      "c99name" : "URLScissionCHooks",
      "module_type" : "ClangTarget",
      "name" : "URLScissionCHooks",
      "path" : "Sources/URLScissionCHooks",
      "product_memberships" : [
        "URLScissionInject"
      ],
      "sources" : [
        "chooks.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "URLScission",
      "module_type" : "SwiftTarget",
      "name" : "URLScission",
      "path" : "Sources/URLScission",
      "product_memberships" : [
        "URLScission",
        "URLScissionInject"
      ],
      "sources" : [
        "Abstractions/FunctionHooker.swift",
        "Abstractions/RuleSource.swift",
        "DataMock.swift",
        "Interception/InterceptionEngine.swift",
        "Interception/Interceptor.swift",
        "Interception/RuleConfig.swift",
        "Interception/RuleStore.swift",
        "Interception/URLScission+Engine.swift",
        "Interception/URLSessionInterceptors.swift",
        "Logger.swift",
        "Mock.swift",
        "MockAction.swift",
        "MockClient.swift",
        "MockParser.swift",
        "MockSession.swift",
        "MockSessionError.swift",
        "MockSessionTask.swift",
        "MockStorage.swift",
        "URLSessionClient.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/4] Write sources
[2/4] Write swift-version-2F0A5646E1D333AE.txt
[3/23] Compiling URLScissionCHooks chooks.c
[5/23] Compiling URLScission RuleStore.swift
[6/23] Compiling URLScission URLScission+Engine.swift
[7/24] Compiling URLScission DataMock.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/InterceptionEngine.swift:44:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InterceptionEngine' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | }
 41 |
 42 | public final class InterceptionEngine {
    |                    `- note: class 'InterceptionEngine' does not conform to the 'Sendable' protocol
 43 |
 44 |     public static let shared = InterceptionEngine()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InterceptionEngine' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 45 |
 46 |     /// Installed interception methods.
[8/24] Compiling URLScission InterceptionEngine.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/InterceptionEngine.swift:44:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InterceptionEngine' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | }
 41 |
 42 | public final class InterceptionEngine {
    |                    `- note: class 'InterceptionEngine' does not conform to the 'Sendable' protocol
 43 |
 44 |     public static let shared = InterceptionEngine()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InterceptionEngine' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 45 |
 46 |     /// Installed interception methods.
[9/24] Compiling URLScission FunctionHooker.swift
[10/24] Compiling URLScission RuleSource.swift
[11/24] Emitting module URLScission
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/InterceptionEngine.swift:44:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InterceptionEngine' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | }
 41 |
 42 | public final class InterceptionEngine {
    |                    `- note: class 'InterceptionEngine' does not conform to the 'Sendable' protocol
 43 |
 44 |     public static let shared = InterceptionEngine()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InterceptionEngine' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 45 |
 46 |     /// Installed interception methods.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:21:23: warning: static property 'defaultURLProtocol' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 19 |     /// (URLScission's original method). Full control over NSURLSession traffic
 20 |     /// on the default/shared configuration.
 21 |     public static let defaultURLProtocol   = InterceptionMethod(rawValue: 1 << 0)
    |                       |- warning: static property 'defaultURLProtocol' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultURLProtocol' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |     /// Also cover custom and ephemeral `URLSessionConfiguration`s.
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:23:23: warning: static property 'allURLSessionConfigs' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 21 |     public static let defaultURLProtocol   = InterceptionMethod(rawValue: 1 << 0)
 22 |     /// Also cover custom and ephemeral `URLSessionConfiguration`s.
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
    |                       |- warning: static property 'allURLSessionConfigs' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'allURLSessionConfigs' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |     /// CFNetwork request construction (`CFURLRequestCreate*`, `CFHTTPMessageCreateRequest`).
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:25:23: warning: static property 'cfNetwork' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
 24 |     /// CFNetwork request construction (`CFURLRequestCreate*`, `CFHTTPMessageCreateRequest`).
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
    |                       |- warning: static property 'cfNetwork' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'cfNetwork' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |     /// Network.framework `nw_connection_send` (plaintext, pre-TLS).
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:27:23: warning: static property 'networkFramework' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
 26 |     /// Network.framework `nw_connection_send` (plaintext, pre-TLS).
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
    |                       |- warning: static property 'networkFramework' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'networkFramework' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |     /// boringssl `SSL_write` (plaintext into TLS) — the universal TLS chokepoint.
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:29:23: warning: static property 'tls' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
 28 |     /// boringssl `SSL_write` (plaintext into TLS) — the universal TLS chokepoint.
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
    |                       |- warning: static property 'tls' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'tls' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     /// `CFURL`/`NSURL` construction — protocol-independent URL observation.
 31 |     public static let urlObject            = InterceptionMethod(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:31:23: warning: static property 'urlObject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
 30 |     /// `CFURL`/`NSURL` construction — protocol-independent URL observation.
 31 |     public static let urlObject            = InterceptionMethod(rawValue: 1 << 5)
    |                       |- warning: static property 'urlObject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'urlObject' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     /// Everything safe to adopt inside your own app: full intercept via URLProtocol.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:34:23: warning: static property 'adopt' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 32 |
 33 |     /// Everything safe to adopt inside your own app: full intercept via URLProtocol.
 34 |     public static let adopt: InterceptionMethod = [.defaultURLProtocol, .allURLSessionConfigs]
    |                       |- warning: static property 'adopt' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'adopt' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     /// Observe-only hooks for injecting into another app. Deliberately excludes the
 36 |     /// URLProtocol methods: those re-issue every request as a fresh real load,
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:39:23: warning: static property 'inject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 37 |     /// which would double the host app's traffic (and flood on TLS cert checks).
 38 |     /// The C-layer hooks see everything without re-issuing.
 39 |     public static let inject: InterceptionMethod = [.cfNetwork, .networkFramework, .tls, .urlObject]
    |                       |- warning: static property 'inject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'inject' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     /// Full injection incl. the re-issuing URLProtocol intercept — only when you
 41 |     /// actually want to block/mock/modify inside the injected app, accepting the
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:43:23: warning: static property 'injectFull' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 41 |     /// actually want to block/mock/modify inside the injected app, accepting the
 42 |     /// re-issue cost.
 43 |     public static let injectFull: InterceptionMethod =
    |                       |- warning: static property 'injectFull' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'injectFull' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |         [.defaultURLProtocol, .allURLSessionConfigs, .cfNetwork, .networkFramework, .tls, .urlObject]
 45 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:53:23: warning: static property 'observe' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
 52 |
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
    |                       |- warning: static property 'observe' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'observe' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:54:23: warning: static property 'block' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
 52 |
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
    |                       |- warning: static property 'block' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'block' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:55:23: warning: static property 'mock' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
    |                       |- warning: static property 'mock' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'mock' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:56:23: warning: static property 'modifyRequest' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
    |                       |- warning: static property 'modifyRequest' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'modifyRequest' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:57:23: warning: static property 'modifyResponse' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
    |                       |- warning: static property 'modifyResponse' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'modifyResponse' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:58:23: warning: static property 'replay' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
    |                       |- warning: static property 'replay' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'replay' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// A loader-replacement (URLProtocol) can do it all.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:61:23: warning: static property 'full' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 59 |
 60 |     /// A loader-replacement (URLProtocol) can do it all.
 61 |     public static let full: InterceptorCapability =
    |                       |- warning: static property 'full' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'full' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |         [.observe, .block, .mock, .modifyRequest, .modifyResponse, .replay]
 63 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:16:13: warning: 'Sendable' class 'EngineURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
 14 | /// Engine-driven URLProtocol. Inserted into a session configuration's
 15 | /// `protocolClasses` by the interceptors below.
 16 | final class EngineURLProtocol: URLProtocol, URLSessionDataDelegate {
    |             `- warning: 'Sendable' class 'EngineURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
 17 |
 18 |     static let handledKey = "URLScissionHandled"
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:20:17: warning: stored property 'realSession' of 'Sendable'-conforming class 'EngineURLProtocol' is mutable; this is an error in the Swift 6 language mode
 18 |     static let handledKey = "URLScissionHandled"
 19 |
 20 |     private var realSession: URLSession?
    |                 `- warning: stored property 'realSession' of 'Sendable'-conforming class 'EngineURLProtocol' is mutable; this is an error in the Swift 6 language mode
 21 |     private var realTask: URLSessionDataTask?
 22 |     private var collected = Data()
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:218:24: warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
216 |     public let capabilities: InterceptorCapability = .full
217 |
218 |     private static var installed = false
    |                        |- warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'installed' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'installed' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
219 |
220 |     public func install(engine: InterceptionEngine) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:239:24: warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
237 |     public let capabilities: InterceptorCapability = .full
238 |
239 |     private static var installed = false
    |                        |- warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'installed' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'installed' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
240 |
241 |     public func install(engine: InterceptionEngine) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:26:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | extension OSLog {
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
   |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |     private static var networkIdentifer = "network"
28 |     private static var mockIdentier = "mock"
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:27:24: warning: static property 'networkIdentifer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | extension OSLog {
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
27 |     private static var networkIdentifer = "network"
   |                        |- warning: static property 'networkIdentifer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'networkIdentifer' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'networkIdentifer' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |     private static var mockIdentier = "mock"
29 |
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:28:24: warning: static property 'mockIdentier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
27 |     private static var networkIdentifer = "network"
28 |     private static var mockIdentier = "mock"
   |                        |- warning: static property 'mockIdentier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'mockIdentier' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'mockIdentier' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     /// Logs the network call.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:34:16: warning: static property 'mock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 |
33 |     /// Logs the mock call.
34 |     static var mock: OSLog = OSLog(subsystem: subsystem, category: mockIdentier)
   |                |- warning: static property 'mock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'mock' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'mock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLScissionDefault' may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import os.log
 11 |
 12 | class URLScissionDefault {
    |       `- note: class 'URLScissionDefault' does not conform to the 'Sendable' protocol
 13 |     static let shared = URLScissionDefault()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLScissionDefault' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |
 15 |     var currentRouter: URLScissionRouter?
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:20:23: warning: static property 'mockStorage' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 | public class URLScission {
 19 |
 20 |     public static var mockStorage = MockStorage()
    |                       |- warning: static property 'mockStorage' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'mockStorage' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'mockStorage' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     public static func start(logNetwork: Bool = true, urlSessionRedirect: Bool = true) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:156:22: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MockSession' may have shared mutable state; this is an error in the Swift 6 language mode
153 | }
154 |
155 | @objc public final class MockSession: NSObject, SessionClient {
    |                          `- note: class 'MockSession' does not conform to the 'Sendable' protocol
156 |     @objc static let shared = MockSession()
    |                      |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MockSession' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |
158 |     public func dataTask(with mock: MockAction,
[12/24] Compiling URLScission Mock.swift
[13/24] Compiling URLScission MockAction.swift
[14/24] Compiling URLScission Interceptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:21:23: warning: static property 'defaultURLProtocol' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 19 |     /// (URLScission's original method). Full control over NSURLSession traffic
 20 |     /// on the default/shared configuration.
 21 |     public static let defaultURLProtocol   = InterceptionMethod(rawValue: 1 << 0)
    |                       |- warning: static property 'defaultURLProtocol' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultURLProtocol' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |     /// Also cover custom and ephemeral `URLSessionConfiguration`s.
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:23:23: warning: static property 'allURLSessionConfigs' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 21 |     public static let defaultURLProtocol   = InterceptionMethod(rawValue: 1 << 0)
 22 |     /// Also cover custom and ephemeral `URLSessionConfiguration`s.
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
    |                       |- warning: static property 'allURLSessionConfigs' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'allURLSessionConfigs' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |     /// CFNetwork request construction (`CFURLRequestCreate*`, `CFHTTPMessageCreateRequest`).
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:25:23: warning: static property 'cfNetwork' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
 24 |     /// CFNetwork request construction (`CFURLRequestCreate*`, `CFHTTPMessageCreateRequest`).
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
    |                       |- warning: static property 'cfNetwork' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'cfNetwork' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |     /// Network.framework `nw_connection_send` (plaintext, pre-TLS).
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:27:23: warning: static property 'networkFramework' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
 26 |     /// Network.framework `nw_connection_send` (plaintext, pre-TLS).
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
    |                       |- warning: static property 'networkFramework' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'networkFramework' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |     /// boringssl `SSL_write` (plaintext into TLS) — the universal TLS chokepoint.
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:29:23: warning: static property 'tls' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
 28 |     /// boringssl `SSL_write` (plaintext into TLS) — the universal TLS chokepoint.
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
    |                       |- warning: static property 'tls' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'tls' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     /// `CFURL`/`NSURL` construction — protocol-independent URL observation.
 31 |     public static let urlObject            = InterceptionMethod(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:31:23: warning: static property 'urlObject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
 30 |     /// `CFURL`/`NSURL` construction — protocol-independent URL observation.
 31 |     public static let urlObject            = InterceptionMethod(rawValue: 1 << 5)
    |                       |- warning: static property 'urlObject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'urlObject' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     /// Everything safe to adopt inside your own app: full intercept via URLProtocol.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:34:23: warning: static property 'adopt' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 32 |
 33 |     /// Everything safe to adopt inside your own app: full intercept via URLProtocol.
 34 |     public static let adopt: InterceptionMethod = [.defaultURLProtocol, .allURLSessionConfigs]
    |                       |- warning: static property 'adopt' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'adopt' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     /// Observe-only hooks for injecting into another app. Deliberately excludes the
 36 |     /// URLProtocol methods: those re-issue every request as a fresh real load,
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:39:23: warning: static property 'inject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 37 |     /// which would double the host app's traffic (and flood on TLS cert checks).
 38 |     /// The C-layer hooks see everything without re-issuing.
 39 |     public static let inject: InterceptionMethod = [.cfNetwork, .networkFramework, .tls, .urlObject]
    |                       |- warning: static property 'inject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'inject' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     /// Full injection incl. the re-issuing URLProtocol intercept — only when you
 41 |     /// actually want to block/mock/modify inside the injected app, accepting the
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:43:23: warning: static property 'injectFull' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 41 |     /// actually want to block/mock/modify inside the injected app, accepting the
 42 |     /// re-issue cost.
 43 |     public static let injectFull: InterceptionMethod =
    |                       |- warning: static property 'injectFull' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'injectFull' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |         [.defaultURLProtocol, .allURLSessionConfigs, .cfNetwork, .networkFramework, .tls, .urlObject]
 45 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:53:23: warning: static property 'observe' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
 52 |
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
    |                       |- warning: static property 'observe' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'observe' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:54:23: warning: static property 'block' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
 52 |
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
    |                       |- warning: static property 'block' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'block' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:55:23: warning: static property 'mock' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
    |                       |- warning: static property 'mock' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'mock' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:56:23: warning: static property 'modifyRequest' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
    |                       |- warning: static property 'modifyRequest' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'modifyRequest' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:57:23: warning: static property 'modifyResponse' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
    |                       |- warning: static property 'modifyResponse' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'modifyResponse' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:58:23: warning: static property 'replay' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
    |                       |- warning: static property 'replay' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'replay' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// A loader-replacement (URLProtocol) can do it all.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:61:23: warning: static property 'full' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 59 |
 60 |     /// A loader-replacement (URLProtocol) can do it all.
 61 |     public static let full: InterceptorCapability =
    |                       |- warning: static property 'full' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'full' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |         [.observe, .block, .mock, .modifyRequest, .modifyResponse, .replay]
 63 | }
[15/24] Compiling URLScission RuleConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:21:23: warning: static property 'defaultURLProtocol' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 19 |     /// (URLScission's original method). Full control over NSURLSession traffic
 20 |     /// on the default/shared configuration.
 21 |     public static let defaultURLProtocol   = InterceptionMethod(rawValue: 1 << 0)
    |                       |- warning: static property 'defaultURLProtocol' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultURLProtocol' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 |     /// Also cover custom and ephemeral `URLSessionConfiguration`s.
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:23:23: warning: static property 'allURLSessionConfigs' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 21 |     public static let defaultURLProtocol   = InterceptionMethod(rawValue: 1 << 0)
 22 |     /// Also cover custom and ephemeral `URLSessionConfiguration`s.
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
    |                       |- warning: static property 'allURLSessionConfigs' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'allURLSessionConfigs' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |     /// CFNetwork request construction (`CFURLRequestCreate*`, `CFHTTPMessageCreateRequest`).
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:25:23: warning: static property 'cfNetwork' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 23 |     public static let allURLSessionConfigs = InterceptionMethod(rawValue: 1 << 1)
 24 |     /// CFNetwork request construction (`CFURLRequestCreate*`, `CFHTTPMessageCreateRequest`).
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
    |                       |- warning: static property 'cfNetwork' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'cfNetwork' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |     /// Network.framework `nw_connection_send` (plaintext, pre-TLS).
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:27:23: warning: static property 'networkFramework' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 25 |     public static let cfNetwork            = InterceptionMethod(rawValue: 1 << 2)
 26 |     /// Network.framework `nw_connection_send` (plaintext, pre-TLS).
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
    |                       |- warning: static property 'networkFramework' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'networkFramework' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |     /// boringssl `SSL_write` (plaintext into TLS) — the universal TLS chokepoint.
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:29:23: warning: static property 'tls' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 27 |     public static let networkFramework     = InterceptionMethod(rawValue: 1 << 3)
 28 |     /// boringssl `SSL_write` (plaintext into TLS) — the universal TLS chokepoint.
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
    |                       |- warning: static property 'tls' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'tls' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     /// `CFURL`/`NSURL` construction — protocol-independent URL observation.
 31 |     public static let urlObject            = InterceptionMethod(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:31:23: warning: static property 'urlObject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 29 |     public static let tls                  = InterceptionMethod(rawValue: 1 << 4)
 30 |     /// `CFURL`/`NSURL` construction — protocol-independent URL observation.
 31 |     public static let urlObject            = InterceptionMethod(rawValue: 1 << 5)
    |                       |- warning: static property 'urlObject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'urlObject' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |
 33 |     /// Everything safe to adopt inside your own app: full intercept via URLProtocol.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:34:23: warning: static property 'adopt' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 32 |
 33 |     /// Everything safe to adopt inside your own app: full intercept via URLProtocol.
 34 |     public static let adopt: InterceptionMethod = [.defaultURLProtocol, .allURLSessionConfigs]
    |                       |- warning: static property 'adopt' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'adopt' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     /// Observe-only hooks for injecting into another app. Deliberately excludes the
 36 |     /// URLProtocol methods: those re-issue every request as a fresh real load,
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:39:23: warning: static property 'inject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 37 |     /// which would double the host app's traffic (and flood on TLS cert checks).
 38 |     /// The C-layer hooks see everything without re-issuing.
 39 |     public static let inject: InterceptionMethod = [.cfNetwork, .networkFramework, .tls, .urlObject]
    |                       |- warning: static property 'inject' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'inject' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     /// Full injection incl. the re-issuing URLProtocol intercept — only when you
 41 |     /// actually want to block/mock/modify inside the injected app, accepting the
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:43:23: warning: static property 'injectFull' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | /// The interception methods URLScission can install. An `OptionSet` so a caller
 13 | /// selects any combination at `start()`.
 14 | public struct InterceptionMethod: OptionSet {
    |               `- note: consider making struct 'InterceptionMethod' conform to the 'Sendable' protocol
 15 |     public let rawValue: Int
 16 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 41 |     /// actually want to block/mock/modify inside the injected app, accepting the
 42 |     /// re-issue cost.
 43 |     public static let injectFull: InterceptionMethod =
    |                       |- warning: static property 'injectFull' is not concurrency-safe because non-'Sendable' type 'InterceptionMethod' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'injectFull' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |         [.defaultURLProtocol, .allURLSessionConfigs, .cfNetwork, .networkFramework, .tls, .urlObject]
 45 | }
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:53:23: warning: static property 'observe' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
 52 |
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
    |                       |- warning: static property 'observe' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'observe' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:54:23: warning: static property 'block' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
 52 |
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
    |                       |- warning: static property 'block' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'block' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:55:23: warning: static property 'mock' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 53 |     public static let observe        = InterceptorCapability(rawValue: 1 << 0)
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
    |                       |- warning: static property 'mock' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'mock' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:56:23: warning: static property 'modifyRequest' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 54 |     public static let block          = InterceptorCapability(rawValue: 1 << 1)
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
    |                       |- warning: static property 'modifyRequest' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'modifyRequest' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:57:23: warning: static property 'modifyResponse' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 55 |     public static let mock           = InterceptorCapability(rawValue: 1 << 2)
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
    |                       |- warning: static property 'modifyResponse' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'modifyResponse' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:58:23: warning: static property 'replay' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 56 |     public static let modifyRequest  = InterceptorCapability(rawValue: 1 << 3)
 57 |     public static let modifyResponse = InterceptorCapability(rawValue: 1 << 4)
 58 |     public static let replay         = InterceptorCapability(rawValue: 1 << 5)
    |                       |- warning: static property 'replay' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'replay' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// A loader-replacement (URLProtocol) can do it all.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/Interceptor.swift:61:23: warning: static property 'full' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
 47 | /// What an interceptor can actually do at its layer — the engine will not ask a
 48 | /// method to perform an action it cannot.
 49 | public struct InterceptorCapability: OptionSet {
    |               `- note: consider making struct 'InterceptorCapability' conform to the 'Sendable' protocol
 50 |     public let rawValue: Int
 51 |     public init(rawValue: Int) { self.rawValue = rawValue }
    :
 59 |
 60 |     /// A loader-replacement (URLProtocol) can do it all.
 61 |     public static let full: InterceptorCapability =
    |                       |- warning: static property 'full' is not concurrency-safe because non-'Sendable' type 'InterceptorCapability' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'full' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 62 |         [.observe, .block, .mock, .modifyRequest, .modifyResponse, .replay]
 63 | }
[16/24] Compiling URLScission MockSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLScissionDefault' may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import os.log
 11 |
 12 | class URLScissionDefault {
    |       `- note: class 'URLScissionDefault' does not conform to the 'Sendable' protocol
 13 |     static let shared = URLScissionDefault()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLScissionDefault' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |
 15 |     var currentRouter: URLScissionRouter?
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:20:23: warning: static property 'mockStorage' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 | public class URLScission {
 19 |
 20 |     public static var mockStorage = MockStorage()
    |                       |- warning: static property 'mockStorage' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'mockStorage' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'mockStorage' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     public static func start(logNetwork: Bool = true, urlSessionRedirect: Bool = true) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:156:22: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MockSession' may have shared mutable state; this is an error in the Swift 6 language mode
153 | }
154 |
155 | @objc public final class MockSession: NSObject, SessionClient {
    |                          `- note: class 'MockSession' does not conform to the 'Sendable' protocol
156 |     @objc static let shared = MockSession()
    |                      |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MockSession' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |
158 |     public func dataTask(with mock: MockAction,
[17/24] Compiling URLScission MockSessionError.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLScissionDefault' may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import os.log
 11 |
 12 | class URLScissionDefault {
    |       `- note: class 'URLScissionDefault' does not conform to the 'Sendable' protocol
 13 |     static let shared = URLScissionDefault()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLScissionDefault' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |
 15 |     var currentRouter: URLScissionRouter?
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:20:23: warning: static property 'mockStorage' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 | public class URLScission {
 19 |
 20 |     public static var mockStorage = MockStorage()
    |                       |- warning: static property 'mockStorage' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'mockStorage' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'mockStorage' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     public static func start(logNetwork: Bool = true, urlSessionRedirect: Bool = true) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSession.swift:156:22: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MockSession' may have shared mutable state; this is an error in the Swift 6 language mode
153 | }
154 |
155 | @objc public final class MockSession: NSObject, SessionClient {
    |                          `- note: class 'MockSession' does not conform to the 'Sendable' protocol
156 |     @objc static let shared = MockSession()
    |                      |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MockSession' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |
158 |     public func dataTask(with mock: MockAction,
[18/24] Compiling URLScission MockSessionTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSessionTask.swift:39:13: warning: capture of 'self' with non-sendable type 'MockSessionTask' in a '@Sendable' closure
 9 | import Foundation
10 |
11 | public final class MockSessionTask: SessionDataTask {
   |                    `- note: class 'MockSessionTask' does not conform to the 'Sendable' protocol
12 |     public var delegateQueue = OperationQueue()
13 |
   :
37 |     public func resumeAfter(deadline: DispatchTime) {
38 |         self.queue.asyncAfter(deadline: deadline) {
39 |             self.resume()
   |             `- warning: capture of 'self' with non-sendable type 'MockSessionTask' in a '@Sendable' closure
40 |         }
41 |     }
[19/24] Compiling URLScission MockStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/MockSessionTask.swift:39:13: warning: capture of 'self' with non-sendable type 'MockSessionTask' in a '@Sendable' closure
 9 | import Foundation
10 |
11 | public final class MockSessionTask: SessionDataTask {
   |                    `- note: class 'MockSessionTask' does not conform to the 'Sendable' protocol
12 |     public var delegateQueue = OperationQueue()
13 |
   :
37 |     public func resumeAfter(deadline: DispatchTime) {
38 |         self.queue.asyncAfter(deadline: deadline) {
39 |             self.resume()
   |             `- warning: capture of 'self' with non-sendable type 'MockSessionTask' in a '@Sendable' closure
40 |         }
41 |     }
[20/24] Compiling URLScission MockClient.swift
[21/24] Compiling URLScission MockParser.swift
[22/24] Compiling URLScission URLSessionInterceptors.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:16:13: warning: 'Sendable' class 'EngineURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
 14 | /// Engine-driven URLProtocol. Inserted into a session configuration's
 15 | /// `protocolClasses` by the interceptors below.
 16 | final class EngineURLProtocol: URLProtocol, URLSessionDataDelegate {
    |             `- warning: 'Sendable' class 'EngineURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
 17 |
 18 |     static let handledKey = "URLScissionHandled"
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:20:17: warning: stored property 'realSession' of 'Sendable'-conforming class 'EngineURLProtocol' is mutable; this is an error in the Swift 6 language mode
 18 |     static let handledKey = "URLScissionHandled"
 19 |
 20 |     private var realSession: URLSession?
    |                 `- warning: stored property 'realSession' of 'Sendable'-conforming class 'EngineURLProtocol' is mutable; this is an error in the Swift 6 language mode
 21 |     private var realTask: URLSessionDataTask?
 22 |     private var collected = Data()
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:218:24: warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
216 |     public let capabilities: InterceptorCapability = .full
217 |
218 |     private static var installed = false
    |                        |- warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'installed' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'installed' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
219 |
220 |     public func install(engine: InterceptionEngine) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:239:24: warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
237 |     public let capabilities: InterceptorCapability = .full
238 |
239 |     private static var installed = false
    |                        |- warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'installed' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'installed' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
240 |
241 |     public func install(engine: InterceptionEngine) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:26:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | extension OSLog {
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
   |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |     private static var networkIdentifer = "network"
28 |     private static var mockIdentier = "mock"
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:27:24: warning: static property 'networkIdentifer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | extension OSLog {
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
27 |     private static var networkIdentifer = "network"
   |                        |- warning: static property 'networkIdentifer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'networkIdentifer' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'networkIdentifer' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |     private static var mockIdentier = "mock"
29 |
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:28:24: warning: static property 'mockIdentier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
27 |     private static var networkIdentifer = "network"
28 |     private static var mockIdentier = "mock"
   |                        |- warning: static property 'mockIdentier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'mockIdentier' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'mockIdentier' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     /// Logs the network call.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:34:16: warning: static property 'mock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 |
33 |     /// Logs the mock call.
34 |     static var mock: OSLog = OSLog(subsystem: subsystem, category: mockIdentier)
   |                |- warning: static property 'mock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'mock' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'mock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | }
[23/24] Compiling URLScission Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:16:13: warning: 'Sendable' class 'EngineURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
 14 | /// Engine-driven URLProtocol. Inserted into a session configuration's
 15 | /// `protocolClasses` by the interceptors below.
 16 | final class EngineURLProtocol: URLProtocol, URLSessionDataDelegate {
    |             `- warning: 'Sendable' class 'EngineURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
 17 |
 18 |     static let handledKey = "URLScissionHandled"
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:20:17: warning: stored property 'realSession' of 'Sendable'-conforming class 'EngineURLProtocol' is mutable; this is an error in the Swift 6 language mode
 18 |     static let handledKey = "URLScissionHandled"
 19 |
 20 |     private var realSession: URLSession?
    |                 `- warning: stored property 'realSession' of 'Sendable'-conforming class 'EngineURLProtocol' is mutable; this is an error in the Swift 6 language mode
 21 |     private var realTask: URLSessionDataTask?
 22 |     private var collected = Data()
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:218:24: warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
216 |     public let capabilities: InterceptorCapability = .full
217 |
218 |     private static var installed = false
    |                        |- warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'installed' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'installed' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
219 |
220 |     public func install(engine: InterceptionEngine) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Interception/URLSessionInterceptors.swift:239:24: warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
237 |     public let capabilities: InterceptorCapability = .full
238 |
239 |     private static var installed = false
    |                        |- warning: static property 'installed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'installed' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'installed' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
240 |
241 |     public func install(engine: InterceptionEngine) {
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:26:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | extension OSLog {
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
   |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |     private static var networkIdentifer = "network"
28 |     private static var mockIdentier = "mock"
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:27:24: warning: static property 'networkIdentifer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | extension OSLog {
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
27 |     private static var networkIdentifer = "network"
   |                        |- warning: static property 'networkIdentifer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'networkIdentifer' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'networkIdentifer' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |     private static var mockIdentier = "mock"
29 |
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:28:24: warning: static property 'mockIdentier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |     private static var subsystem = Bundle.main.bundleIdentifier!
27 |     private static var networkIdentifer = "network"
28 |     private static var mockIdentier = "mock"
   |                        |- warning: static property 'mockIdentier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'mockIdentier' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'mockIdentier' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     /// Logs the network call.
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/Logger.swift:34:16: warning: static property 'mock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 |
33 |     /// Logs the mock call.
34 |     static var mock: OSLog = OSLog(subsystem: subsystem, category: mockIdentier)
   |                |- warning: static property 'mock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'mock' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'mock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | }
[24/24] Compiling URLScission URLSessionClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/URLSessionClient.swift:33:87: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 30 |
 31 | extension URLSession: SessionClient {
 32 |     public func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> SessionDataTask {
    |                                                    `- note: parameter 'completionHandler' is implicitly non-sendable
 33 |         let res: URLSessionDataTask = self.dataTask(with: request, completionHandler: completionHandler)
    |                                                                                       `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 34 |         return res as SessionDataTask
 35 |     }
/Users/admin/builder/spi-builder-workspace/Sources/URLScission/URLSessionClient.swift:26:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 24 |     public func resumeAfter(deadline: DispatchTime) {
 25 |         DispatchQueue.main.asyncAfter(deadline: deadline) {
 26 |             self.resume()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 27 |         }
 28 |     }
[25/29] Compiling URLScissionInject MSHookFunctionHooker.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/MSHookFunctionHooker.swift:18:13: warning: let 'rtldDefault' is not concurrency-safe because non-'Sendable' type 'UnsafeMutableRawPointer?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// RTLD_DEFAULT — search every loaded image.
18 | private let rtldDefault = UnsafeMutableRawPointer(bitPattern: -2)
   |             |- warning: let 'rtldDefault' is not concurrency-safe because non-'Sendable' type 'UnsafeMutableRawPointer?' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'rtldDefault' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | public final class MSHookFunctionHooker: FunctionHooker {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[26/29] Compiling URLScissionInject URLScissionInject.swift
[27/29] Compiling URLScissionInject DaemonRuleSource.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/DaemonRuleSource.swift:52:30: warning: capture of 'self' with non-sendable type 'DaemonRuleSource?' in a '@Sendable' closure
 17 | #endif
 18 |
 19 | public final class DaemonRuleSource: RuleSource {
    |                    `- note: class 'DaemonRuleSource' does not conform to the 'Sendable' protocol
 20 |
 21 |     private let store = RuleStore()
    :
 50 |     private func fetch() {
 51 |         queue.async { [weak self] in
 52 |             guard let self = self, let data = self.request(), !data.isEmpty else {
    |                              `- warning: capture of 'self' with non-sendable type 'DaemonRuleSource?' in a '@Sendable' closure
 53 |                 #if URLSCISSION_SINK_DEBUG
 54 |                 NSLog("[rules] fetch: no data from :%d", Int(self?.port ?? 0))
[28/29] Emitting module URLScissionInject
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/MSHookFunctionHooker.swift:18:13: warning: let 'rtldDefault' is not concurrency-safe because non-'Sendable' type 'UnsafeMutableRawPointer?' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// RTLD_DEFAULT — search every loaded image.
18 | private let rtldDefault = UnsafeMutableRawPointer(bitPattern: -2)
   |             |- warning: let 'rtldDefault' is not concurrency-safe because non-'Sendable' type 'UnsafeMutableRawPointer?' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'rtldDefault' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | public final class MSHookFunctionHooker: FunctionHooker {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[29/29] Compiling URLScissionInject DaemonLogSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/DaemonLogSink.swift:83:22: warning: capture of 'self' with non-sendable type 'DaemonLogSink' in a '@Sendable' closure
 21 | #endif
 22 |
 23 | public final class DaemonLogSink: InterceptionLogSink {
    |                    `- note: class 'DaemonLogSink' does not conform to the 'Sendable' protocol
 24 |
 25 |     private let host: String
    :
 81 |         data.append(0x0a)
 82 |         queue.async { [self] in
 83 |             var ok = writeAll(data)
    |                      `- warning: capture of 'self' with non-sendable type 'DaemonLogSink' in a '@Sendable' closure
 84 |             if !ok {                        // reconnect + retry once
 85 |                 disconnect()
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/DaemonLogSink.swift:83:31: warning: reference to captured var 'data' in concurrently-executing code
 81 |         data.append(0x0a)
 82 |         queue.async { [self] in
 83 |             var ok = writeAll(data)
    |                               `- warning: reference to captured var 'data' in concurrently-executing code
 84 |             if !ok {                        // reconnect + retry once
 85 |                 disconnect()
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/DaemonLogSink.swift:86:43: warning: implicit capture of 'self' requires that 'DaemonLogSink' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 21 | #endif
 22 |
 23 | public final class DaemonLogSink: InterceptionLogSink {
    |                    `- note: class 'DaemonLogSink' does not conform to the 'Sendable' protocol
 24 |
 25 |     private let host: String
    :
 84 |             if !ok {                        // reconnect + retry once
 85 |                 disconnect()
 86 |                 ok = connectIfNeeded() && writeAll(data)
    |                                           `- warning: implicit capture of 'self' requires that 'DaemonLogSink' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 87 |             }
 88 |             #if URLSCISSION_SINK_DEBUG
/Users/admin/builder/spi-builder-workspace/Sources/URLScissionInject/DaemonLogSink.swift:86:52: warning: reference to captured var 'data' in concurrently-executing code; this is an error in the Swift 6 language mode
 84 |             if !ok {                        // reconnect + retry once
 85 |                 disconnect()
 86 |                 ok = connectIfNeeded() && writeAll(data)
    |                                                    `- warning: reference to captured var 'data' in concurrently-executing code; this is an error in the Swift 6 language mode
 87 |             }
 88 |             #if URLSCISSION_SINK_DEBUG
Build complete! (5.25s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "URLScission",
  "name" : "URLScission",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "4.0"
    }
  ],
  "products" : [
    {
      "name" : "URLScission",
      "targets" : [
        "URLScission"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "URLScissionInject",
      "targets" : [
        "URLScissionInject"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "URLScissionTests",
      "module_type" : "SwiftTarget",
      "name" : "URLScissionTests",
      "path" : "Tests/URLScissionTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/URLScissionTests/test.mock",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "InterceptionEngineTests.swift",
        "RestServiceNetwork.swift",
        "RuleConfigTests.swift",
        "URLScissionTests.swift"
      ],
      "target_dependencies" : [
        "URLScission"
      ],
      "type" : "test"
    },
    {
      "c99name" : "URLScissionInject",
      "module_type" : "SwiftTarget",
      "name" : "URLScissionInject",
      "path" : "Sources/URLScissionInject",
      "product_memberships" : [
        "URLScissionInject"
      ],
      "sources" : [
        "DaemonLogSink.swift",
        "DaemonRuleSource.swift",
        "MSHookFunctionHooker.swift",
        "URLScissionInject.swift"
      ],
      "target_dependencies" : [
        "URLScission",
        "URLScissionCHooks"
      ],
      "type" : "library"
    },
    {
      "c99name" : "URLScissionCHooks",
      "module_type" : "ClangTarget",
      "name" : "URLScissionCHooks",
      "path" : "Sources/URLScissionCHooks",
      "product_memberships" : [
        "URLScissionInject"
      ],
      "sources" : [
        "chooks.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "URLScission",
      "module_type" : "SwiftTarget",
      "name" : "URLScission",
      "path" : "Sources/URLScission",
      "product_memberships" : [
        "URLScission",
        "URLScissionInject"
      ],
      "sources" : [
        "Abstractions/FunctionHooker.swift",
        "Abstractions/RuleSource.swift",
        "DataMock.swift",
        "Interception/InterceptionEngine.swift",
        "Interception/Interceptor.swift",
        "Interception/RuleConfig.swift",
        "Interception/RuleStore.swift",
        "Interception/URLScission+Engine.swift",
        "Interception/URLSessionInterceptors.swift",
        "Logger.swift",
        "Mock.swift",
        "MockAction.swift",
        "MockClient.swift",
        "MockParser.swift",
        "MockSession.swift",
        "MockSessionError.swift",
        "MockSessionTask.swift",
        "MockStorage.swift",
        "URLSessionClient.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.