The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Necessary, reference main (6a8e27), with Swift 6.2 for macOS (SPM) on 2 Nov 2026 23:14:15 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/merajhasan88/necessary_swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/merajhasan88/necessary_swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 6a8e275 Necessary for iOS 0.1.5
Cloned https://github.com/merajhasan88/necessary_swift.git
Revision (git rev-parse @):
6a8e275b0cfba2cf67037fb4e34fb76669ce42ea
SUCCESS checkout https://github.com/merajhasan88/necessary_swift.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/merajhasan88/necessary_swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[1/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version--3CB7CFEC50E0D141.txt
[4/22] Compiling Necessary ProtocolSteps.swift
[5/22] Compiling Necessary ReinstallHint.swift
[6/22] Compiling Necessary IntegrityProbeManager.swift
[7/22] Compiling Necessary JSON.swift
[8/22] Compiling Necessary SecureScreen.swift
[9/22] Compiling Necessary StepUpKey.swift
[10/22] Compiling Necessary Report.swift
[11/22] Compiling Necessary RequestProof.swift
[12/22] Compiling Necessary InstallationKeyManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:25:43: error: 'Task' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 23 |     static let stepUpReenrolKey = "recognition.stepup_reenrol_pending.v1"
 24 |
 25 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 26 |
 27 |     /// `key` and `storage` replace the native ones in tests.
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:38:66: error: 'value' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
    |                                                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                  `- note: add 'if #available' version check
 39 |         let id = UUID()
 40 |         let task = Task<InstallationIdentity, Error> { @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:40:20: error: 'Task' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
 39 |         let id = UUID()
 40 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
 41 |             defer { if self.loading?.id == id { self.loading = nil } }
 42 |             return try await self.loadOrCreateOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:40:52: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
 39 |         let id = UUID()
 40 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                                                    |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                                    `- note: add 'if #available' version check
 41 |             defer { if self.loading?.id == id { self.loading = nil } }
 42 |             return try await self.loadOrCreateOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:45:31: error: 'value' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
 39 |         let id = UUID()
    :
 43 |         }
 44 |         loading = (id, task)
 45 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
 46 |     }
 47 |
