The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Valet, reference 5.1.1 (43f517), with Swift 6.4 for Wasm on 26 Sep 2026 05:52:19 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/square/Valet.git
Reference: 5.1.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/square/Valet
 * tag               5.1.1      -> FETCH_HEAD
HEAD is now at 43f5179 Update watchOS minimum version to 5 (#363)
Cloned https://github.com/square/Valet.git
Revision (git rev-parse @):
43f517941ced37752c0cd5e2b53a3c9d021c848b
SUCCESS checkout https://github.com/square/Valet.git at 5.1.1
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/square/Valet.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line:     cd /host

/host/spi-builder-workspace/Sources/Valet/Internal/Keychain.swift:130:85: error: cannot find type 'OSStatus' in scope
128 |     // MARK: Contains
129 |
130 |     static func performCopy(forKey key: String, options: [String : AnyHashable]) -> OSStatus {
    |                                                                                     `- error: cannot find type 'OSStatus' in scope
131 |         guard !key.isEmpty else {
132 |             return errSecParam
/host/spi-builder-workspace/Sources/Valet/Internal/SecItem.swift:59:72: error: cannot find type 'OSStatus' in scope
 57 |     }
 58 |
 59 |     static func performCopy(matching query: [String : AnyHashable]) -> OSStatus {
    |                                                                        `- error: cannot find type 'OSStatus' in scope
 60 |         guard !query.isEmpty else {
 61 |             // Must provide a query with at least one item
/host/spi-builder-workspace/Sources/Valet/Internal/WeakStorage.swift:35:40: error: cannot find 'NSMapTable' in scope
33 |
34 |     private let lock = NSLock()
35 |     private let identifierToValetMap = NSMapTable<NSString, T>.strongToWeakObjects()
   |                                        `- error: cannot find 'NSMapTable' in scope
36 | }
37 |
/host/spi-builder-workspace/Sources/Valet/KeychainError.swift:37:18: error: cannot find type 'OSStatus' in scope
35 |     case emptyValue
36 |
37 |     init(status: OSStatus) {
   |                  `- error: cannot find type 'OSStatus' in scope
38 |         switch status {
39 |         case errSecItemNotFound:
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:52:2: error: Objective-C interoperability is disabled
 50 | // MARK: - Objective-C Compatibility
 51 |
 52 | @objc(VALMigratableKeyValuePairInput)
    |  `- error: Objective-C interoperability is disabled
 53 | public final class ObjectiveCCompatibilityMigratableKeyValuePairInput: NSObject {
 54 |
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:65:6: error: Objective-C interoperability is disabled
 63 |
 64 |     /// The key in the key:value pair.
 65 |     @objc
    |      `- error: Objective-C interoperability is disabled
 66 |     public let key: Any
 67 |     /// The value in the key:value pair.
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:68:6: error: Objective-C interoperability is disabled
 66 |     public let key: Any
 67 |     /// The value in the key:value pair.
 68 |     @objc
    |      `- error: Objective-C interoperability is disabled
 69 |     public let value: Data
 70 | }
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:72:2: error: Objective-C interoperability is disabled
 70 | }
 71 |
 72 | @objc(VALMigratableKeyValuePairOutput)
    |  `- error: Objective-C interoperability is disabled
 73 | public class ObjectiveCCompatibilityMigratableKeyValuePairOutput: NSObject {
 74 |
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:81:6: error: Objective-C interoperability is disabled
 79 |     ///   - key: The key in the key:value pair.
 80 |     ///   - value: The value in the key:value pair.
 81 |     @objc
    |      `- error: Objective-C interoperability is disabled
 82 |     public init(key: String, value: Data) {
 83 |         self.key = key
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:92:6: error: Objective-C interoperability is disabled
 90 |     ///   - key: The key in the key:value pair.
 91 |     ///   - stringValue: The desired value in the key:value pair, represented as a String.
 92 |     @objc
    |      `- error: Objective-C interoperability is disabled
 93 |     public init(key: String, stringValue: String) {
 94 |         self.key = key
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:103:6: error: Objective-C interoperability is disabled
101 |     /// A sentinal `ObjectiveCCompatibilityMigratableKeyValuePairOutput` that conveys that the migration should be prevented.
102 |     @available(swift, obsoleted: 1.0)
103 |     @objc
    |      `- error: Objective-C interoperability is disabled
104 |     public static func preventMigration() -> ObjectiveCCompatibilityMigratableKeyValuePairOutput {
105 |         ObjectiveCCompatibilityPreventMigrationOutput()
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:111:6: error: Objective-C interoperability is disabled
109 |
110 |     /// The key in the key:value pair.
111 |     @objc
    |      `- error: Objective-C interoperability is disabled
112 |     public let key: String
113 |     /// The value in the key:value pair.
/host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift:114:6: error: Objective-C interoperability is disabled
112 |     public let key: String
113 |     /// The value in the key:value pair.
114 |     @objc
    |      `- error: Objective-C interoperability is disabled
115 |     public let value: Data
116 |
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveAccessControl.swift:55:27: error: cannot find type 'SecAccessControlCreateFlags' in scope
53 |     // MARK: Internal Properties
54 |
55 |     var secAccessControl: SecAccessControlCreateFlags {
   |                           `- error: cannot find type 'SecAccessControlCreateFlags' in scope
56 |         switch self {
57 |         case .userPresence:
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:21:2: error: Objective-C interoperability is disabled
 19 |
 20 | /// Reads and writes keychain elements that are stored on the Secure Enclave using Accessibility attribute `.whenPasscodeSetThisDeviceOnly`. Accessing these keychain elements will require the user to confirm their presence via Touch ID, Face ID, or passcode entry. If no passcode is set on the device, accessing the keychain via a `SecureEnclaveValet` will fail. Data is removed from the Secure Enclave when the user removes a passcode from the device.
 21 | @objc(VALSecureEnclaveValet)
    |  `- error: Objective-C interoperability is disabled
 22 | public final class SecureEnclaveValet: NSObject, Sendable {
 23 |
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:107:6: error: Objective-C interoperability is disabled
105 |
106 |     public let identifier: Identifier
107 |     @objc
    |      `- error: Objective-C interoperability is disabled
108 |     public let accessControl: SecureEnclaveAccessControl
109 |
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:114:6: error: Objective-C interoperability is disabled
112 |     /// - Returns: `true` if the keychain is accessible for reading and writing, `false` otherwise.
113 |     /// - Note: Determined by writing a value to the keychain and then reading it back out. Will never prompt the user for Face ID, Touch ID, or password.
114 |     @objc
    |      `- error: Objective-C interoperability is disabled
115 |     public func canAccessKeychain() -> Bool {
116 |         SecureEnclave.canAccessKeychain(with: service)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:138:6: error: Objective-C interoperability is disabled
136 |     /// - Important: Inserted data should be no larger than 4kb.
137 |     @available(swift, obsoleted: 1.0)
138 |     @objc(setObject:forKey:error:)
    |      `- error: Objective-C interoperability is disabled
139 |     public func objc_setObject(_ object: Data, forKey key: String) throws {
140 |         try setObject(object, forKey: key)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:183:6: error: Objective-C interoperability is disabled
181 |     /// - Throws: An error of type `KeychainError`.
182 |     @available(swift, obsoleted: 1.0)
183 |     @objc(objectForKey:error:)
    |      `- error: Objective-C interoperability is disabled
184 |     public func objc_object(forKey key: String) throws -> Data {
185 |         try object(forKey: key)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:222:6: error: Objective-C interoperability is disabled
220 |     /// - Important: Inserted data should be no larger than 4kb.
221 |     @available(swift, obsoleted: 1.0)
222 |     @objc(setString:forKey:error:)
    |      `- error: Objective-C interoperability is disabled
223 |     public func objc_setString(_ string: String, forKey key: String) throws {
224 |         try setString(string, forKey: key)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:261:6: error: Objective-C interoperability is disabled
259 |     /// - Throws: An error of type `KeychainError`.
260 |     @available(swift, obsoleted: 1.0)
261 |     @objc(stringForKey:error:)
    |      `- error: Objective-C interoperability is disabled
262 |     public func objc_string(forKey key: String) throws -> String {
263 |         try string(forKey: key)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:282:6: error: Objective-C interoperability is disabled
280 |     /// - Throws: An error of type `KeychainError`.
281 |     @available(swift, obsoleted: 1.0)
282 |     @objc(removeObjectForKey:error:)
    |      `- error: Objective-C interoperability is disabled
283 |     public func objc_removeObject(forKey key: String) throws {
284 |         try removeObject(forKey: key)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:300:6: error: Objective-C interoperability is disabled
298 |     /// - Throws: An error of type `KeychainError`.
299 |     @available(swift, obsoleted: 1.0)
300 |     @objc(removeAllObjectsAndReturnError:)
    |      `- error: Objective-C interoperability is disabled
301 |     public func objc_removeAllObjects() throws {
302 |         try removeAllObjects()
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:311:6: error: Objective-C interoperability is disabled
309 |     /// - Throws: An error of type `KeychainError` or `MigrationError`.
310 |     /// - Note: The keychain is not modified if an error is thrown.
311 |     @objc
    |      `- error: Objective-C interoperability is disabled
312 |     public func migrateObjects(matching query: [String : AnyHashable], removeOnCompletion: Bool) throws {
313 |         try execute(in: lock) {
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:324:6: error: Objective-C interoperability is disabled
322 |     /// - Throws: An error of type `KeychainError` or `MigrationError`.
323 |     /// - Note: The keychain is not modified if an error is thrown.
324 |     @objc
    |      `- error: Objective-C interoperability is disabled
325 |     public func migrateObjects(from valet: Valet, removeOnCompletion: Bool) throws {
326 |         try migrateObjects(matching: valet.baseKeychainQuery, removeOnCompletion: removeOnCompletion)
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:373:6: error: Objective-C interoperability is disabled
371 |     ///   - accessControl: The desired access control for the SecureEnclaveValet.
372 |     /// - Returns: A SecureEnclaveValet that reads/writes keychain elements with the desired flavor.
373 |     @objc(valetWithIdentifier:accessControl:)
    |      `- error: Objective-C interoperability is disabled
374 |     public class func 🚫swift_valet(with identifier: String, accessControl: SecureEnclaveAccessControl) -> SecureEnclaveValet? {
375 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:387:6: error: Objective-C interoperability is disabled
385 |     /// - Returns: A SecureEnclaveValet that reads/writes keychain elements that can be shared across applications written by the same development team.
386 |     /// - SeeAlso: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps
387 |     @objc(sharedGroupValetWithAppIDPrefix:sharedGroupIdentifier:accessControl:)
    |      `- error: Objective-C interoperability is disabled
388 |     public class func 🚫swift_sharedGroupValet(appIDPrefix: String, nonEmptyIdentifier identifier: String, accessControl: SecureEnclaveAccessControl) -> SecureEnclaveValet? {
389 |         guard let identifier = SharedGroupIdentifier(appIDPrefix: appIDPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift:401:6: error: Objective-C interoperability is disabled
399 |     /// - Returns: A SecureEnclaveValet that reads/writes keychain elements that can be shared across applications written by the same development team.
400 |     /// - SeeAlso: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps
401 |     @objc(sharedGroupValetWithGroupPrefix:sharedGroupIdentifier:accessControl:)
    |      `- error: Objective-C interoperability is disabled
402 |     public class func 🚫swift_sharedGroupValet(groupPrefix: String, nonEmptyIdentifier identifier: String, accessControl: SecureEnclaveAccessControl) -> SecureEnclaveValet? {
403 |         guard let identifier = SharedGroupIdentifier(groupPrefix: groupPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:21:2: error: Objective-C interoperability is disabled
 19 |
 20 | /// Reads and writes keychain elements.
 21 | @objc(VALValet)
    |  `- error: Objective-C interoperability is disabled
 22 | public final class Valet: NSObject, Sendable {
 23 |
/host/spi-builder-workspace/Sources/Valet/Valet.swift:228:6: error: Objective-C interoperability is disabled
226 |     // MARK: Public Properties
227 |
228 |     @objc
    |      `- error: Objective-C interoperability is disabled
229 |     public let accessibility: Accessibility
230 |     public let identifier: Identifier
/host/spi-builder-workspace/Sources/Valet/Valet.swift:236:6: error: Objective-C interoperability is disabled
234 |     /// - Returns: `true` if the keychain is accessible for reading and writing, `false` otherwise.
235 |     /// - Note: Determined by writing a value to the keychain and then reading it back out.
236 |     @objc
    |      `- error: Objective-C interoperability is disabled
237 |     public func canAccessKeychain() -> Bool {
238 |         execute(in: lock) {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:262:6: error: Objective-C interoperability is disabled
260 |     /// - Important: Inserted data should be no larger than 4kb.
261 |     @available(swift, obsoleted: 1.0)
262 |     @objc(setObject:forKey:error:)
    |      `- error: Objective-C interoperability is disabled
263 |     public func objc_setObject(_ object: Data, forKey key: String) throws {
264 |         try setObject(object, forKey: key)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:282:6: error: Objective-C interoperability is disabled
280 |     /// - Throws: An error of type `KeychainError`.
281 |     @available(swift, obsoleted: 1.0)
282 |     @objc(objectForKey:error:)
    |      `- error: Objective-C interoperability is disabled
283 |     public func objc_object(forKey key: String) throws -> Data {
284 |         try object(forKey: key)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:325:6: error: Objective-C interoperability is disabled
323 |     /// - Important: Inserted data should be no larger than 4kb.
324 |     @available(swift, obsoleted: 1.0)
325 |     @objc(setString:forKey:error:)
    |      `- error: Objective-C interoperability is disabled
326 |     public func objc_setString(_ string: String, forKey key: String) throws {
327 |         try setString(string, forKey: key)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:344:6: error: Objective-C interoperability is disabled
342 |     /// - Returns: The string currently stored in the keychain for the provided key.
343 |     /// - Throws: An error of type `KeychainError`.
344 |     @objc(stringForKey:error:)
    |      `- error: Objective-C interoperability is disabled
345 |     public func objc_string(forKey key: String) throws -> String {
346 |         try string(forKey: key)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:362:6: error: Objective-C interoperability is disabled
360 |     /// - Throws: An error of type `KeychainError`.
361 |     @available(swift, obsoleted: 1.0)
362 |     @objc(allKeysWithError:)
    |      `- error: Objective-C interoperability is disabled
363 |     public func objc_allKeys() throws -> Set<String> {
364 |         try allKeys()
/host/spi-builder-workspace/Sources/Valet/Valet.swift:384:6: error: Objective-C interoperability is disabled
382 |     /// - Note: No error is thrown if the `key` is not found in the keychain.
383 |     @available(swift, obsoleted: 1.0)
384 |     @objc(removeObjectForKey:error:)
    |      `- error: Objective-C interoperability is disabled
385 |     public func objc_removeObject(forKey key: String) throws {
386 |         try removeObject(forKey: key)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:402:6: error: Objective-C interoperability is disabled
400 |     /// - Throws: An error of type `KeychainError`.
401 |     @available(swift, obsoleted: 1.0)
402 |     @objc(removeAllObjectsAndReturnError:)
    |      `- error: Objective-C interoperability is disabled
403 |     public func objc_removeAllObjects() throws {
404 |         try removeAllObjects()
/host/spi-builder-workspace/Sources/Valet/Valet.swift:425:6: error: Objective-C interoperability is disabled
423 |     /// - Throws: An error of type `KeychainError` or `MigrationError`.
424 |     /// - Note: The keychain is not modified if an error is thrown.
425 |     @objc
    |      `- error: Objective-C interoperability is disabled
426 |     public func migrateObjects(matching query: [String : AnyHashable], removeOnCompletion: Bool) throws {
427 |         try execute(in: lock) {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:450:6: error: Objective-C interoperability is disabled
448 |     /// - Throws: An error of type `KeychainError` or `MigrationError`.
449 |     /// - Note: The keychain is not modified if an error is thrown.
450 |     @objc
    |      `- error: Objective-C interoperability is disabled
451 |     public func migrateObjects(from valet: Valet, removeOnCompletion: Bool) throws {
452 |         try migrateObjects(matching: valet.baseKeychainQuery, removeOnCompletion: removeOnCompletion)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:460:6: error: Objective-C interoperability is disabled
458 |     /// - Throws: An error of type `KeychainError` or `MigrationError`.
459 |     /// - Note: The keychain is not modified if an error is thrown.
460 |     @objc
    |      `- error: Objective-C interoperability is disabled
461 |     public func migrateObjectsFromAlwaysAccessibleValet(removeOnCompletion: Bool) throws {
462 |         var keychainQuery = baseKeychainQuery
/host/spi-builder-workspace/Sources/Valet/Valet.swift:493:6: error: Objective-C interoperability is disabled
491 |     /// - Throws: An error of type `KeychainError` or `MigrationError`.
492 |     /// - Note: The keychain is not modified if an error is thrown.
493 |     @objc
    |      `- error: Objective-C interoperability is disabled
494 |     public func migrateObjectsFromAlwaysAccessibleThisDeviceOnlyValet(removeOnCompletion: Bool) throws {
495 |         var keychainQuery = baseKeychainQuery
/host/spi-builder-workspace/Sources/Valet/Valet.swift:562:6: error: Objective-C interoperability is disabled
560 |     /// - Returns: A Valet that reads/writes keychain elements with the desired accessibility.
561 |     @available(swift, obsoleted: 1.0)
562 |     @objc(valetWithIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
563 |     public class func 🚫swift_vanillaValet(with identifier: String, accessibility: Accessibility) -> Valet? {
564 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:575:6: error: Objective-C interoperability is disabled
573 |     /// - Returns: A Valet that reads/writes iCloud-shared keychain elements with the desired accessibility.
574 |     @available(swift, obsoleted: 1.0)
575 |     @objc(iCloudValetWithIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
576 |     public class func 🚫swift_iCloudValet(with identifier: String, accessibility: CloudAccessibility) -> Valet? {
577 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:590:6: error: Objective-C interoperability is disabled
588 |     /// - SeeAlso: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps
589 |     @available(swift, obsoleted: 1.0)
590 |     @objc(sharedGroupValetWithAppIDPrefix:sharedGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
591 |     public class func 🚫swift_vanillaSharedGroupValet(appIDPrefix: String, nonEmptyIdentifier identifier: String, accessibility: Accessibility) -> Valet? {
592 |         guard let identifier = SharedGroupIdentifier(appIDPrefix: appIDPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:605:6: error: Objective-C interoperability is disabled
603 |     /// - SeeAlso: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps
604 |     @available(swift, obsoleted: 1.0)
605 |     @objc(sharedGroupValetWithGroupPrefix:sharedGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
606 |     public class func 🚫swift_vanillaSharedGroupValet(groupPrefix: String, nonEmptyIdentifier identifier: String, accessibility: Accessibility) -> Valet? {
607 |         guard let identifier = SharedGroupIdentifier(groupPrefix: groupPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:619:6: error: Objective-C interoperability is disabled
617 |     /// - Returns: A Valet that reads/writes iCloud-shared keychain elements that can be shared across applications written by the same development team.
618 |     @available(swift, obsoleted: 1.0)
619 |     @objc(iCloudValetWithAppIDPrefix:sharedGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
620 |     public class func 🚫swift_iCloudSharedGroupValet(appIDPrefix: String, nonEmptyIdentifier identifier: String, accessibility: CloudAccessibility) -> Valet? {
621 |         guard let identifier = SharedGroupIdentifier(appIDPrefix: appIDPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:633:6: error: Objective-C interoperability is disabled
631 |     /// - Returns: A Valet that reads/writes iCloud-shared keychain elements that can be shared across applications written by the same development team.
632 |     @available(swift, obsoleted: 1.0)
633 |     @objc(iCloudValetWithGroupPrefix:sharedGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
634 |     public class func 🚫swift_iCloudSharedGroupValet(groupPrefix: String, nonEmptyIdentifier identifier: String, accessibility: CloudAccessibility) -> Valet? {
635 |         guard let identifier = SharedGroupIdentifier(groupPrefix: groupPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:649:6: error: Objective-C interoperability is disabled
647 |     /// - SeeAlso: https://github.com/square/Valet/issues/140
648 |     @available(swift, obsoleted: 1.0)
649 |     @objc(valetWithExplicitlySetIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
650 |     public class func 🚫swift_valet(withExplicitlySet identifier: String, accessibility: Accessibility) -> Valet? {
651 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:665:6: error: Objective-C interoperability is disabled
663 |     /// - SeeAlso: https://github.com/square/Valet/issues/140
664 |     @available(swift, obsoleted: 1.0)
665 |     @objc(iCloudValetWithExplicitlySetIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
666 |     public class func 🚫swift_iCloudValet(withExplicitlySet identifier: String, accessibility: CloudAccessibility) -> Valet? {
667 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:683:6: error: Objective-C interoperability is disabled
681 |     /// - SeeAlso: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps
682 |     @available(swift, obsoleted: 1.0)
683 |     @objc(valetWithAppIDPrefix:explicitlySetSharedGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
684 |     public class func 🚫swift_sharedGroupValet(appIDPrefix: String, withExplicitlySet identifier: String, accessibility: Accessibility) -> Valet? {
685 |         guard let identifier = SharedGroupIdentifier(appIDPrefix: appIDPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:701:6: error: Objective-C interoperability is disabled
699 |     /// - SeeAlso: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps
700 |     @available(swift, obsoleted: 1.0)
701 |     @objc(iCloudValetWithAppIDPrefix:explicitlySetSharedGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
702 |     public class func 🚫swift_iCloudSharedGroupValet(appIDPrefix: String, withExplicitlySet identifier: String, accessibility: CloudAccessibility) -> Valet? {
703 |         guard let identifier = SharedGroupIdentifier(appIDPrefix: appIDPrefix, nonEmptyGroup: identifier) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:715:6: error: Objective-C interoperability is disabled
713 |     /// - Note: Will never prompt the user for Face ID, Touch ID, or password.
714 |     @available(swift, obsoleted: 1.0)
715 |     @objc(containsObjectForKey:)
    |      `- error: Objective-C interoperability is disabled
716 |     public func 🚫swift_containsObject(forKey key: String) -> Bool {
717 |         guard let containsObject = try? containsObject(forKey: key) else {
/host/spi-builder-workspace/Sources/Valet/Valet.swift:729:6: error: Objective-C interoperability is disabled
727 |     ///   - error: An error of type `KeychainError` or `MigrationError`.
728 |     @available(swift, obsoleted: 1.0)
729 |     @objc(migrateObjectsMatching:compactMap:error:)
    |      `- error: Objective-C interoperability is disabled
730 |     public func 🚫swift_migrateObjects(matching query: [String : AnyHashable], compactMap: (ObjectiveCCompatibilityMigratableKeyValuePairInput) -> ObjectiveCCompatibilityMigratableKeyValuePairOutput?) throws {
731 |         try objc_compatibility_migrateObjects(matching: query, compactMap: compactMap)
/host/spi-builder-workspace/Sources/Valet/Valet.swift:740:6: error: Objective-C interoperability is disabled
738 |     ///   - error: An error of type `KeychainError` or `MigrationError`.
739 |     @available(swift, obsoleted: 1.0)
740 |     @objc(migrateObjectsFrom:compactMap:error:)
    |      `- error: Objective-C interoperability is disabled
741 |     public func 🚫swift_migrateObjects(from valet: Valet, compactMap: (ObjectiveCCompatibilityMigratableKeyValuePairInput) -> ObjectiveCCompatibilityMigratableKeyValuePairOutput?) throws {
742 |         try objc_compatibility_migrateObjects(matching: valet.baseKeychainQuery, compactMap: compactMap)
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Valet/Accessibility.swift /host/spi-builder-workspace/Sources/Valet/CloudAccessibility.swift /host/spi-builder-workspace/Sources/Valet/Identifier.swift /host/spi-builder-workspace/Sources/Valet/Internal/Configuration.swift /host/spi-builder-workspace/Sources/Valet/Internal/Keychain.swift /host/spi-builder-workspace/Sources/Valet/Internal/SecItem.swift /host/spi-builder-workspace/Sources/Valet/Internal/Service.swift /host/spi-builder-workspace/Sources/Valet/Internal/WeakStorage.swift /host/spi-builder-workspace/Sources/Valet/KeychainError.swift /host/spi-builder-workspace/Sources/Valet/MigratableKeyValuePair.swift /host/spi-builder-workspace/Sources/Valet/MigrationError.swift /host/spi-builder-workspace/Sources/Valet/SecureEnclave.swift /host/spi-builder-workspace/Sources/Valet/SecureEnclaveAccessControl.swift /host/spi-builder-workspace/Sources/Valet/SecureEnclaveValet.swift /host/spi-builder-workspace/Sources/Valet/SharedGroupIdentifier.swift /host/spi-builder-workspace/Sources/Valet/SinglePromptSecureEnclaveValet.swift /host/spi-builder-workspace/Sources/Valet/Valet.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Valet -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Valet_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Modules/Valet.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Modules/Valet.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Valet-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Valet-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Valet-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-webassembly-wasm32/Valet-t.build/Objects-normal/wasm32/Modules/Valet.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm