The Swift Package Index logo.Swift Package Index

Build Information

Failed to build AsyncBLE, reference 0.1.1 (fb4eee), with Swift 6.4 for macOS (Xcode) using Xcode 27.0 on 28 Sep 2026 02:10:36 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme AsyncBLE -destination platform=macOS,arch=arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vilimets/AsyncBLE-Swift.git
Reference: 0.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/vilimets/AsyncBLE-Swift
 * tag               0.1.1      -> FETCH_HEAD
HEAD is now at fb4eeec Clear the Swift 6 strict-concurrency warnings
Cloned https://github.com/vilimets/AsyncBLE-Swift.git
Revision (git rev-parse @):
fb4eeecfcbecc91d0155fddc7df50112ac81ac71
SUCCESS checkout https://github.com/vilimets/AsyncBLE-Swift.git at 0.1.1
========================================
Build
========================================
Selected platform:         macosXcodebuild
Swift version:             6.4
Building package at path:  $PWD
https://github.com/vilimets/AsyncBLE-Swift.git
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolve Package Graph
Resolved source packages:
  AsyncBLE: /Users/admin/builder/spi-builder-workspace
resolved source packages: AsyncBLE
2026-09-27 22:09:52.051 xcodebuild[529:3039] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "AsyncBLE",
  "name" : "AsyncBLE",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "AsyncBLE",
      "targets" : [
        "AsyncBLE"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AsyncBLETests",
      "module_type" : "SwiftTarget",
      "name" : "AsyncBLETests",
      "path" : "Tests/AsyncBLETests",
      "sources" : [
        "API/BeforeAfterExample.swift",
        "API/TypedCharacteristicTests.swift",
        "Bridge/CentralDelegateBridgeTests.swift",
        "Bridge/CoreBluetoothMappingTests.swift",
        "Bridge/DiscoveryCacheTests.swift",
        "Bridge/SeamFakeTests.swift",
        "Bridge/SubscriptionRegistryTests.swift",
        "Connection/CentralTests.swift",
        "Connection/ConnectionIOTests.swift",
        "Connection/ConnectionLifecycleTests.swift",
        "Logging/CentralLoggingTests.swift",
        "Logging/ConnectionLoggingTests.swift",
        "Logging/IOLoggingTests.swift",
        "Logging/LogFacilityTests.swift",
        "Logging/LogLevelTests.swift",
        "Logging/OSLogHandlerTests.swift",
        "PackageSmokeTests.swift",
        "Reconnect/ReconnectPolicyTests.swift",
        "StateMachine/ConnectionStateMachineTests.swift",
        "StateMachine/ReconnectTransitionTests.swift",
        "StateMachine/StateMachineSequenceTests.swift",
        "Support/BroadcasterTests.swift",
        "Support/ConnectionRig.swift",
        "Support/ErrorKind.swift",
        "Support/FakeCoreBluetooth.swift",
        "Support/FakePeripheral.swift",
        "Support/IOQueueTests.swift",
        "Support/LibraryQueueTestHelpers.swift",
        "Support/LibraryQueueTests.swift",
        "Support/RecordingLogHandler.swift",
        "Support/SchedulerTests.swift",
        "Support/SeamRecorder.swift",
        "Support/SyntheticEvents.swift",
        "Support/TestScheduler.swift"
      ],
      "target_dependencies" : [
        "AsyncBLE"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AsyncBLE",
      "module_type" : "SwiftTarget",
      "name" : "AsyncBLE",
      "path" : "Sources/AsyncBLE",
      "product_memberships" : [
        "AsyncBLE"
      ],
      "sources" : [
        "AsyncBLE.swift",
        "Internal/Bridge/CentralDelegateBridge.swift",
        "Internal/Bridge/CoreBluetoothSeam.swift",
        "Internal/Bridge/DiscoveryCache.swift",
        "Internal/Bridge/LiveCentral.swift",
        "Internal/Bridge/LivePeripheral.swift",
        "Internal/Bridge/PeripheralDelegateBridge.swift",
        "Internal/Bridge/ScanSession.swift",
        "Internal/Bridge/SubscriptionRegistry.swift",
        "Internal/Connection/Central+Engine.swift",
        "Internal/Connection/ConnectAttempt.swift",
        "Internal/Connection/Connection+Engine.swift",
        "Internal/Connection/ConnectionCore+IO.swift",
        "Internal/Connection/ConnectionCore.swift",
        "Internal/Connection/ConnectionRegistry.swift",
        "Internal/StateMachine/ConnectionEffect.swift",
        "Internal/StateMachine/ConnectionEvent.swift",
        "Internal/StateMachine/ConnectionStateMachine.swift",
        "Internal/Support/Broadcaster.swift",
        "Internal/Support/IOQueue.swift",
        "Internal/Support/LibraryQueue.swift",
        "Internal/Support/Log.swift",
        "Internal/Support/Scheduler.swift",
        "Public/AdapterState.swift",
        "Public/AdvertisementData.swift",
        "Public/BluetoothError.swift",
        "Public/Central.swift",
        "Public/CentralConfiguration.swift",
        "Public/Characteristic.swift",
        "Public/CharacteristicCodable.swift",
        "Public/CharacteristicID.swift",
        "Public/Connection+Raw.swift",
        "Public/Connection+Typed.swift",
        "Public/Connection.swift",
        "Public/ConnectionState.swift",
        "Public/DisconnectReason.swift",
        "Public/Discovery.swift",
        "Public/Logging.swift",
        "Public/ReconnectPolicy.swift",
        "Public/ScanOptions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
{
  "workspace" : {
    "name" : "AsyncBLE",
    "schemes" : [
      "AsyncBLE"
    ]
  }
}
2026-09-27 22:10:24.262 xcodebuild[628:3866] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme AsyncBLE -destination platform=macOS,arch=arm64
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme AsyncBLE -destination platform=macOS,arch=arm64
Resolve Package Graph
Resolved source packages:
  AsyncBLE: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'AsyncBLE-product' in project 'AsyncBLE'
        ➜ Explicit dependency on target 'AsyncBLE' in project 'AsyncBLE'
    Target 'AsyncBLE' in project 'AsyncBLE' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ExecuteExternalTool /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -v -E -dM -isysroot /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -x c -c /dev/null
ExecuteExternalTool /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc --version
ExecuteExternalTool /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -version_details
ReadFileContents /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/docc/features.json
Build description signature: c051759c203573bb86ac1c9facf8b5de
Build description path: /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/XCBuildData/c051759c203573bb86ac1c9facf8b5de.xcbuilddata
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/CompilationCache.noindex
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/CompilationCache.noindex
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PrecompiledHeaders
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PrecompiledHeaders
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/EagerLinkingTBDs/Debug
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/EagerLinkingTBDs/Debug
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/PackageFrameworks
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/PackageFrameworks
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.DependencyMetadataFileList (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.DependencyMetadataFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.modulemap (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.modulemap
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.DependencyStaticMetadataFileList (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.DependencyStaticMetadataFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.SwiftConstValuesFileList (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.SwiftConstValuesFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.LinkFileList (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.LinkFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.SwiftFileList (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.SwiftFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-OutputFileMap.json (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-OutputFileMap.json
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps/AsyncBLE.modulemap /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.modulemap (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/AsyncBLE.modulemap /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps
SwiftDriver AsyncBLE normal arm64 com.apple.xcode.tools.swift.compiler (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name AsyncBLE -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -enable-experimental-feature StrictConcurrency -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -target arm64-apple-macos12.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdbool-KYV2HKP8IKLKMKQS9DGA2GUQ.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdarg-7CFWA9OSW5N24E7PG4ZOCF1VH.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stddef-3GI9GOKXSW3QCTFOI1USFLDZO.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_AvailabilityInternal-CJTV5E7EL3MWRA437DUFPBVN2.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ptrcheck-DHLCBWKPNUZOYTPJ1J3QVTCXK.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_SwiftConcurrencyShims-BLUUWKI6AGMD7TJ4RGYS7DP6T.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftShims-C4V0DQ62WSTCYBYGILXXGQNO3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_float-105CRCDRP90FQCQO5ZX1LHV7H.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ptrauth-2W92ZJRLNJU99RJUQGGJG3OC3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_DarwinFoundation1-7PRJIG163YE9KSKYA3BS35ZZP.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_limits-AXGUGXBFPC0I7QDLJFB0K341Y.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_DarwinFoundation2-94WUUGE4H5R03OWXE0QFZX1DN.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdint-22CBBOK8BNSF0UELDCAXSHGB.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/sys_types-F4RNCN6UR5R5OWTLTOUM7TN3E.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/string_h-10WPXBF3YFYMX5HUAW06LSABR.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/libDER-5RCYOD0PCUUY2UGMBNE9LI8N9.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_DarwinFoundation3-32PO5Q4RCB6WXH5VFO3HA3AVS.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdatomic-8LN7S35C6I48KJOCW7VPXX04X.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_inttypes-1U6AP9A8AJ4G9WD98E9RHLGTJ.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Darwin-1RAAWNGKQM8YGHV0YJNNN5YDY.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/MachO-AWTJ65TFR7TMST2NUE6ZCC1SL.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/libkern-22MDXN9G35RPO3OLKX9B2PN16.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/launch-2XAORMJNLLVS0OVKC1M0752GY.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ObjectiveC-B89IQP2TC4CFSWOUMTUZRI1VZ.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/os_object-3KLCCI03OX6OQTLJ92KQH2KIO.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/os_workgroup-10SJ5M8R2OB4BG1TPFL9SZMKV.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Dispatch-NAMWF9KN29KC7Z5OS3TTTAE8.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreFoundation-4ZIITQ30SOGUQE8KJAB99ZV0Q.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/XPC-E1MSAZG4ZNL24S2WK6K6Y7GWW.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/os-BYOEVK2GEMB4Q8WWHGZGREA00.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Security-ESPJ7FP0YAY1EL3VXBGY9MCZ8.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CFNetwork-CVHS5CT20191MFYXQIEDWSRGJ.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/IOKit-6H3X691EDBH124EYTC2PEOP5T.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/DiskArbitration-ZNZZU7T0SYELB0DAR56WQF0R.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreServices-CGCGY0FOMEQGSNMO3HQSC09XU.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Foundation-44WR0NU86C67CV5BW8W1MGKNG.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreBluetooth-1SCSY40NKUJQ9I9JOTAWHPFTZ.pcm
SwiftEmitModule normal arm64 Emitting\ module\ for\ AsyncBLE (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 34 |     ///   - peripheralID: Which peripheral.
 35 |     ///   - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
 36 |     func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
    |          |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 37 |         try await requirePoweredOn()
 38 |         let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 69 |
 70 |     /// Suspends until the link comes up, this caller gives up, or the connection ends.
 71 |     private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
    |                  |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
 72 |         let handle = ConnectAttemptHandle()
 73 |         try await withTaskCancellationHandler {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
   |             `- note: add '@available' attribute to enclosing class
31 |     private var once: ResumeOnce?
32 |     private var core: ConnectionCore?
   :
44 |     ///     gets its deadline from the state machine instead, so the two never both fire.
45 |     ///   - scheduler: Where the deadline is armed.
46 |     func begin(
   |          `- note: add '@available' attribute to enclosing instance method
47 |         core: ConnectionCore,
48 |         continuation: CheckedContinuation<Void, Error>,
49 |         timeout: Duration?,
   |                  `- error: 'Duration' is only available in macOS 13.0 or newer
50 |         scheduler: Scheduler
51 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
130 |
131 |     /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 |     func requestConnect(timeout: Duration?) {
    |          |                       `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
133 |         library.assertIsolated()
134 |         handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
315 |     }
316 |
317 |     private func schedule(
    |                  `- note: add '@available' attribute to enclosing instance method
318 |         _ duration: Duration,
    |                     `- error: 'Duration' is only available in macOS 13.0 or newer
319 |         _ work: @escaping @Sendable (ConnectionCore) -> Void
320 |     ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
28 |     ///
29 |     /// - Parameter duration: How long the attempt may run.
30 |     case startConnectTimeout(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 |     /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
39 |     ///
40 |     /// - Parameter duration: How long to keep waiting.
41 |     case startGiveUpDeadline(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 |     /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
51 |     ///
52 |     /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 |     case startReArmTimer(Duration)
   |                          `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 |     /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
22 |     /// Someone asked for a link.
23 |     ///
24 |     /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 |     ///   no deadline — ``Central/connectWhenInRange(_:)``.
26 |     case connectRequested(timeout: Duration?)
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 |     /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:21:35: error: 'Duration' is only available in macOS 13.0 or newer
15 |
16 | /// Something that can run work later, and be told not to.
17 | protocol Scheduler: AnyObject, Sendable {
   |          `- note: add '@available' attribute to enclosing protocol
18 |     /// Schedules `work` to run on the library queue after `duration`.
19 |     ///
20 |     /// - Returns: A handle that cancels the work if it has not run yet.
21 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:38:35: error: 'Duration' is only available in macOS 13.0 or newer
29 |
30 | /// The real scheduler: `DispatchQueue.asyncAfter` on the library queue.
31 | final class QueueScheduler: Scheduler {
   |             `- note: add '@available' attribute to enclosing class
32 |     private let queue: DispatchQueue
33 |
   :
36 |     }
37 |
38 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork {
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
39 |         let item = DispatchWorkItem(block: work)
40 |         // Wall time, not uptime. A give-up deadline means what it says, and
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:61:11: error: 'Duration' is only available in macOS 13.0 or newer
59 | }
60 |
61 | extension Duration {
   | |         `- error: 'Duration' is only available in macOS 13.0 or newer
   | `- note: add '@available' attribute to enclosing extension
62 |     /// The duration in seconds, for the APIs that predate `Duration`.
63 |     var seconds: Double {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:41: error: 'seconds' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                                         `- error: 'seconds' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:186:56: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
184 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
185 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
186 |     public func connect(_ peripheralID: UUID, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                      `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
187 |         try await establish(peripheralID, timeout: timeout ?? configuration.connectTimeout)
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:201:58: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
199 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
200 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
201 |     public func connect(_ discovery: Discovery, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
202 |         try await connect(discovery.peripheralID, timeout: timeout)
203 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:23:36: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
21 |         /// ``Central/connectWhenInRange(_:)``, both deliberately rely on the OS keeping the
22 |         /// request pending instead.
23 |         public var connectTimeout: Duration
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
24 |
25 |         /// How long to keep waiting after a link drops.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:29: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                             `- error: 'Duration' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:33:20: error: 'Duration' is only available in macOS 13.0 or newer
21 |     /// Internal: the three factories below are the vocabulary for building a policy, and a
22 |     /// publicly readable enum nobody can construct is only a second way to say the same thing.
23 |     enum Persistence: Sendable, Equatable {
   |          `- note: add '@available' attribute to enclosing enum
24 |         /// Do not wait at all: a dropped link goes straight to `disconnected`.
25 |         case never
   :
31 |         ///
32 |         /// - Parameter duration: How long to wait, measured in wall-clock time from the drop.
33 |         case until(Duration)
   |                    `- error: 'Duration' is only available in macOS 13.0 or newer
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:46:31: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
44 |     /// one loose. Each re-arm increments the attempt number in
45 |     /// ``ConnectionState/reconnecting(arm:)``.
46 |     public let reArmInterval: Duration?
   |                               `- error: 'Duration' is only available in macOS 13.0 or newer
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:48:59: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
46 |     public let reArmInterval: Duration?
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
   |             |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
   |             `- note: add '@available' attribute to enclosing initializer
49 |         self.persistence = persistence
50 |         self.reArmInterval = reArmInterval
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:71:53: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
69 |     ///   `nil` unless working around a wedged connection.
70 |     /// - Returns: A policy that never gives up.
71 |     public static func waitIndefinitely(reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                            `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
72 |         ReconnectPolicy(persistence: .indefinitely, reArmInterval: reArmEvery)
73 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:44: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                   `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:66: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                                         `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
Failed frontend command:
SwiftCompile normal arm64 (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/AsyncBLE.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Discovery.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Logging.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ScanOptions.swift -target arm64-apple-macos12.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature StrictConcurrency -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name AsyncBLE -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-macos27.0 -target-sdk-version 27.0 -target-sdk-name macosx27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.abi.json
SwiftCompile normal arm64 Compiling\ Discovery.swift,\ Logging.swift,\ ReconnectPolicy.swift,\ ScanOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Discovery.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Logging.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ScanOptions.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Discovery.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Discovery.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Logging.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Logging.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ReconnectPolicy.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ScanOptions.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScanOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:33:20: error: 'Duration' is only available in macOS 13.0 or newer
21 |     /// Internal: the three factories below are the vocabulary for building a policy, and a
22 |     /// publicly readable enum nobody can construct is only a second way to say the same thing.
23 |     enum Persistence: Sendable, Equatable {
   |          `- note: add '@available' attribute to enclosing enum
24 |         /// Do not wait at all: a dropped link goes straight to `disconnected`.
25 |         case never
   :
31 |         ///
32 |         /// - Parameter duration: How long to wait, measured in wall-clock time from the drop.
33 |         case until(Duration)
   |                    `- error: 'Duration' is only available in macOS 13.0 or newer
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:46:31: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
44 |     /// one loose. Each re-arm increments the attempt number in
45 |     /// ``ConnectionState/reconnecting(arm:)``.
46 |     public let reArmInterval: Duration?
   |                               `- error: 'Duration' is only available in macOS 13.0 or newer
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:48:59: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
46 |     public let reArmInterval: Duration?
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
   |             |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
   |             `- note: add '@available' attribute to enclosing initializer
49 |         self.persistence = persistence
50 |         self.reArmInterval = reArmInterval
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:71:53: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
69 |     ///   `nil` unless working around a wedged connection.
70 |     /// - Returns: A policy that never gives up.
71 |     public static func waitIndefinitely(reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                            `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
72 |         ReconnectPolicy(persistence: .indefinitely, reArmInterval: reArmEvery)
73 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:44: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                   `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
SwiftCompile normal arm64 Compiling\ AdvertisementData.swift,\ BluetoothError.swift,\ Central.swift,\ CentralConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AdvertisementData.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BluetoothError.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Central.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CentralConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:41: error: 'seconds' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                                         `- error: 'seconds' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:186:56: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
184 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
185 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
186 |     public func connect(_ peripheralID: UUID, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                      `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
187 |         try await establish(peripheralID, timeout: timeout ?? configuration.connectTimeout)
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:201:58: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
199 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
200 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
201 |     public func connect(_ discovery: Discovery, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
202 |         try await connect(discovery.peripheralID, timeout: timeout)
203 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:23:36: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
21 |         /// ``Central/connectWhenInRange(_:)``, both deliberately rely on the OS keeping the
22 |         /// request pending instead.
23 |         public var connectTimeout: Duration
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
24 |
25 |         /// How long to keep waiting after a link drops.
SwiftCompile normal arm64 Compiling\ Connection+Typed.swift,\ Connection.swift,\ ConnectionState.swift,\ DisconnectReason.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection+Typed.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionState.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DisconnectReason.swift
SwiftCompile normal arm64 Compiling\ SubscriptionRegistry.swift,\ Central+Engine.swift,\ ConnectAttempt.swift,\ Connection+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 34 |     ///   - peripheralID: Which peripheral.
 35 |     ///   - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
 36 |     func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
    |          |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 37 |         try await requirePoweredOn()
 38 |         let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 69 |
 70 |     /// Suspends until the link comes up, this caller gives up, or the connection ends.
 71 |     private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
    |                  |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
 72 |         let handle = ConnectAttemptHandle()
 73 |         try await withTaskCancellationHandler {
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SubscriptionRegistry.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Central+Engine.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectAttempt.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection+Engine.swift
SwiftCompile normal arm64 Compiling\ ConnectionEvent.swift,\ ConnectionStateMachine.swift,\ Broadcaster.swift,\ IOQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionEvent.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionStateMachine.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Broadcaster.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile IOQueue.swift
SwiftCompile normal arm64 Compiling\ LibraryQueue.swift,\ Log.swift,\ Scheduler.swift,\ AdapterState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:21:35: error: 'Duration' is only available in macOS 13.0 or newer
15 |
16 | /// Something that can run work later, and be told not to.
17 | protocol Scheduler: AnyObject, Sendable {
   |          `- note: add '@available' attribute to enclosing protocol
18 |     /// Schedules `work` to run on the library queue after `duration`.
19 |     ///
20 |     /// - Returns: A handle that cancels the work if it has not run yet.
21 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:38:35: error: 'Duration' is only available in macOS 13.0 or newer
29 |
30 | /// The real scheduler: `DispatchQueue.asyncAfter` on the library queue.
31 | final class QueueScheduler: Scheduler {
   |             `- note: add '@available' attribute to enclosing class
32 |     private let queue: DispatchQueue
33 |
   :
36 |     }
37 |
38 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork {
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
39 |         let item = DispatchWorkItem(block: work)
40 |         // Wall time, not uptime. A give-up deadline means what it says, and
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:61:11: error: 'Duration' is only available in macOS 13.0 or newer
59 | }
60 |
61 | extension Duration {
   | |         `- error: 'Duration' is only available in macOS 13.0 or newer
   | `- note: add '@available' attribute to enclosing extension
62 |     /// The duration in seconds, for the APIs that predate `Duration`.
63 |     var seconds: Double {
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LibraryQueue.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Log.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Scheduler.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AdapterState.swift
SwiftCompile normal arm64 Compiling\ ConnectionCore+IO.swift,\ ConnectionCore.swift,\ ConnectionRegistry.swift,\ ConnectionEffect.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
130 |
131 |     /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 |     func requestConnect(timeout: Duration?) {
    |          |                       `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
133 |         library.assertIsolated()
134 |         handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
315 |     }
316 |
317 |     private func schedule(
    |                  `- note: add '@available' attribute to enclosing instance method
318 |         _ duration: Duration,
    |                     `- error: 'Duration' is only available in macOS 13.0 or newer
319 |         _ work: @escaping @Sendable (ConnectionCore) -> Void
320 |     ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
28 |     ///
29 |     /// - Parameter duration: How long the attempt may run.
30 |     case startConnectTimeout(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 |     /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
39 |     ///
40 |     /// - Parameter duration: How long to keep waiting.
41 |     case startGiveUpDeadline(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 |     /// Cancel the give-up deadline.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionCore+IO.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionCore.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionRegistry.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionEffect.swift
SwiftCompile normal arm64 Compiling\ AsyncBLE.swift,\ CentralDelegateBridge.swift,\ CoreBluetoothSeam.swift,\ DiscoveryCache.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/AsyncBLE.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CentralDelegateBridge.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CoreBluetoothSeam.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DiscoveryCache.swift
SwiftCompile normal arm64 Compiling\ Characteristic.swift,\ CharacteristicCodable.swift,\ CharacteristicID.swift,\ Connection+Raw.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Characteristic.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacteristicCodable.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacteristicID.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection+Raw.swift
SwiftCompile normal arm64 Compiling\ LiveCentral.swift,\ LivePeripheral.swift,\ PeripheralDelegateBridge.swift,\ ScanSession.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LiveCentral.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LivePeripheral.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PeripheralDelegateBridge.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScanSession.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-27 22:10:25.865 xcodebuild[629:3912] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
{ platform:macOS, arch:arm64, variant:DriverKit, id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64 (in target 'AsyncBLE' from project 'AsyncBLE')
	SwiftEmitModule normal arm64 Emitting\ module\ for\ AsyncBLE (in target 'AsyncBLE' from project 'AsyncBLE')
	Building workspace AsyncBLE with scheme AsyncBLE
(3 failures)
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
  AsyncBLE: /Users/admin/builder/spi-builder-workspace
resolved source packages: AsyncBLE
2026-09-27 22:10:33.547 xcodebuild[714:4389] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "AsyncBLE",
  "name" : "AsyncBLE",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "AsyncBLE",
      "targets" : [
        "AsyncBLE"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AsyncBLETests",
      "module_type" : "SwiftTarget",
      "name" : "AsyncBLETests",
      "path" : "Tests/AsyncBLETests",
      "sources" : [
        "API/BeforeAfterExample.swift",
        "API/TypedCharacteristicTests.swift",
        "Bridge/CentralDelegateBridgeTests.swift",
        "Bridge/CoreBluetoothMappingTests.swift",
        "Bridge/DiscoveryCacheTests.swift",
        "Bridge/SeamFakeTests.swift",
        "Bridge/SubscriptionRegistryTests.swift",
        "Connection/CentralTests.swift",
        "Connection/ConnectionIOTests.swift",
        "Connection/ConnectionLifecycleTests.swift",
        "Logging/CentralLoggingTests.swift",
        "Logging/ConnectionLoggingTests.swift",
        "Logging/IOLoggingTests.swift",
        "Logging/LogFacilityTests.swift",
        "Logging/LogLevelTests.swift",
        "Logging/OSLogHandlerTests.swift",
        "PackageSmokeTests.swift",
        "Reconnect/ReconnectPolicyTests.swift",
        "StateMachine/ConnectionStateMachineTests.swift",
        "StateMachine/ReconnectTransitionTests.swift",
        "StateMachine/StateMachineSequenceTests.swift",
        "Support/BroadcasterTests.swift",
        "Support/ConnectionRig.swift",
        "Support/ErrorKind.swift",
        "Support/FakeCoreBluetooth.swift",
        "Support/FakePeripheral.swift",
        "Support/IOQueueTests.swift",
        "Support/LibraryQueueTestHelpers.swift",
        "Support/LibraryQueueTests.swift",
        "Support/RecordingLogHandler.swift",
        "Support/SchedulerTests.swift",
        "Support/SeamRecorder.swift",
        "Support/SyntheticEvents.swift",
        "Support/TestScheduler.swift"
      ],
      "target_dependencies" : [
        "AsyncBLE"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AsyncBLE",
      "module_type" : "SwiftTarget",
      "name" : "AsyncBLE",
      "path" : "Sources/AsyncBLE",
      "product_memberships" : [
        "AsyncBLE"
      ],
      "sources" : [
        "AsyncBLE.swift",
        "Internal/Bridge/CentralDelegateBridge.swift",
        "Internal/Bridge/CoreBluetoothSeam.swift",
        "Internal/Bridge/DiscoveryCache.swift",
        "Internal/Bridge/LiveCentral.swift",
        "Internal/Bridge/LivePeripheral.swift",
        "Internal/Bridge/PeripheralDelegateBridge.swift",
        "Internal/Bridge/ScanSession.swift",
        "Internal/Bridge/SubscriptionRegistry.swift",
        "Internal/Connection/Central+Engine.swift",
        "Internal/Connection/ConnectAttempt.swift",
        "Internal/Connection/Connection+Engine.swift",
        "Internal/Connection/ConnectionCore+IO.swift",
        "Internal/Connection/ConnectionCore.swift",
        "Internal/Connection/ConnectionRegistry.swift",
        "Internal/StateMachine/ConnectionEffect.swift",
        "Internal/StateMachine/ConnectionEvent.swift",
        "Internal/StateMachine/ConnectionStateMachine.swift",
        "Internal/Support/Broadcaster.swift",
        "Internal/Support/IOQueue.swift",
        "Internal/Support/LibraryQueue.swift",
        "Internal/Support/Log.swift",
        "Internal/Support/Scheduler.swift",
        "Public/AdapterState.swift",
        "Public/AdvertisementData.swift",
        "Public/BluetoothError.swift",
        "Public/Central.swift",
        "Public/CentralConfiguration.swift",
        "Public/Characteristic.swift",
        "Public/CharacteristicCodable.swift",
        "Public/CharacteristicID.swift",
        "Public/Connection+Raw.swift",
        "Public/Connection+Typed.swift",
        "Public/Connection.swift",
        "Public/ConnectionState.swift",
        "Public/DisconnectReason.swift",
        "Public/Discovery.swift",
        "Public/Logging.swift",
        "Public/ReconnectPolicy.swift",
        "Public/ScanOptions.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
{
  "workspace" : {
    "name" : "AsyncBLE",
    "schemes" : [
      "AsyncBLE"
    ]
  }
}
2026-09-27 22:10:34.829 xcodebuild[722:4454] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme AsyncBLE -destination platform=macOS,arch=arm64
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme AsyncBLE -destination platform=macOS,arch=arm64
Resolve Package Graph
Resolved source packages:
  AsyncBLE: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'AsyncBLE-product' in project 'AsyncBLE'
        ➜ Explicit dependency on target 'AsyncBLE' in project 'AsyncBLE'
    Target 'AsyncBLE' in project 'AsyncBLE' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache
SwiftDriver AsyncBLE normal arm64 com.apple.xcode.tools.swift.compiler (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name AsyncBLE -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -enable-experimental-feature StrictConcurrency -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -target arm64-apple-macos12.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ AsyncBLE.swift,\ CentralDelegateBridge.swift,\ CoreBluetoothSeam.swift,\ DiscoveryCache.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/AsyncBLE.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CentralDelegateBridge.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CoreBluetoothSeam.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DiscoveryCache.swift
SwiftCompile normal arm64 Compiling\ LiveCentral.swift,\ LivePeripheral.swift,\ PeripheralDelegateBridge.swift,\ ScanSession.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LiveCentral.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LivePeripheral.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PeripheralDelegateBridge.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScanSession.swift
SwiftCompile normal arm64 Compiling\ SubscriptionRegistry.swift,\ Central+Engine.swift,\ ConnectAttempt.swift,\ Connection+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 34 |     ///   - peripheralID: Which peripheral.
 35 |     ///   - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
 36 |     func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
    |          |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 37 |         try await requirePoweredOn()
 38 |         let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 69 |
 70 |     /// Suspends until the link comes up, this caller gives up, or the connection ends.
 71 |     private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
    |                  |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
 72 |         let handle = ConnectAttemptHandle()
 73 |         try await withTaskCancellationHandler {
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SubscriptionRegistry.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Central+Engine.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectAttempt.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection+Engine.swift
SwiftCompile normal arm64 Compiling\ Characteristic.swift,\ CharacteristicCodable.swift,\ CharacteristicID.swift,\ Connection+Raw.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Characteristic.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacteristicCodable.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacteristicID.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection+Raw.swift
SwiftCompile normal arm64 Compiling\ AdvertisementData.swift,\ BluetoothError.swift,\ Central.swift,\ CentralConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:41: error: 'seconds' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                                         `- error: 'seconds' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:186:56: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
184 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
185 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
186 |     public func connect(_ peripheralID: UUID, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                      `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
187 |         try await establish(peripheralID, timeout: timeout ?? configuration.connectTimeout)
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:201:58: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
199 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
200 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
201 |     public func connect(_ discovery: Discovery, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
202 |         try await connect(discovery.peripheralID, timeout: timeout)
203 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:23:36: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
21 |         /// ``Central/connectWhenInRange(_:)``, both deliberately rely on the OS keeping the
22 |         /// request pending instead.
23 |         public var connectTimeout: Duration
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
24 |
25 |         /// How long to keep waiting after a link drops.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AdvertisementData.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BluetoothError.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Central.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CentralConfiguration.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ AsyncBLE (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:36:51: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 34 |     ///   - peripheralID: Which peripheral.
 35 |     ///   - timeout: The deadline for the attempt, or `nil` to pend indefinitely.
 36 |     func establish(_ peripheralID: UUID, timeout: Duration?) async throws -> Connection {
    |          |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 37 |         try await requirePoweredOn()
 38 |         let connection = try connection(for: peripheralID)
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift:71:64: error: 'Duration' is only available in macOS 13.0 or newer
  5 | import Foundation
  6 |
  7 | extension Central {
    | `- note: add '@available' attribute to enclosing extension
  8 |     /// Waits for the adapter to say something definitive, and throws if that is bad news.
  9 |     ///
    :
 69 |
 70 |     /// Suspends until the link comes up, this caller gives up, or the connection ends.
 71 |     private func waitForLink(on core: ConnectionCore, timeout: Duration?) async throws {
    |                  |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
 72 |         let handle = ConnectAttemptHandle()
 73 |         try await withTaskCancellationHandler {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift:49:18: error: 'Duration' is only available in macOS 13.0 or newer
28 |
29 | /// One caller waiting for a connection to come up.
30 | final class ConnectAttemptHandle: @unchecked Sendable {
   |             `- note: add '@available' attribute to enclosing class
31 |     private var once: ResumeOnce?
32 |     private var core: ConnectionCore?
   :
44 |     ///     gets its deadline from the state machine instead, so the two never both fire.
45 |     ///   - scheduler: Where the deadline is armed.
46 |     func begin(
   |          `- note: add '@available' attribute to enclosing instance method
47 |         core: ConnectionCore,
48 |         continuation: CheckedContinuation<Void, Error>,
49 |         timeout: Duration?,
   |                  `- error: 'Duration' is only available in macOS 13.0 or newer
50 |         scheduler: Scheduler
51 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
130 |
131 |     /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 |     func requestConnect(timeout: Duration?) {
    |          |                       `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
133 |         library.assertIsolated()
134 |         handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
315 |     }
316 |
317 |     private func schedule(
    |                  `- note: add '@available' attribute to enclosing instance method
318 |         _ duration: Duration,
    |                     `- error: 'Duration' is only available in macOS 13.0 or newer
319 |         _ work: @escaping @Sendable (ConnectionCore) -> Void
320 |     ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
28 |     ///
29 |     /// - Parameter duration: How long the attempt may run.
30 |     case startConnectTimeout(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 |     /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
39 |     ///
40 |     /// - Parameter duration: How long to keep waiting.
41 |     case startGiveUpDeadline(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 |     /// Cancel the give-up deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:53:26: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
51 |     ///
52 |     /// - Parameter interval: The cadence from ``ReconnectPolicy/reArmInterval``.
53 |     case startReArmTimer(Duration)
   |                          `- error: 'Duration' is only available in macOS 13.0 or newer
54 |
55 |     /// Cancel the re-arm cadence. Emitted when the adapter goes away, because re-arming
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift:26:36: error: 'Duration' is only available in macOS 13.0 or newer
19 | /// and the bridge that *built* the event is the thing that still holds the error when it comes
20 | /// time to resume a waiter with ``BluetoothError/connectionFailed(underlying:)``.
21 | enum ConnectionEvent: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
22 |     /// Someone asked for a link.
23 |     ///
24 |     /// - Parameter timeout: The deadline for the attempt, or `nil` for a pending connect with
25 |     ///   no deadline — ``Central/connectWhenInRange(_:)``.
26 |     case connectRequested(timeout: Duration?)
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
27 |
28 |     /// CoreBluetooth reported the link is up.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:21:35: error: 'Duration' is only available in macOS 13.0 or newer
15 |
16 | /// Something that can run work later, and be told not to.
17 | protocol Scheduler: AnyObject, Sendable {
   |          `- note: add '@available' attribute to enclosing protocol
18 |     /// Schedules `work` to run on the library queue after `duration`.
19 |     ///
20 |     /// - Returns: A handle that cancels the work if it has not run yet.
21 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:38:35: error: 'Duration' is only available in macOS 13.0 or newer
29 |
30 | /// The real scheduler: `DispatchQueue.asyncAfter` on the library queue.
31 | final class QueueScheduler: Scheduler {
   |             `- note: add '@available' attribute to enclosing class
32 |     private let queue: DispatchQueue
33 |
   :
36 |     }
37 |
38 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork {
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
39 |         let item = DispatchWorkItem(block: work)
40 |         // Wall time, not uptime. A give-up deadline means what it says, and
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:61:11: error: 'Duration' is only available in macOS 13.0 or newer
59 | }
60 |
61 | extension Duration {
   | |         `- error: 'Duration' is only available in macOS 13.0 or newer
   | `- note: add '@available' attribute to enclosing extension
62 |     /// The duration in seconds, for the APIs that predate `Duration`.
63 |     var seconds: Double {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:41: error: 'seconds' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                                         `- error: 'seconds' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:186:56: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
184 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
185 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
186 |     public func connect(_ peripheralID: UUID, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                      `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
187 |         try await establish(peripheralID, timeout: timeout ?? configuration.connectTimeout)
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift:201:58: error: 'Duration' is only available in macOS 13.0 or newer
 26 | /// type. It is spelled ``CharacteristicID`` in characteristic positions and ``ServiceID`` in
 27 | /// service positions, so that neither obliges you to import CoreBluetooth.
 28 | public actor Central {
    |              `- note: add '@available' attribute to enclosing actor
 29 |     /// The tunables this central was created with.
 30 |     nonisolated public let configuration: Configuration
    :
199 |     ///   ``BluetoothError/connectionFailed(underlying:)`` if CoreBluetooth rejects it, or
200 |     ///   ``BluetoothError/bluetoothUnavailable(reason:)`` if the adapter is not powered on.
201 |     public func connect(_ discovery: Discovery, timeout: Duration? = nil) async throws -> Connection {
    |                 |                                        `- error: 'Duration' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
202 |         try await connect(discovery.peripheralID, timeout: timeout)
203 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:23:36: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
21 |         /// ``Central/connectWhenInRange(_:)``, both deliberately rely on the OS keeping the
22 |         /// request pending instead.
23 |         public var connectTimeout: Duration
   |                                    `- error: 'Duration' is only available in macOS 13.0 or newer
24 |
25 |         /// How long to keep waiting after a link drops.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift:45:29: error: 'Duration' is only available in macOS 13.0 or newer
10 |     /// There is deliberately no `restoreIdentifier` here. State restoration needs background
11 |     /// modes to mean anything, and this library does not ship a knob that does nothing.
12 |     public struct Configuration: Sendable, Equatable {
   |                   `- note: add '@available' attribute to enclosing struct
13 |         /// How long a connect attempt may run before it fails with
14 |         /// ``BluetoothError/connectTimeout``.
   :
42 |         ///   - reconnectPolicy: How long to keep waiting after a link drops.
43 |         ///   - showPowerAlert: Whether the system may show its "Turn On Bluetooth" alert.
44 |         public init(
   |                `- note: add '@available' attribute to enclosing initializer
45 |             connectTimeout: Duration = .seconds(10),
   |                             `- error: 'Duration' is only available in macOS 13.0 or newer
46 |             reconnectPolicy: ReconnectPolicy = .waitIndefinitely(),
47 |             showPowerAlert: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:33:20: error: 'Duration' is only available in macOS 13.0 or newer
21 |     /// Internal: the three factories below are the vocabulary for building a policy, and a
22 |     /// publicly readable enum nobody can construct is only a second way to say the same thing.
23 |     enum Persistence: Sendable, Equatable {
   |          `- note: add '@available' attribute to enclosing enum
24 |         /// Do not wait at all: a dropped link goes straight to `disconnected`.
25 |         case never
   :
31 |         ///
32 |         /// - Parameter duration: How long to wait, measured in wall-clock time from the drop.
33 |         case until(Duration)
   |                    `- error: 'Duration' is only available in macOS 13.0 or newer
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:46:31: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
44 |     /// one loose. Each re-arm increments the attempt number in
45 |     /// ``ConnectionState/reconnecting(arm:)``.
46 |     public let reArmInterval: Duration?
   |                               `- error: 'Duration' is only available in macOS 13.0 or newer
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:48:59: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
46 |     public let reArmInterval: Duration?
47 |
48 |     private init(persistence: Persistence, reArmInterval: Duration?) {
   |             |                                             `- error: 'Duration' is only available in macOS 13.0 or newer
   |             `- note: add '@available' attribute to enclosing initializer
49 |         self.persistence = persistence
50 |         self.reArmInterval = reArmInterval
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:71:53: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
69 |     ///   `nil` unless working around a wedged connection.
70 |     /// - Returns: A policy that never gives up.
71 |     public static func waitIndefinitely(reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                            `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
72 |         ReconnectPolicy(persistence: .indefinitely, reArmInterval: reArmEvery)
73 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:44: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                   `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift:85:66: error: 'Duration' is only available in macOS 13.0 or newer
16 | /// The policy is consulted only for drops the library did not cause. Calling
17 | /// ``Connection/disconnect()`` never waits, whatever the policy says.
18 | public struct ReconnectPolicy: Sendable, Equatable {
   |               `- note: add '@available' attribute to enclosing struct
19 |     /// How long to keep a dropped link's pending connect armed.
20 |     ///
   :
83 |     ///     unless working around a wedged connection.
84 |     /// - Returns: A policy that gives up after `limit`.
85 |     public static func giveUp(after limit: Duration, reArmEvery: Duration? = nil) -> ReconnectPolicy {
   |                        |                                         `- error: 'Duration' is only available in macOS 13.0 or newer
   |                        `- note: add '@available' attribute to enclosing static method
86 |         ReconnectPolicy(persistence: .until(limit), reArmInterval: reArmEvery)
87 |     }
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/AsyncBLE.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CentralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/CoreBluetoothSeam.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/DiscoveryCache.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LiveCentral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/LivePeripheral.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/PeripheralDelegateBridge.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/ScanSession.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Bridge/SubscriptionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Central+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectAttempt.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/Connection+Engine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdvertisementData.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/BluetoothError.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Central.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CentralConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Characteristic.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicCodable.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/CharacteristicID.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Raw.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Discovery.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Logging.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ReconnectPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ScanOptions.swift -target arm64-apple-macos12.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature StrictConcurrency -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c0446a22442a12e9d48fe1a705f55a1adfc4.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name AsyncBLE -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-macos27.0 -target-sdk-version 27.0 -target-sdk-name macosx27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/AsyncBLE.build/Debug/AsyncBLE-t.build/Objects-normal/arm64/AsyncBLE.abi.json
SwiftCompile normal arm64 (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ ConnectionEvent.swift,\ ConnectionStateMachine.swift,\ Broadcaster.swift,\ IOQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEvent.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionEvent.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionStateMachine.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionStateMachine.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Broadcaster.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Broadcaster.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/IOQueue.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile IOQueue.swift
SwiftCompile normal arm64 Compiling\ ConnectionCore+IO.swift,\ ConnectionCore.swift,\ ConnectionRegistry.swift,\ ConnectionEffect.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:132:34: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
130 |
131 |     /// Asks for a link. `timeout` of `nil` is a pending connect with no deadline.
132 |     func requestConnect(timeout: Duration?) {
    |          |                       `- error: 'Duration' is only available in macOS 13.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
133 |         library.assertIsolated()
134 |         handle(.connectRequested(timeout: timeout))
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift:318:21: error: 'Duration' is only available in macOS 13.0 or newer
 16 |
 17 | /// The engine behind one ``Connection``.
 18 | final class ConnectionCore: ConnectionSink, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     let peripheralID: UUID
 20 |     let library: LibraryQueue
    :
315 |     }
316 |
317 |     private func schedule(
    |                  `- note: add '@available' attribute to enclosing instance method
318 |         _ duration: Duration,
    |                     `- error: 'Duration' is only available in macOS 13.0 or newer
319 |         _ work: @escaping @Sendable (ConnectionCore) -> Void
320 |     ) -> ScheduledWork {
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:30:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
28 |     ///
29 |     /// - Parameter duration: How long the attempt may run.
30 |     case startConnectTimeout(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
31 |
32 |     /// Cancel the connect attempt's deadline.
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift:41:30: error: 'Duration' is only available in macOS 13.0 or newer
17 | /// setup, and queued I/O is always failed before a reconnect is armed, so a caller can never
18 | /// see a write land on the far side of a drop it was queued before.
19 | enum ConnectionEffect: Sendable, Equatable {
   |      `- note: add '@available' attribute to enclosing enum
20 |     /// Issue `connect(peripheral:options:)`. Stays pending until fulfilled or cancelled.
21 |     case armConnect
   :
39 |     ///
40 |     /// - Parameter duration: How long to keep waiting.
41 |     case startGiveUpDeadline(Duration)
   |                              `- error: 'Duration' is only available in macOS 13.0 or newer
42 |
43 |     /// Cancel the give-up deadline.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore+IO.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionCore+IO.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionCore.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionCore.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Connection/ConnectionRegistry.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionRegistry.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/StateMachine/ConnectionEffect.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionEffect.swift
SwiftCompile normal arm64 Compiling\ LibraryQueue.swift,\ Log.swift,\ Scheduler.swift,\ AdapterState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift (in target 'AsyncBLE' from project 'AsyncBLE')
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:21:35: error: 'Duration' is only available in macOS 13.0 or newer
15 |
16 | /// Something that can run work later, and be told not to.
17 | protocol Scheduler: AnyObject, Sendable {
   |          `- note: add '@available' attribute to enclosing protocol
18 |     /// Schedules `work` to run on the library queue after `duration`.
19 |     ///
20 |     /// - Returns: A handle that cancels the work if it has not run yet.
21 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:38:35: error: 'Duration' is only available in macOS 13.0 or newer
29 |
30 | /// The real scheduler: `DispatchQueue.asyncAfter` on the library queue.
31 | final class QueueScheduler: Scheduler {
   |             `- note: add '@available' attribute to enclosing class
32 |     private let queue: DispatchQueue
33 |
   :
36 |     }
37 |
38 |     func schedule(after duration: Duration, _ work: @escaping @Sendable () -> Void) -> ScheduledWork {
   |          |                        `- error: 'Duration' is only available in macOS 13.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
39 |         let item = DispatchWorkItem(block: work)
40 |         // Wall time, not uptime. A give-up deadline means what it says, and
/Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift:61:11: error: 'Duration' is only available in macOS 13.0 or newer
59 | }
60 |
61 | extension Duration {
   | |         `- error: 'Duration' is only available in macOS 13.0 or newer
   | `- note: add '@available' attribute to enclosing extension
62 |     /// The duration in seconds, for the APIs that predate `Duration`.
63 |     var seconds: Double {
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/LibraryQueue.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LibraryQueue.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Log.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Log.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Internal/Support/Scheduler.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Scheduler.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/AdapterState.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AdapterState.swift
SwiftCompile normal arm64 Compiling\ Connection+Typed.swift,\ Connection.swift,\ ConnectionState.swift,\ DisconnectReason.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift (in target 'AsyncBLE' from project 'AsyncBLE')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection+Typed.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection+Typed.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/Connection.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Connection.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/ConnectionState.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectionState.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/AsyncBLE/Public/DisconnectReason.swift (in target 'AsyncBLE' from project 'AsyncBLE')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DisconnectReason.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-27 22:10:35.764 xcodebuild[723:4482] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
{ platform:macOS, arch:arm64, variant:DriverKit, id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:5a8f4f08cf2eceb9a055e3a3a3c0739724eb3392, name:My Mac }
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64 Emitting\ module\ for\ AsyncBLE (in target 'AsyncBLE' from project 'AsyncBLE')
	SwiftCompile normal arm64 (in target 'AsyncBLE' from project 'AsyncBLE')
	Building workspace AsyncBLE with scheme AsyncBLE
(3 failures)
BUILD FAILURE 6.4 macosXcodebuild