[13/22] Compiling Necessary InstallationStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:25:43: error: 'Task' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 23 |     static let stepUpReenrolKey = "recognition.stepup_reenrol_pending.v1"
 24 |
 25 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 26 |
 27 |     /// `key` and `storage` replace the native ones in tests.
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:38:66: error: 'value' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
    |                                                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                  `- note: add 'if #available' version check
 39 |         let id = UUID()
 40 |         let task = Task<InstallationIdentity, Error> { @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:40:20: error: 'Task' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
 39 |         let id = UUID()
 40 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
 41 |             defer { if self.loading?.id == id { self.loading = nil } }
 42 |             return try await self.loadOrCreateOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:40:52: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
 39 |         let id = UUID()
 40 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                                                    |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                                    `- note: add 'if #available' version check
 41 |             defer { if self.loading?.id == id { self.loading = nil } }
 42 |             return try await self.loadOrCreateOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:45:31: error: 'value' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 35 |     /// one was stored: that ID belongs to the key that was lost, and a backend refuses a known ID under
 36 |     /// another key. Calls at once share one load, so that one key never gets two IDs.
 37 |     open func loadOrCreate() async throws -> InstallationIdentity {
    |               `- note: add '@available' attribute to enclosing instance method
 38 |         if let running = loading { return try await running.task.value }
 39 |         let id = UUID()
    :
 43 |         }
 44 |         loading = (id, task)
 45 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
 46 |     }
 47 |
[14/22] Compiling Necessary NativeWorker.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift:12:19: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 4 | /// time on one serial queue, off the main thread -- while a step-up prompt is open, the calls behind
 5 | /// it wait. UIKit and Core Location are read on the main thread, which never waits for this queue.
 6 | enum NativeWorker {
   |      `- note: add '@available' attribute to enclosing enum
 7 |     static let queue = DispatchQueue(label: "com.necessarysdk.native", qos: .userInitiated)
 8 |
 9 |     /// Runs `work` on the queue; a native failure comes back as the `NativeKeyError` it names, with
10 |     /// its code untouched.
11 |     static func run<T>(_ work: @escaping @Sendable () throws -> T) async throws -> T {
   |                 `- note: add '@available' attribute to enclosing static method
12 |         try await withCheckedThrowingContinuation { continuation in
   |                   |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
   |                   `- note: add 'if #available' version check
13 |             queue.async {
14 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift:12:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift:12:51: note: expanded code originates here
 4 | /// time on one serial queue, off the main thread -- while a step-up prompt is open, the calls behind
 5 | /// it wait. UIKit and Core Location are read on the main thread, which never waits for this queue.
 6 | enum NativeWorker {
   |      `- note: add '@available' attribute to enclosing enum
 7 |     static let queue = DispatchQueue(label: "com.necessarysdk.native", qos: .userInitiated)
 8 |
 9 |     /// Runs `work` on the queue; a native failure comes back as the `NativeKeyError` it names, with
10 |     /// its code untouched.
11 |     static func run<T>(_ work: @escaping @Sendable () throws -> T) async throws -> T {
   |                 `- note: add '@available' attribute to enclosing static method
12 |         try await withCheckedThrowingContinuation { continuation in
   +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift
   |10 |
   |11 |
   |12 |                                                   #isolation
   |   |                                                    `- error: 'isolation()' is only available in macOS 10.15 or newer
   +------------------------------------------------------------------------------------
13 |             queue.async {
14 |                 do {
[15/22] Compiling Necessary ProbeReads.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift:12:19: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 4 | /// time on one serial queue, off the main thread -- while a step-up prompt is open, the calls behind
 5 | /// it wait. UIKit and Core Location are read on the main thread, which never waits for this queue.
 6 | enum NativeWorker {
   |      `- note: add '@available' attribute to enclosing enum
 7 |     static let queue = DispatchQueue(label: "com.necessarysdk.native", qos: .userInitiated)
 8 |
 9 |     /// Runs `work` on the queue; a native failure comes back as the `NativeKeyError` it names, with
10 |     /// its code untouched.
11 |     static func run<T>(_ work: @escaping @Sendable () throws -> T) async throws -> T {
   |                 `- note: add '@available' attribute to enclosing static method
12 |         try await withCheckedThrowingContinuation { continuation in
   |                   |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
   |                   `- note: add 'if #available' version check
13 |             queue.async {
14 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift:12:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift:12:51: note: expanded code originates here
 4 | /// time on one serial queue, off the main thread -- while a step-up prompt is open, the calls behind
 5 | /// it wait. UIKit and Core Location are read on the main thread, which never waits for this queue.
 6 | enum NativeWorker {
   |      `- note: add '@available' attribute to enclosing enum
 7 |     static let queue = DispatchQueue(label: "com.necessarysdk.native", qos: .userInitiated)
 8 |
 9 |     /// Runs `work` on the queue; a native failure comes back as the `NativeKeyError` it names, with
10 |     /// its code untouched.
11 |     static func run<T>(_ work: @escaping @Sendable () throws -> T) async throws -> T {
   |                 `- note: add '@available' attribute to enclosing static method
12 |         try await withCheckedThrowingContinuation { continuation in
   +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/NativeWorker.swift
   |10 |
   |11 |
   |12 |                                                   #isolation
   |   |                                                    `- error: 'isolation()' is only available in macOS 10.15 or newer
   +------------------------------------------------------------------------------------
13 |             queue.async {
14 |                 do {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[16/24] Compiling Necessary Errors.swift
[17/24] Compiling Necessary InstallationKey.swift
[18/24] Compiling Necessary Client.swift
[19/24] Compiling Necessary Collector.swift
[20/24] Emitting module Necessary
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:81:43: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 79 |
 80 |     // One call of each kind in flight; a second waits for the first's result.
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:82:44: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 80 |     // One call of each kind in flight; a second waits for the first's result.
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                            `- error: 'Task' is only available in macOS 10.15 or newer
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:83:43: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
 85 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:84:53: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
    |                                                     `- error: 'Task' is only available in macOS 10.15 or newer
 85 |
 86 |     // Which installation the calls running now belong to: reset() and close() move on to the next,
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:91:28: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 89 |     // A reset's deletion, which every later load waits for; and the installation ID being saved and a
 90 |     // re-enrolment, which a reset waits for.
 91 |     private var resetting: Task<Void, Never>?
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 92 |     private var saving: Task<Void, Error>?
 93 |     private var reenrolling: Task<Void, Never>?
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:92:25: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 90 |     // re-enrolment, which a reset waits for.
 91 |     private var resetting: Task<Void, Never>?
 92 |     private var saving: Task<Void, Error>?
    |                         `- error: 'Task' is only available in macOS 10.15 or newer
 93 |     private var reenrolling: Task<Void, Never>?
 94 |     // The persistent writes and key changes running now (mutate): a reset waits for each before it
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:93:30: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 91 |     private var resetting: Task<Void, Never>?
 92 |     private var saving: Task<Void, Error>?
 93 |     private var reenrolling: Task<Void, Never>?
    |                              `- error: 'Task' is only available in macOS 10.15 or newer
 94 |     // The persistent writes and key changes running now (mutate): a reset waits for each before it
 95 |     // deletes, so none outlives the deletion.
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/InstallationStore.swift:25:43: error: 'Task' is only available in macOS 10.15 or newer
 16 | /// on iOS in the Keychain, on this device only, readable after the first unlock, never synchronized.
 17 | @MainActor
 18 | open class InstallationStore {
    |            `- note: add '@available' attribute to enclosing class
 19 |     public let key: InstallationKeyProvider
 20 |     public let storage: SecureStorage
    :
 23 |     static let stepUpReenrolKey = "recognition.stepup_reenrol_pending.v1"
 24 |
 25 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 26 |
 27 |     /// `key` and `storage` replace the native ones in tests.
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:26: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
    |                          |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
139 |                 let task = session.dataTask(with: request) { data, response, error in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:23: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    |                       |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:72: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    |                                                                        |- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
    |                                                                        `- note: add 'if #available' version check
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:55: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |136 |
    |137 |
    |138 |                                                       #isolation
    |    |                                                        `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:55: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:54: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |135 |
    |136 |
    |137 |                                                      #isolation
    |    |                                                       `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
139 |                 let task = session.dataTask(with: request) { data, response, error in
[21/24] Compiling Necessary DeviceTrust.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:81:43: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 79 |
 80 |     // One call of each kind in flight; a second waits for the first's result.
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:82:44: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 80 |     // One call of each kind in flight; a second waits for the first's result.
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                            `- error: 'Task' is only available in macOS 10.15 or newer
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:83:43: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
 85 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:84:53: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
    |                                                     `- error: 'Task' is only available in macOS 10.15 or newer
 85 |
 86 |     // Which installation the calls running now belong to: reset() and close() move on to the next,
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:91:28: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 89 |     // A reset's deletion, which every later load waits for; and the installation ID being saved and a
 90 |     // re-enrolment, which a reset waits for.
 91 |     private var resetting: Task<Void, Never>?
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 92 |     private var saving: Task<Void, Error>?
 93 |     private var reenrolling: Task<Void, Never>?
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:92:25: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 90 |     // re-enrolment, which a reset waits for.
 91 |     private var resetting: Task<Void, Never>?
 92 |     private var saving: Task<Void, Error>?
    |                         `- error: 'Task' is only available in macOS 10.15 or newer
 93 |     private var reenrolling: Task<Void, Never>?
 94 |     // The persistent writes and key changes running now (mutate): a reset waits for each before it
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:93:30: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 91 |     private var resetting: Task<Void, Never>?
 92 |     private var saving: Task<Void, Error>?
 93 |     private var reenrolling: Task<Void, Never>?
    |                              `- error: 'Task' is only available in macOS 10.15 or newer
 94 |     // The persistent writes and key changes running now (mutate): a reset waits for each before it
 95 |     // deletes, so none outlives the deletion.
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:153:66: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
    |                                                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                  `- note: add 'if #available' version check
154 |         let id = UUID()
155 |         let task = Task<InstallationIdentity, Error> { @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:155:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
154 |         let id = UUID()
155 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
156 |             defer { if self.loading?.id == id { self.loading = nil } }
157 |             return try await self.load()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:155:52: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
154 |         let id = UUID()
155 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                                                    |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                                    `- note: add 'if #available' version check
156 |             defer { if self.loading?.id == id { self.loading = nil } }
157 |             return try await self.load()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:160:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
    :
158 |         }
159 |         loading = (id, task)
160 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
161 |     }
162 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:165:26: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
161 |     }
162 |
163 |     private func load() async throws -> InstallationIdentity {
    |                  `- note: add '@available' attribute to enclosing instance method
164 |         // A reset's deletion first, so that nothing loads the key it deletes.
165 |         await resetting?.value
    |                          |- error: 'value' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
166 |         let generation = self.generation
167 |         let loaded = try await store.loadOrCreate()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:182:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
182 |         let task = Task<T, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
183 |             defer { self.mutations[id] = nil }
184 |             return try await change()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:182:33: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
182 |         let task = Task<T, Error> { @MainActor in
    |                                 |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
183 |             defer { self.mutations[id] = nil }
184 |             return try await change()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:186:42: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
    :
184 |             return try await change()
185 |         }
186 |         mutations[id] = { _ = await task.result }
    |                                          |- error: 'result' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
187 |         return try await task.value
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:187:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
    :
185 |         }
186 |         mutations[id] = { _ = await task.result }
187 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
188 |     }
189 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:204:67: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
    |                                                                   |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                   `- note: add 'if #available' version check
205 |         let id = UUID()
206 |         let task = Task<InstallationIdentity, Error> { @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:206:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
205 |         let id = UUID()
206 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
207 |             defer { if self.starting?.id == id { self.starting = nil } }
208 |             return try await self.startOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:206:52: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
205 |         let id = UUID()
206 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                                                    |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                                    `- note: add 'if #available' version check
207 |             defer { if self.starting?.id == id { self.starting = nil } }
208 |             return try await self.startOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:211:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
205 |         let id = UUID()
    :
209 |         }
210 |         starting = (id, task)
211 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
212 |     }
213 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:227:66: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
    |                                                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                  `- note: add 'if #available' version check
228 |         let id = UUID()
229 |         let generation = self.generation
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:230:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
228 |         let id = UUID()
229 |         let generation = self.generation
230 |         let task = Task<String, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
231 |             defer { if self.proving?.id == id { self.proving = nil } }
232 |             return try await self.proveOnce(generation, retried: false)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:230:38: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
228 |         let id = UUID()
229 |         let generation = self.generation
230 |         let task = Task<String, Error> { @MainActor in
    |                                      |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
231 |             defer { if self.proving?.id == id { self.proving = nil } }
232 |             return try await self.proveOnce(generation, retried: false)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:235:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
228 |         let id = UUID()
    :
233 |         }
234 |         proving = (id, task)
235 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
236 |     }
237 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:254:24: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
252 |         let store = self.store
253 |         let stepUpKey = self.stepUpKeyProvider
254 |         let deleting = Task<Void, Error> { @MainActor in
    |                        |- error: 'Task' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
255 |             await earlier?.value
256 |             // A load or a save still running finishes first, so that nothing it writes outlives the
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:254:40: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
252 |         let store = self.store
253 |         let stepUpKey = self.stepUpKeyProvider
254 |         let deleting = Task<Void, Error> { @MainActor in
    |                                        |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
255 |             await earlier?.value
256 |             // A load or a save still running finishes first, so that nothing it writes outlives the
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:255:28: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
253 |         let stepUpKey = self.stepUpKeyProvider
254 |         let deleting = Task<Void, Error> { @MainActor in
255 |             await earlier?.value
    |                            |- error: 'value' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
256 |             // A load or a save still running finishes first, so that nothing it writes outlives the
257 |             // deletion. So does a re-enrolment: its key, which a backend may already have taken, is
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:260:32: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
258 |             // deleted after it, and the marker it writes is cleared. So does every write and key change
259 |             // still running (mutate): the step-up marker, a step-up key being made.
260 |             _ = await loading?.result
    |                                |- error: 'result' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
261 |             _ = await saving?.result
262 |             await reenrolling?.value
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:261:31: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
259 |             // still running (mutate): the step-up marker, a step-up key being made.
260 |             _ = await loading?.result
261 |             _ = await saving?.result
    |                               |- error: 'result' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
262 |             await reenrolling?.value
263 |             for change in changing { await change() }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:262:32: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
260 |             _ = await loading?.result
261 |             _ = await saving?.result
262 |             await reenrolling?.value
    |                                |- error: 'value' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
263 |             for change in changing { await change() }
264 |             try await store.clear()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:281:21: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
279 |         }
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
    |                     |- error: 'Task' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
282 |         try await deleting.value
283 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:281:21: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
279 |         }
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
    |                     |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
282 |         try await deleting.value
283 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:281:47: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
279 |         }
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
    |                                               |- error: 'result' is only available in macOS 10.15 or newer
    |                                               `- note: add 'if #available' version check
282 |         try await deleting.value
283 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:282:28: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
282 |         try await deleting.value
    |                            |- error: 'value' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
283 |     }
284 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:348:26: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
329 |     }
330 |
331 |     private func register(_ generation: Int) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
332 |         let identity = try await loadIdentity()
333 |         try current(generation)
    :
346 |             currentIdentity = identity.withInstallationId(held)
347 |             let store = self.store
348 |             let saving = Task<Void, Error> { @MainActor in try await store.saveInstallationId(held) }
    |                          |- error: 'Task' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
349 |             self.saving = saving
350 |             try await saving.value
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:348:42: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
329 |     }
330 |
331 |     private func register(_ generation: Int) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
332 |         let identity = try await loadIdentity()
333 |         try current(generation)
    :
346 |             currentIdentity = identity.withInstallationId(held)
347 |             let store = self.store
348 |             let saving = Task<Void, Error> { @MainActor in try await store.saveInstallationId(held) }
    |                                          |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
349 |             self.saving = saving
350 |             try await saving.value
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:350:30: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
329 |     }
330 |
331 |     private func register(_ generation: Int) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
332 |         let identity = try await loadIdentity()
333 |         try current(generation)
    :
348 |             let saving = Task<Void, Error> { @MainActor in try await store.saveInstallationId(held) }
349 |             self.saving = saving
350 |             try await saving.value
    |                              |- error: 'value' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
351 |         }
352 |         try await settleStepUpKey(answer, offered, generation)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:446:73: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
444 |             JSONValue(enabled),
445 |         ]).encodedJSON
446 |         if let running = scanning[kind] { return try await running.task.value }
    |                                                                         |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                         `- note: add 'if #available' version check
447 |         let id = UUID()
448 |         let generation = self.generation
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:449:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
447 |         let id = UUID()
448 |         let generation = self.generation
449 |         let task = Task<ScanResult, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
450 |             defer { if self.scanning[kind]?.id == id { self.scanning[kind] = nil } }
451 |             return try await self.scanWithProtocol(generation, session, operation, enabled)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:449:42: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
447 |         let id = UUID()
448 |         let generation = self.generation
449 |         let task = Task<ScanResult, Error> { @MainActor in
    |                                          |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
450 |             defer { if self.scanning[kind]?.id == id { self.scanning[kind] = nil } }
451 |             return try await self.scanWithProtocol(generation, session, operation, enabled)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:454:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
452 |         }
453 |         scanning[kind] = (id, task)
454 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
455 |     }
456 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:562:23: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    |                       |- error: 'Task' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
563 |             try await self.reenrolStepUpOnce(session, reauthentication, reason)
564 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:562:45: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    |                                             |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                             `- note: add 'if #available' version check
563 |             try await self.reenrolStepUpOnce(session, reauthentication, reason)
564 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:566:23: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
564 |         }
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
    |                       |- error: 'Task' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
567 |         return try await running.value
568 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:566:23: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
564 |         }
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
    |                       |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
567 |         return try await running.value
568 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:566:48: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
564 |         }
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
    |                                                |- error: 'result' is only available in macOS 10.15 or newer
    |                                                `- note: add 'if #available' version check
567 |         return try await running.value
568 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:567:34: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
567 |         return try await running.value
    |                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                  `- note: add 'if #available' version check
568 |     }
569 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:682:19: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
679 |     }
680 |
681 |     private func sleep(_ seconds: TimeInterval) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
682 |         try await Task.sleep(nanoseconds: UInt64(seconds * 1_000_000_000))
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
683 |     }
684 | }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:682:24: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
679 |     }
680 |
681 |     private func sleep(_ seconds: TimeInterval) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
682 |         try await Task.sleep(nanoseconds: UInt64(seconds * 1_000_000_000))
    |                        |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
683 |     }
684 | }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Encoding.swift:37:5: error: 'SHA256' is only available in macOS 10.15 or newer
 34 | }
 35 |
 36 | func sha256Hex(_ data: Data) -> String {
    |      `- note: add '@available' attribute to enclosing global function
 37 |     SHA256.hash(data: data).map { byte in
    |     |- error: 'SHA256' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
 38 |         let hex = String(byte, radix: 16)
 39 |         return hex.count == 1 ? "0" + hex : hex
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Encoding.swift:37:12: error: 'hash(data:)' is only available in macOS 10.15 or newer
 34 | }
 35 |
 36 | func sha256Hex(_ data: Data) -> String {
    |      `- note: add '@available' attribute to enclosing global function
 37 |     SHA256.hash(data: data).map { byte in
    |            |- error: 'hash(data:)' is only available in macOS 10.15 or newer
    |            `- note: add 'if #available' version check
 38 |         let hex = String(byte, radix: 16)
 39 |         return hex.count == 1 ? "0" + hex : hex
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Encoding.swift:37:29: warning: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
 34 | }
 35 |
 36 | func sha256Hex(_ data: Data) -> String {
    |      `- note: add '@available' attribute to enclosing global function
 37 |     SHA256.hash(data: data).map { byte in
    |                             |- warning: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
    |                             `- note: add 'if #available' version check
 38 |         let hex = String(byte, radix: 16)
 39 |         return hex.count == 1 ? "0" + hex : hex
[22/24] Compiling Necessary Encoding.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:81:43: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 79 |
 80 |     // One call of each kind in flight; a second waits for the first's result.
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:82:44: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 80 |     // One call of each kind in flight; a second waits for the first's result.
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
    |                                            `- error: 'Task' is only available in macOS 10.15 or newer
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:83:43: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 81 |     private var loading: (id: UUID, task: Task<InstallationIdentity, Error>)?
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
    |                                           `- error: 'Task' is only available in macOS 10.15 or newer
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
 85 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:84:53: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 82 |     private var starting: (id: UUID, task: Task<InstallationIdentity, Error>)?
 83 |     private var proving: (id: UUID, task: Task<String, Error>)?
 84 |     private var scanning: [String: (id: UUID, task: Task<ScanResult, Error>)] = [:]
    |                                                     `- error: 'Task' is only available in macOS 10.15 or newer
 85 |
 86 |     // Which installation the calls running now belong to: reset() and close() move on to the next,
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:91:28: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 89 |     // A reset's deletion, which every later load waits for; and the installation ID being saved and a
 90 |     // re-enrolment, which a reset waits for.
 91 |     private var resetting: Task<Void, Never>?
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 92 |     private var saving: Task<Void, Error>?
 93 |     private var reenrolling: Task<Void, Never>?
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:92:25: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 90 |     // re-enrolment, which a reset waits for.
 91 |     private var resetting: Task<Void, Never>?
 92 |     private var saving: Task<Void, Error>?
    |                         `- error: 'Task' is only available in macOS 10.15 or newer
 93 |     private var reenrolling: Task<Void, Never>?
 94 |     // The persistent writes and key changes running now (mutate): a reset waits for each before it
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:93:30: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
 91 |     private var resetting: Task<Void, Never>?
 92 |     private var saving: Task<Void, Error>?
 93 |     private var reenrolling: Task<Void, Never>?
    |                              `- error: 'Task' is only available in macOS 10.15 or newer
 94 |     // The persistent writes and key changes running now (mutate): a reset waits for each before it
 95 |     // deletes, so none outlives the deletion.
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:153:66: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
    |                                                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                  `- note: add 'if #available' version check
154 |         let id = UUID()
155 |         let task = Task<InstallationIdentity, Error> { @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:155:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
154 |         let id = UUID()
155 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
156 |             defer { if self.loading?.id == id { self.loading = nil } }
157 |             return try await self.load()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:155:52: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
154 |         let id = UUID()
155 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                                                    |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                                    `- note: add 'if #available' version check
156 |             defer { if self.loading?.id == id { self.loading = nil } }
157 |             return try await self.load()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:160:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
149 |     /// (`InstallationIdentity.createdThisLaunch`): whatever the app kept for the one before belongs to
150 |     /// that one. Calls at once share one load, so one key gets one ID.
151 |     public func loadIdentity() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
152 |         if let known = currentIdentity { return known }
153 |         if let running = loading { return try await running.task.value }
    :
158 |         }
159 |         loading = (id, task)
160 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
161 |     }
162 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:165:26: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
161 |     }
162 |
163 |     private func load() async throws -> InstallationIdentity {
    |                  `- note: add '@available' attribute to enclosing instance method
164 |         // A reset's deletion first, so that nothing loads the key it deletes.
165 |         await resetting?.value
    |                          |- error: 'value' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
166 |         let generation = self.generation
167 |         let loaded = try await store.loadOrCreate()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:182:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
182 |         let task = Task<T, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
183 |             defer { self.mutations[id] = nil }
184 |             return try await change()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:182:33: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
182 |         let task = Task<T, Error> { @MainActor in
    |                                 |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
183 |             defer { self.mutations[id] = nil }
184 |             return try await change()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:186:42: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
    :
184 |             return try await change()
185 |         }
186 |         mutations[id] = { _ = await task.result }
    |                                          |- error: 'result' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
187 |         return try await task.value
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:187:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
177 |     /// is called, so a write asked for after that throws here without writing; one asked for before is
178 |     /// in `mutations`, which the reset waits for before it deletes anything.
179 |     private func mutate<T>(_ generation: Int, _ change: @escaping () async throws -> T) async throws -> T {
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         try current(generation)
181 |         let id = UUID()
    :
185 |         }
186 |         mutations[id] = { _ = await task.result }
187 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
188 |     }
189 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:204:67: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
    |                                                                   |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                   `- note: add 'if #available' version check
205 |         let id = UUID()
206 |         let task = Task<InstallationIdentity, Error> { @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:206:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
205 |         let id = UUID()
206 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
207 |             defer { if self.starting?.id == id { self.starting = nil } }
208 |             return try await self.startOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:206:52: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
205 |         let id = UUID()
206 |         let task = Task<InstallationIdentity, Error> { @MainActor in
    |                                                    |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                                    `- note: add 'if #available' version check
207 |             defer { if self.starting?.id == id { self.starting = nil } }
208 |             return try await self.startOnce()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:211:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
201 |     /// errors goes to the app as it came. A second call while one runs gets its result.
202 |     @discardableResult
203 |     public func start() async throws -> InstallationIdentity {
    |                 `- note: add '@available' attribute to enclosing instance method
204 |         if let running = starting { return try await running.task.value }
205 |         let id = UUID()
    :
209 |         }
210 |         starting = (id, task)
211 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
212 |     }
213 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:227:66: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
    |                                                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                  `- note: add 'if #available' version check
228 |         let id = UUID()
229 |         let generation = self.generation
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:230:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
228 |         let id = UUID()
229 |         let generation = self.generation
230 |         let task = Task<String, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
231 |             defer { if self.proving?.id == id { self.proving = nil } }
232 |             return try await self.proveOnce(generation, retried: false)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:230:38: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
228 |         let id = UUID()
229 |         let generation = self.generation
230 |         let task = Task<String, Error> { @MainActor in
    |                                      |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
231 |             defer { if self.proving?.id == id { self.proving = nil } }
232 |             return try await self.proveOnce(generation, retried: false)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:235:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
224 |     /// its result.
225 |     @discardableResult
226 |     public func prove() async throws -> String {
    |                 `- note: add '@available' attribute to enclosing instance method
227 |         if let running = proving { return try await running.task.value }
228 |         let id = UUID()
    :
233 |         }
234 |         proving = (id, task)
235 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
236 |     }
237 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:254:24: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
252 |         let store = self.store
253 |         let stepUpKey = self.stepUpKeyProvider
254 |         let deleting = Task<Void, Error> { @MainActor in
    |                        |- error: 'Task' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
255 |             await earlier?.value
256 |             // A load or a save still running finishes first, so that nothing it writes outlives the
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:254:40: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
252 |         let store = self.store
253 |         let stepUpKey = self.stepUpKeyProvider
254 |         let deleting = Task<Void, Error> { @MainActor in
    |                                        |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
255 |             await earlier?.value
256 |             // A load or a save still running finishes first, so that nothing it writes outlives the
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:255:28: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
253 |         let stepUpKey = self.stepUpKeyProvider
254 |         let deleting = Task<Void, Error> { @MainActor in
255 |             await earlier?.value
    |                            |- error: 'value' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
256 |             // A load or a save still running finishes first, so that nothing it writes outlives the
257 |             // deletion. So does a re-enrolment: its key, which a backend may already have taken, is
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:260:32: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
258 |             // deleted after it, and the marker it writes is cleared. So does every write and key change
259 |             // still running (mutate): the step-up marker, a step-up key being made.
260 |             _ = await loading?.result
    |                                |- error: 'result' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
261 |             _ = await saving?.result
262 |             await reenrolling?.value
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:261:31: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
259 |             // still running (mutate): the step-up marker, a step-up key being made.
260 |             _ = await loading?.result
261 |             _ = await saving?.result
    |                               |- error: 'result' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
262 |             await reenrolling?.value
263 |             for change in changing { await change() }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:262:32: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
260 |             _ = await loading?.result
261 |             _ = await saving?.result
262 |             await reenrolling?.value
    |                                |- error: 'value' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
263 |             for change in changing { await change() }
264 |             try await store.clear()
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:281:21: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
279 |         }
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
    |                     |- error: 'Task' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
282 |         try await deleting.value
283 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:281:21: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
279 |         }
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
    |                     |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
282 |         try await deleting.value
283 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:281:47: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
279 |         }
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
    |                                               |- error: 'result' is only available in macOS 10.15 or newer
    |                                               `- note: add 'if #available' version check
282 |         try await deleting.value
283 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:282:28: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
240 |     /// with `InterruptedCallError` and keep nothing; calls made from now on wait for the deletion, and
241 |     /// never join one made before.
242 |     public func reset() async throws {
    |                 `- note: add '@available' attribute to enclosing instance method
243 |         let loading = self.loading?.task
244 |         let saving = self.saving
    :
280 |         // Later loads wait for the deletion, whatever came of it; the caller of reset hears what did.
281 |         resetting = Task { _ = await deleting.result }
282 |         try await deleting.value
    |                            |- error: 'value' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
283 |     }
284 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:348:26: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
329 |     }
330 |
331 |     private func register(_ generation: Int) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
332 |         let identity = try await loadIdentity()
333 |         try current(generation)
    :
346 |             currentIdentity = identity.withInstallationId(held)
347 |             let store = self.store
348 |             let saving = Task<Void, Error> { @MainActor in try await store.saveInstallationId(held) }
    |                          |- error: 'Task' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
349 |             self.saving = saving
350 |             try await saving.value
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:348:42: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
329 |     }
330 |
331 |     private func register(_ generation: Int) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
332 |         let identity = try await loadIdentity()
333 |         try current(generation)
    :
346 |             currentIdentity = identity.withInstallationId(held)
347 |             let store = self.store
348 |             let saving = Task<Void, Error> { @MainActor in try await store.saveInstallationId(held) }
    |                                          |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
349 |             self.saving = saving
350 |             try await saving.value
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:350:30: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
329 |     }
330 |
331 |     private func register(_ generation: Int) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
332 |         let identity = try await loadIdentity()
333 |         try current(generation)
    :
348 |             let saving = Task<Void, Error> { @MainActor in try await store.saveInstallationId(held) }
349 |             self.saving = saving
350 |             try await saving.value
    |                              |- error: 'value' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
351 |         }
352 |         try await settleStepUpKey(answer, offered, generation)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:446:73: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
444 |             JSONValue(enabled),
445 |         ]).encodedJSON
446 |         if let running = scanning[kind] { return try await running.task.value }
    |                                                                         |- error: 'value' is only available in macOS 10.15 or newer
    |                                                                         `- note: add 'if #available' version check
447 |         let id = UUID()
448 |         let generation = self.generation
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:449:20: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
447 |         let id = UUID()
448 |         let generation = self.generation
449 |         let task = Task<ScanResult, Error> { @MainActor in
    |                    |- error: 'Task' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
450 |             defer { if self.scanning[kind]?.id == id { self.scanning[kind] = nil } }
451 |             return try await self.scanWithProtocol(generation, session, operation, enabled)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:449:42: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
447 |         let id = UUID()
448 |         let generation = self.generation
449 |         let task = Task<ScanResult, Error> { @MainActor in
    |                                          |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
450 |             defer { if self.scanning[kind]?.id == id { self.scanning[kind] = nil } }
451 |             return try await self.scanWithProtocol(generation, session, operation, enabled)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:454:31: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
431 |     /// app's to renew. A second call for the same scan while one runs gets its result; a scan whose
432 |     /// answer was lost is simply asked for again.
433 |     public func scan(session: String? = nil, operation: JSONObject? = nil) async throws -> ScanResult {
    |                 `- note: add '@available' attribute to enclosing instance method
434 |         if operation != nil && session == nil {
435 |             throw UsageError.invalidArgument(
    :
452 |         }
453 |         scanning[kind] = (id, task)
454 |         return try await task.value
    |                               |- error: 'value' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
455 |     }
456 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:562:23: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    |                       |- error: 'Task' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
563 |             try await self.reenrolStepUpOnce(session, reauthentication, reason)
564 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:562:45: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    |                                             |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                                             `- note: add 'if #available' version check
563 |             try await self.reenrolStepUpOnce(session, reauthentication, reason)
564 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:566:23: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
564 |         }
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
    |                       |- error: 'Task' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
567 |         return try await running.value
568 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:566:23: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
564 |         }
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
    |                       |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
567 |         return try await running.value
568 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:566:48: error: 'result' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
564 |         }
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
    |                                                |- error: 'result' is only available in macOS 10.15 or newer
    |                                                `- note: add 'if #available' version check
567 |         return try await running.value
568 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:567:34: error: 'value' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
558 |     /// `STEPUP_REENROL_PENDING`, across restarts too, until a call of this succeeds.
559 |     @discardableResult
560 |     public func reenrolStepUp(session: String, reauthentication: JSONObject = JSONObject(),
    |                 `- note: add '@available' attribute to enclosing instance method
561 |                               reason: String = "Confirm your new step-up key") async throws -> JSONObject {
562 |         let running = Task<JSONObject, Error> { @MainActor in
    :
565 |         // reset() waits for it, whatever comes of it.
566 |         reenrolling = Task { _ = await running.result }
567 |         return try await running.value
    |                                  |- error: 'value' is only available in macOS 10.15 or newer
    |                                  `- note: add 'if #available' version check
568 |     }
569 |
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:682:19: error: 'Task' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
679 |     }
680 |
681 |     private func sleep(_ seconds: TimeInterval) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
682 |         try await Task.sleep(nanoseconds: UInt64(seconds * 1_000_000_000))
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
683 |     }
684 | }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/DeviceTrust.swift:682:24: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
 50 | /// collection run on a queue of their own.
 51 | @MainActor
 52 | public final class DeviceTrust {
    |                    `- note: add '@available' attribute to enclosing class
 53 |     /// The guide's calls, for an app that makes them itself.
 54 |     public let client: DeviceTrustClient
    :
679 |     }
680 |
681 |     private func sleep(_ seconds: TimeInterval) async throws {
    |                  `- note: add '@available' attribute to enclosing instance method
682 |         try await Task.sleep(nanoseconds: UInt64(seconds * 1_000_000_000))
    |                        |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
683 |     }
684 | }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Encoding.swift:37:5: error: 'SHA256' is only available in macOS 10.15 or newer
 34 | }
 35 |
 36 | func sha256Hex(_ data: Data) -> String {
    |      `- note: add '@available' attribute to enclosing global function
 37 |     SHA256.hash(data: data).map { byte in
    |     |- error: 'SHA256' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
 38 |         let hex = String(byte, radix: 16)
 39 |         return hex.count == 1 ? "0" + hex : hex
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Encoding.swift:37:12: error: 'hash(data:)' is only available in macOS 10.15 or newer
 34 | }
 35 |
 36 | func sha256Hex(_ data: Data) -> String {
    |      `- note: add '@available' attribute to enclosing global function
 37 |     SHA256.hash(data: data).map { byte in
    |            |- error: 'hash(data:)' is only available in macOS 10.15 or newer
    |            `- note: add 'if #available' version check
 38 |         let hex = String(byte, radix: 16)
 39 |         return hex.count == 1 ? "0" + hex : hex
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Encoding.swift:37:29: warning: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
 34 | }
 35 |
 36 | func sha256Hex(_ data: Data) -> String {
    |      `- note: add '@available' attribute to enclosing global function
 37 |     SHA256.hash(data: data).map { byte in
    |                             |- warning: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
    |                             `- note: add 'if #available' version check
 38 |         let hex = String(byte, radix: 16)
 39 |         return hex.count == 1 ? "0" + hex : hex
[23/24] Compiling Necessary Transport.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:109:30: error: 'withThrowingTaskGroup(of:returning:isolation:body:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
108 |         do {
109 |             return try await withThrowingTaskGroup(of: (Data, Int)?.self) { group in
    |                              |- error: 'withThrowingTaskGroup(of:returning:isolation:body:)' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
110 |                 group.addTask {
111 |                     try await HTTPTransport.load(request, with: session)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:110:23: error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
108 |         do {
109 |             return try await withThrowingTaskGroup(of: (Data, Int)?.self) { group in
110 |                 group.addTask {
    |                       |- error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
111 |                     try await HTTPTransport.load(request, with: session)
112 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:113:23: error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
111 |                     try await HTTPTransport.load(request, with: session)
112 |                 }
113 |                 group.addTask {
    |                       |- error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
114 |                     try await Task.sleep(nanoseconds: UInt64(limit * 1_000_000_000))
115 |                     return nil
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:114:31: error: 'Task' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
112 |                 }
113 |                 group.addTask {
114 |                     try await Task.sleep(nanoseconds: UInt64(limit * 1_000_000_000))
    |                               |- error: 'Task' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
115 |                     return nil
116 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:114:36: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
112 |                 }
113 |                 group.addTask {
114 |                     try await Task.sleep(nanoseconds: UInt64(limit * 1_000_000_000))
    |                                    |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                                    `- note: add 'if #available' version check
115 |                     return nil
116 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:118:51: error: 'next(isolation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
116 |                 }
117 |                 defer { group.cancelAll() }
118 |                 guard let first = try await group.next(), let answer = first else {
    |                                                   |- error: 'next(isolation:)' is only available in macOS 10.15 or newer
    |                                                   `- note: add 'if #available' version check
119 |                     throw URLError(.timedOut)
120 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:109:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:109:51: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
108 |         do {
109 |             return try await withThrowingTaskGroup(of: (Data, Int)?.self) { group in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |107 |
    |108 |
    |109 |                                                   #isolation
    |    |                                                    `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
110 |                 group.addTask {
111 |                     try await HTTPTransport.load(request, with: session)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:129:20: error: 'CancellationError' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
127 |         } catch let error as URLError {
128 |             throw APIError("Network connection failed: \(error.localizedDescription)")
129 |         } catch is CancellationError {
    |                    |- error: 'CancellationError' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
130 |             throw APIError("HTTP connection failed: the call was cancelled.")
131 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:129:20: error: 'CancellationError' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
127 |         } catch let error as URLError {
128 |             throw APIError("Network connection failed: \(error.localizedDescription)")
129 |         } catch is CancellationError {
    |                    |- error: 'CancellationError' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
130 |             throw APIError("HTTP connection failed: the call was cancelled.")
131 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:118:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:118:55: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
116 |                 }
117 |                 defer { group.cancelAll() }
118 |                 guard let first = try await group.next(), let answer = first else {
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |116 |
    |117 |
    |118 |                                                       #isolation
    |    |                                                        `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
119 |                     throw URLError(.timedOut)
120 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:26: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
    |                          |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
139 |                 let task = session.dataTask(with: request) { data, response, error in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:23: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    |                       |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:72: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    |                                                                        |- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
    |                                                                        `- note: add 'if #available' version check
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:55: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |136 |
    |137 |
    |138 |                                                       #isolation
    |    |                                                        `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:55: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:54: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |135 |
    |136 |
    |137 |                                                      #isolation
    |    |                                                       `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
139 |                 let task = session.dataTask(with: request) { data, response, error in
[24/24] Compiling Necessary resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:109:30: error: 'withThrowingTaskGroup(of:returning:isolation:body:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
108 |         do {
109 |             return try await withThrowingTaskGroup(of: (Data, Int)?.self) { group in
    |                              |- error: 'withThrowingTaskGroup(of:returning:isolation:body:)' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
110 |                 group.addTask {
111 |                     try await HTTPTransport.load(request, with: session)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:110:23: error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
108 |         do {
109 |             return try await withThrowingTaskGroup(of: (Data, Int)?.self) { group in
110 |                 group.addTask {
    |                       |- error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
111 |                     try await HTTPTransport.load(request, with: session)
112 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:113:23: error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
111 |                     try await HTTPTransport.load(request, with: session)
112 |                 }
113 |                 group.addTask {
    |                       |- error: 'addTask(priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
114 |                     try await Task.sleep(nanoseconds: UInt64(limit * 1_000_000_000))
115 |                     return nil
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:114:31: error: 'Task' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
112 |                 }
113 |                 group.addTask {
114 |                     try await Task.sleep(nanoseconds: UInt64(limit * 1_000_000_000))
    |                               |- error: 'Task' is only available in macOS 10.15 or newer
    |                               `- note: add 'if #available' version check
115 |                     return nil
116 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:114:36: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
112 |                 }
113 |                 group.addTask {
114 |                     try await Task.sleep(nanoseconds: UInt64(limit * 1_000_000_000))
    |                                    |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                                    `- note: add 'if #available' version check
115 |                     return nil
116 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:118:51: error: 'next(isolation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
116 |                 }
117 |                 defer { group.cancelAll() }
118 |                 guard let first = try await group.next(), let answer = first else {
    |                                                   |- error: 'next(isolation:)' is only available in macOS 10.15 or newer
    |                                                   `- note: add 'if #available' version check
119 |                     throw URLError(.timedOut)
120 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:109:52: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:109:51: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
108 |         do {
109 |             return try await withThrowingTaskGroup(of: (Data, Int)?.self) { group in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |107 |
    |108 |
    |109 |                                                   #isolation
    |    |                                                    `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
110 |                 group.addTask {
111 |                     try await HTTPTransport.load(request, with: session)
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:129:20: error: 'CancellationError' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
127 |         } catch let error as URLError {
128 |             throw APIError("Network connection failed: \(error.localizedDescription)")
129 |         } catch is CancellationError {
    |                    |- error: 'CancellationError' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
130 |             throw APIError("HTTP connection failed: the call was cancelled.")
131 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:129:20: error: 'CancellationError' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
127 |         } catch let error as URLError {
128 |             throw APIError("Network connection failed: \(error.localizedDescription)")
129 |         } catch is CancellationError {
    |                    |- error: 'CancellationError' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
130 |             throw APIError("HTTP connection failed: the call was cancelled.")
131 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:118:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:118:55: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
103 |
104 |     /// The request's answer, or the failure on the way -- within `timeout` from its start.
105 |     private func perform(_ request: URLRequest) async throws -> (Data, Int) {
    |                  `- note: add '@available' attribute to enclosing instance method
106 |         let session = self.session
107 |         let limit = timeout
    :
116 |                 }
117 |                 defer { group.cancelAll() }
118 |                 guard let first = try await group.next(), let answer = first else {
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |116 |
    |117 |
    |118 |                                                       #isolation
    |    |                                                        `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
119 |                     throw URLError(.timedOut)
120 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:26: error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
    |                          |- error: 'withTaskCancellationHandler(operation:onCancel:isolation:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
139 |                 let task = session.dataTask(with: request) { data, response, error in
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:23: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    |                       |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:72: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    |                                                                        |- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
    |                                                                        `- note: add 'if #available' version check
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:56: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:138:55: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |136 |
    |137 |
    |138 |                                                       #isolation
    |    |                                                        `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
139 |                 let task = session.dataTask(with: request) { data, response, error in
140 |                     if let error {
/Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:55: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift:137:54: note: expanded code originates here
 21 | /// `timeout` seconds, 15 unless you say otherwise, from its start to its answer.
 22 | @MainActor
 23 | public final class HTTPTransport: DeviceTrustTransport {
    |                    `- note: add '@available' attribute to enclosing class
 24 |     public let baseURL: String
 25 |     public let timeout: TimeInterval
    :
132 |     }
133 |
134 |     private nonisolated static func load(_ request: URLRequest, with session: URLSession) async throws -> (Data, Int) {
    |                                     `- note: add '@available' attribute to enclosing static method
135 |         final class Box: @unchecked Sendable { var task: URLSessionDataTask? }
136 |         let box = Box()
137 |         return try await withTaskCancellationHandler {
    +--- /Users/admin/builder/spi-builder-workspace/Sources/Necessary/Transport.swift
    |135 |
    |136 |
    |137 |                                                      #isolation
    |    |                                                       `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------
138 |             try await withCheckedThrowingContinuation { (continuation: CheckedContinuation<(Data, Int), Error>) in
139 |                 let task = session.dataTask(with: request) { data, response, error in
BUILD FAILURE 6.2 macosSpm