The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build Siesta, reference 1.5.2 (43f340), with Swift 6.1 for Wasm on 27 May 2025 21:19:07 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

 67 |         self.cause = cause
 68 |
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:77:50: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 75 |             { self.userMessage = message }
 76 |         else if let code = self.httpStatusCode
 77 |             { self.userMessage = HTTPURLResponse.localizedString(forStatusCode: code).capitalized }
    |                                                  `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 78 |         else
 79 |             { self.userMessage = NSLocalizedString("Request failed", comment: "userMessage") }   // Is this reachable?
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:26:2: error: Objective-C interoperability is disabled
 24 |   questions changes.
 25 | */
 26 | @objc(BOSResource)
    |  `- error: Objective-C interoperability is disabled
 27 | public final class Resource: NSObject
 28 |     {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:32:6: error: Objective-C interoperability is disabled
 30 |
 31 |     /// The API to which this resource belongs. Provides configuration defaults and instance uniqueness.
 32 |     @objc
    |      `- error: Objective-C interoperability is disabled
 33 |     public let service: Service
 34 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:36:6: error: Objective-C interoperability is disabled
 34 |
 35 |     /// The canoncial URL of this resource.
 36 |     @objc
    |      `- error: Objective-C interoperability is disabled
 37 |     public let url: URL
 38 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:124:6: error: Objective-C interoperability is disabled
122 |
123 |     /// The time of the most recent update to either `latestData` or `latestError`.
124 |     @objc
    |      `- error: Objective-C interoperability is disabled
125 |     public var timestamp: TimeInterval
126 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:141:6: error: Objective-C interoperability is disabled
139 |     /// True if any load requests (i.e. from calls to `load(...)` and `loadIfNeeded()`)
140 |     /// for this resource are in progress.
141 |     @objc
    |      `- error: Objective-C interoperability is disabled
142 |     public var isLoading: Bool
143 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:150:6: error: Objective-C interoperability is disabled
148 |
149 |     /// True if any requests for this resource are in progress.
150 |     @objc
    |      `- error: Objective-C interoperability is disabled
151 |     public var isRequesting: Bool
152 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:312:6: error: Objective-C interoperability is disabled
310 |         - the timestamp on `latestError` is more recent than `retryTime` seconds ago.
311 |     */
312 |     @objc
    |      `- error: Objective-C interoperability is disabled
313 |     public var isUpToDate: Bool
314 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:489:6: error: Objective-C interoperability is disabled
487 |       If this resource has no observers, cancels all `loadRequests`.
488 |     */
489 |     @objc
    |      `- error: Objective-C interoperability is disabled
490 |     public func cancelLoadIfUnobserved()
491 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:511:6: error: Objective-C interoperability is disabled
509 |       The `callback` is called after the given delay, regardless of whether the request was cancelled.
510 |     */
511 |     @objc
    |      `- error: Objective-C interoperability is disabled
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:633:6: error: Objective-C interoperability is disabled
631 |       If this resource has no content, this method sets the content type to `application/binary`.
632 |     */
633 |     @objc
    |      `- error: Objective-C interoperability is disabled
634 |     public func overrideLocalContent(with content: Any)
635 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:653:6: error: Objective-C interoperability is disabled
651 |       - SeeAlso: `wipe()`
652 |     */
653 |     @objc
    |      `- error: Objective-C interoperability is disabled
654 |     public func invalidate()
655 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:673:6: error: Objective-C interoperability is disabled
671 |       - SeeAlso: `invalidate()`
672 |     */
673 |     @objc
    |      `- error: Objective-C interoperability is disabled
674 |     public func wipe()
675 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:56:9: error: cannot find 'DispatchQueue' in scope
 54 |     public func configuration(for method: RequestMethod) -> Configuration
 55 |         {
 56 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 57 |
 58 |         if permanentFailure != nil   // Resources with invalid URLs aren’t configurable
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:127:9: error: cannot find 'DispatchQueue' in scope
125 |     public var timestamp: TimeInterval
126 |         {
127 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
128 |
129 |         return max(
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:144:9: error: cannot find 'DispatchQueue' in scope
142 |     public var isLoading: Bool
143 |         {
144 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
145 |
146 |         return !loadRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:153:9: error: cannot find 'DispatchQueue' in scope
151 |     public var isRequesting: Bool
152 |         {
153 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
154 |
155 |         return !allRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:168:9: error: cannot find 'DispatchQueue' in scope
166 |     internal init(service: Service, url: URL)
167 |         {
168 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
169 |
170 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:179:9: error: cannot find 'DispatchQueue' in scope
177 |     internal init(service: Service, invalidURLSource: URLConvertible?)
178 |         {
179 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
180 |
181 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |         -> Request
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if let permanentFailure = permanentFailure
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:269:37: error: cannot find 'URLRequest' in scope
267 |         let delegate = NetworkRequestDelegate(resource: self)
268 |             {
269 |             var underlyingRequest = URLRequest(url: self.url)
    |                                     `- error: cannot find 'URLRequest' in scope
270 |             underlyingRequest.httpMethod = method.rawValue.uppercased()
271 |             let config = self.configuration(for: method)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:365:9: error: cannot find 'DispatchQueue' in scope
363 |     public func loadIfNeeded() -> Request?
364 |         {
365 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
366 |
367 |         if let loadReq = loadRequests.first
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:442:28: error: cannot infer contextual base in reference to member 'get'
440 |     public func load() -> Request
441 |         {
442 |         let req = request(.get)
    |                            `- error: cannot infer contextual base in reference to member 'get'
443 |             {
444 |             underlyingRequest in
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:471:9: error: cannot find 'DispatchQueue' in scope
469 |     public func load(using req: Request) -> Request
470 |         {
471 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
472 |
473 |         trackRequest(req, in: &loadRequests)
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:492:9: error: cannot find 'DispatchQueue' in scope
490 |     public func cancelLoadIfUnobserved()
491 |         {
492 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
493 |
494 |         guard !beingObserved else
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:9: error: cannot find 'DispatchQueue' in scope
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |         `- error: cannot find 'DispatchQueue' in scope
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:50: error: cannot call value of non-function type 'Date'
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |                                                  `- error: cannot call value of non-function type 'Date'
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:537:9: error: cannot find 'DispatchQueue' in scope
535 |     private func receiveNewData(_ entity: Entity<Any>, source: ResourceEvent.NewDataSource)
536 |         {
537 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
538 |
539 |         SiestaLog.log(.stateChanges, [self, "received new data from", source, ":", entity])
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:656:9: error: cannot find 'DispatchQueue' in scope
654 |     public func invalidate()
655 |         {
656 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
657 |
658 |         invalidated = true
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:676:9: error: cannot find 'DispatchQueue' in scope
674 |     public func wipe()
675 |         {
676 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
677 |
678 |         SiestaLog.log(.stateChanges, [self, "wiped"])
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:59:9: error: cannot find 'DispatchQueue' in scope
 57 |     mutating func addCallback(_ callback: @escaping (CallbackArguments) -> Void)
 58 |         {
 59 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 60 |
 61 |         if let completedValue = completedValue
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:66:13: error: cannot find 'DispatchQueue' in scope
 64 |             // caller can finish their business first.
 65 |
 66 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 67 |                 { callback(completedValue) }
 68 |             }
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:77:9: error: cannot find 'DispatchQueue' in scope
 75 |     func notify(_ arguments: CallbackArguments)
 76 |         {
 77 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 78 |
 79 |         // Note that callbacks will be [] after notifyOfCompletion() called, so this becomes a noop.
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:97:9: error: cannot find 'DispatchQueue' in scope
 95 |
 96 |         let snapshot = self
 97 |         DispatchQueue.main.async
    |         `- error: cannot find 'DispatchQueue' in scope
 98 |             { snapshot.notify(arguments) }
 99 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:62:19: error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 60 |         guard let rawBody = text.data(using: encoding),
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
    |                   `- error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 63 |                       CFStringConvertNSStringEncodingToEncoding(
 64 |                           encoding.rawValue))
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:63:23: error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
 63 |                       CFStringConvertNSStringEncodingToEncoding(
    |                       `- error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 64 |                           encoding.rawValue))
 65 |         else
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:61:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 59 |     */
 60 |     public init(
 61 |             response: HTTPURLResponse?,
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 62 |             content: Any?,
 63 |             cause: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:66:41: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 64 |             userMessage: String? = nil)
 65 |         {
 66 |         self.httpStatusCode = response?.statusCode
    |                                         `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 67 |         self.cause = cause
 68 |
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:77:50: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 75 |             { self.userMessage = message }
 76 |         else if let code = self.httpStatusCode
 77 |             { self.userMessage = HTTPURLResponse.localizedString(forStatusCode: code).capitalized }
    |                                                  `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 78 |         else
 79 |             { self.userMessage = NSLocalizedString("Request failed", comment: "userMessage") }   // Is this reachable?
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:26:2: error: Objective-C interoperability is disabled
 24 |   questions changes.
 25 | */
 26 | @objc(BOSResource)
    |  `- error: Objective-C interoperability is disabled
 27 | public final class Resource: NSObject
 28 |     {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:32:6: error: Objective-C interoperability is disabled
 30 |
 31 |     /// The API to which this resource belongs. Provides configuration defaults and instance uniqueness.
 32 |     @objc
    |      `- error: Objective-C interoperability is disabled
 33 |     public let service: Service
 34 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:36:6: error: Objective-C interoperability is disabled
 34 |
 35 |     /// The canoncial URL of this resource.
 36 |     @objc
    |      `- error: Objective-C interoperability is disabled
 37 |     public let url: URL
 38 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:124:6: error: Objective-C interoperability is disabled
122 |
123 |     /// The time of the most recent update to either `latestData` or `latestError`.
124 |     @objc
    |      `- error: Objective-C interoperability is disabled
125 |     public var timestamp: TimeInterval
126 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:141:6: error: Objective-C interoperability is disabled
139 |     /// True if any load requests (i.e. from calls to `load(...)` and `loadIfNeeded()`)
140 |     /// for this resource are in progress.
141 |     @objc
    |      `- error: Objective-C interoperability is disabled
142 |     public var isLoading: Bool
143 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:150:6: error: Objective-C interoperability is disabled
148 |
149 |     /// True if any requests for this resource are in progress.
150 |     @objc
    |      `- error: Objective-C interoperability is disabled
151 |     public var isRequesting: Bool
152 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:312:6: error: Objective-C interoperability is disabled
310 |         - the timestamp on `latestError` is more recent than `retryTime` seconds ago.
311 |     */
312 |     @objc
    |      `- error: Objective-C interoperability is disabled
313 |     public var isUpToDate: Bool
314 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:489:6: error: Objective-C interoperability is disabled
487 |       If this resource has no observers, cancels all `loadRequests`.
488 |     */
489 |     @objc
    |      `- error: Objective-C interoperability is disabled
490 |     public func cancelLoadIfUnobserved()
491 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:511:6: error: Objective-C interoperability is disabled
509 |       The `callback` is called after the given delay, regardless of whether the request was cancelled.
510 |     */
511 |     @objc
    |      `- error: Objective-C interoperability is disabled
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:633:6: error: Objective-C interoperability is disabled
631 |       If this resource has no content, this method sets the content type to `application/binary`.
632 |     */
633 |     @objc
    |      `- error: Objective-C interoperability is disabled
634 |     public func overrideLocalContent(with content: Any)
635 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:653:6: error: Objective-C interoperability is disabled
651 |       - SeeAlso: `wipe()`
652 |     */
653 |     @objc
    |      `- error: Objective-C interoperability is disabled
654 |     public func invalidate()
655 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:673:6: error: Objective-C interoperability is disabled
671 |       - SeeAlso: `invalidate()`
672 |     */
673 |     @objc
    |      `- error: Objective-C interoperability is disabled
674 |     public func wipe()
675 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:56:9: error: cannot find 'DispatchQueue' in scope
 54 |     public func configuration(for method: RequestMethod) -> Configuration
 55 |         {
 56 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 57 |
 58 |         if permanentFailure != nil   // Resources with invalid URLs aren’t configurable
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:127:9: error: cannot find 'DispatchQueue' in scope
125 |     public var timestamp: TimeInterval
126 |         {
127 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
128 |
129 |         return max(
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:144:9: error: cannot find 'DispatchQueue' in scope
142 |     public var isLoading: Bool
143 |         {
144 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
145 |
146 |         return !loadRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:153:9: error: cannot find 'DispatchQueue' in scope
151 |     public var isRequesting: Bool
152 |         {
153 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
154 |
155 |         return !allRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:168:9: error: cannot find 'DispatchQueue' in scope
166 |     internal init(service: Service, url: URL)
167 |         {
168 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
169 |
170 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:179:9: error: cannot find 'DispatchQueue' in scope
177 |     internal init(service: Service, invalidURLSource: URLConvertible?)
178 |         {
179 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
180 |
181 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |         -> Request
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if let permanentFailure = permanentFailure
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:269:37: error: cannot find 'URLRequest' in scope
267 |         let delegate = NetworkRequestDelegate(resource: self)
268 |             {
269 |             var underlyingRequest = URLRequest(url: self.url)
    |                                     `- error: cannot find 'URLRequest' in scope
270 |             underlyingRequest.httpMethod = method.rawValue.uppercased()
271 |             let config = self.configuration(for: method)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:365:9: error: cannot find 'DispatchQueue' in scope
363 |     public func loadIfNeeded() -> Request?
364 |         {
365 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
366 |
367 |         if let loadReq = loadRequests.first
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:442:28: error: cannot infer contextual base in reference to member 'get'
440 |     public func load() -> Request
441 |         {
442 |         let req = request(.get)
    |                            `- error: cannot infer contextual base in reference to member 'get'
443 |             {
444 |             underlyingRequest in
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:471:9: error: cannot find 'DispatchQueue' in scope
469 |     public func load(using req: Request) -> Request
470 |         {
471 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
472 |
473 |         trackRequest(req, in: &loadRequests)
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:492:9: error: cannot find 'DispatchQueue' in scope
490 |     public func cancelLoadIfUnobserved()
491 |         {
492 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
493 |
494 |         guard !beingObserved else
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:9: error: cannot find 'DispatchQueue' in scope
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |         `- error: cannot find 'DispatchQueue' in scope
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:50: error: cannot call value of non-function type 'Date'
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |                                                  `- error: cannot call value of non-function type 'Date'
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:537:9: error: cannot find 'DispatchQueue' in scope
535 |     private func receiveNewData(_ entity: Entity<Any>, source: ResourceEvent.NewDataSource)
536 |         {
537 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
538 |
539 |         SiestaLog.log(.stateChanges, [self, "received new data from", source, ":", entity])
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:656:9: error: cannot find 'DispatchQueue' in scope
654 |     public func invalidate()
655 |         {
656 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
657 |
658 |         invalidated = true
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:676:9: error: cannot find 'DispatchQueue' in scope
674 |     public func wipe()
675 |         {
676 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
677 |
678 |         SiestaLog.log(.stateChanges, [self, "wiped"])
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:59:9: error: cannot find 'DispatchQueue' in scope
 57 |     mutating func addCallback(_ callback: @escaping (CallbackArguments) -> Void)
 58 |         {
 59 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 60 |
 61 |         if let completedValue = completedValue
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:66:13: error: cannot find 'DispatchQueue' in scope
 64 |             // caller can finish their business first.
 65 |
 66 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 67 |                 { callback(completedValue) }
 68 |             }
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:77:9: error: cannot find 'DispatchQueue' in scope
 75 |     func notify(_ arguments: CallbackArguments)
 76 |         {
 77 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 78 |
 79 |         // Note that callbacks will be [] after notifyOfCompletion() called, so this becomes a noop.
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:97:9: error: cannot find 'DispatchQueue' in scope
 95 |
 96 |         let snapshot = self
 97 |         DispatchQueue.main.async
    |         `- error: cannot find 'DispatchQueue' in scope
 98 |             { snapshot.notify(arguments) }
 99 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:62:19: error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 60 |         guard let rawBody = text.data(using: encoding),
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
    |                   `- error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 63 |                       CFStringConvertNSStringEncodingToEncoding(
 64 |                           encoding.rawValue))
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:63:23: error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
 63 |                       CFStringConvertNSStringEncodingToEncoding(
    |                       `- error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 64 |                           encoding.rawValue))
 65 |         else
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:61:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 59 |     */
 60 |     public init(
 61 |             response: HTTPURLResponse?,
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 62 |             content: Any?,
 63 |             cause: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:66:41: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 64 |             userMessage: String? = nil)
 65 |         {
 66 |         self.httpStatusCode = response?.statusCode
    |                                         `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 67 |         self.cause = cause
 68 |
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:77:50: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 75 |             { self.userMessage = message }
 76 |         else if let code = self.httpStatusCode
 77 |             { self.userMessage = HTTPURLResponse.localizedString(forStatusCode: code).capitalized }
    |                                                  `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 78 |         else
 79 |             { self.userMessage = NSLocalizedString("Request failed", comment: "userMessage") }   // Is this reachable?
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:26:2: error: Objective-C interoperability is disabled
 24 |   questions changes.
 25 | */
 26 | @objc(BOSResource)
    |  `- error: Objective-C interoperability is disabled
 27 | public final class Resource: NSObject
 28 |     {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:32:6: error: Objective-C interoperability is disabled
 30 |
 31 |     /// The API to which this resource belongs. Provides configuration defaults and instance uniqueness.
 32 |     @objc
    |      `- error: Objective-C interoperability is disabled
 33 |     public let service: Service
 34 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:36:6: error: Objective-C interoperability is disabled
 34 |
 35 |     /// The canoncial URL of this resource.
 36 |     @objc
    |      `- error: Objective-C interoperability is disabled
 37 |     public let url: URL
 38 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:124:6: error: Objective-C interoperability is disabled
122 |
123 |     /// The time of the most recent update to either `latestData` or `latestError`.
124 |     @objc
    |      `- error: Objective-C interoperability is disabled
125 |     public var timestamp: TimeInterval
126 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:141:6: error: Objective-C interoperability is disabled
139 |     /// True if any load requests (i.e. from calls to `load(...)` and `loadIfNeeded()`)
140 |     /// for this resource are in progress.
141 |     @objc
    |      `- error: Objective-C interoperability is disabled
142 |     public var isLoading: Bool
143 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:150:6: error: Objective-C interoperability is disabled
148 |
149 |     /// True if any requests for this resource are in progress.
150 |     @objc
    |      `- error: Objective-C interoperability is disabled
151 |     public var isRequesting: Bool
152 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:312:6: error: Objective-C interoperability is disabled
310 |         - the timestamp on `latestError` is more recent than `retryTime` seconds ago.
311 |     */
312 |     @objc
    |      `- error: Objective-C interoperability is disabled
313 |     public var isUpToDate: Bool
314 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:489:6: error: Objective-C interoperability is disabled
487 |       If this resource has no observers, cancels all `loadRequests`.
488 |     */
489 |     @objc
    |      `- error: Objective-C interoperability is disabled
490 |     public func cancelLoadIfUnobserved()
491 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:511:6: error: Objective-C interoperability is disabled
509 |       The `callback` is called after the given delay, regardless of whether the request was cancelled.
510 |     */
511 |     @objc
    |      `- error: Objective-C interoperability is disabled
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:633:6: error: Objective-C interoperability is disabled
631 |       If this resource has no content, this method sets the content type to `application/binary`.
632 |     */
633 |     @objc
    |      `- error: Objective-C interoperability is disabled
634 |     public func overrideLocalContent(with content: Any)
635 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:653:6: error: Objective-C interoperability is disabled
651 |       - SeeAlso: `wipe()`
652 |     */
653 |     @objc
    |      `- error: Objective-C interoperability is disabled
654 |     public func invalidate()
655 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:673:6: error: Objective-C interoperability is disabled
671 |       - SeeAlso: `invalidate()`
672 |     */
673 |     @objc
    |      `- error: Objective-C interoperability is disabled
674 |     public func wipe()
675 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:56:9: error: cannot find 'DispatchQueue' in scope
 54 |     public func configuration(for method: RequestMethod) -> Configuration
 55 |         {
 56 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 57 |
 58 |         if permanentFailure != nil   // Resources with invalid URLs aren’t configurable
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:127:9: error: cannot find 'DispatchQueue' in scope
125 |     public var timestamp: TimeInterval
126 |         {
127 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
128 |
129 |         return max(
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:144:9: error: cannot find 'DispatchQueue' in scope
142 |     public var isLoading: Bool
143 |         {
144 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
145 |
146 |         return !loadRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:153:9: error: cannot find 'DispatchQueue' in scope
151 |     public var isRequesting: Bool
152 |         {
153 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
154 |
155 |         return !allRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:168:9: error: cannot find 'DispatchQueue' in scope
166 |     internal init(service: Service, url: URL)
167 |         {
168 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
169 |
170 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:179:9: error: cannot find 'DispatchQueue' in scope
177 |     internal init(service: Service, invalidURLSource: URLConvertible?)
178 |         {
179 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
180 |
181 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |         -> Request
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if let permanentFailure = permanentFailure
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:269:37: error: cannot find 'URLRequest' in scope
267 |         let delegate = NetworkRequestDelegate(resource: self)
268 |             {
269 |             var underlyingRequest = URLRequest(url: self.url)
    |                                     `- error: cannot find 'URLRequest' in scope
270 |             underlyingRequest.httpMethod = method.rawValue.uppercased()
271 |             let config = self.configuration(for: method)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:365:9: error: cannot find 'DispatchQueue' in scope
363 |     public func loadIfNeeded() -> Request?
364 |         {
365 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
366 |
367 |         if let loadReq = loadRequests.first
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:442:28: error: cannot infer contextual base in reference to member 'get'
440 |     public func load() -> Request
441 |         {
442 |         let req = request(.get)
    |                            `- error: cannot infer contextual base in reference to member 'get'
443 |             {
444 |             underlyingRequest in
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:471:9: error: cannot find 'DispatchQueue' in scope
469 |     public func load(using req: Request) -> Request
470 |         {
471 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
472 |
473 |         trackRequest(req, in: &loadRequests)
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:492:9: error: cannot find 'DispatchQueue' in scope
490 |     public func cancelLoadIfUnobserved()
491 |         {
492 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
493 |
494 |         guard !beingObserved else
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:9: error: cannot find 'DispatchQueue' in scope
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |         `- error: cannot find 'DispatchQueue' in scope
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:50: error: cannot call value of non-function type 'Date'
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |                                                  `- error: cannot call value of non-function type 'Date'
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:537:9: error: cannot find 'DispatchQueue' in scope
535 |     private func receiveNewData(_ entity: Entity<Any>, source: ResourceEvent.NewDataSource)
536 |         {
537 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
538 |
539 |         SiestaLog.log(.stateChanges, [self, "received new data from", source, ":", entity])
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:656:9: error: cannot find 'DispatchQueue' in scope
654 |     public func invalidate()
655 |         {
656 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
657 |
658 |         invalidated = true
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:676:9: error: cannot find 'DispatchQueue' in scope
674 |     public func wipe()
675 |         {
676 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
677 |
678 |         SiestaLog.log(.stateChanges, [self, "wiped"])
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:59:9: error: cannot find 'DispatchQueue' in scope
 57 |     mutating func addCallback(_ callback: @escaping (CallbackArguments) -> Void)
 58 |         {
 59 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 60 |
 61 |         if let completedValue = completedValue
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:66:13: error: cannot find 'DispatchQueue' in scope
 64 |             // caller can finish their business first.
 65 |
 66 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 67 |                 { callback(completedValue) }
 68 |             }
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:77:9: error: cannot find 'DispatchQueue' in scope
 75 |     func notify(_ arguments: CallbackArguments)
 76 |         {
 77 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 78 |
 79 |         // Note that callbacks will be [] after notifyOfCompletion() called, so this becomes a noop.
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:97:9: error: cannot find 'DispatchQueue' in scope
 95 |
 96 |         let snapshot = self
 97 |         DispatchQueue.main.async
    |         `- error: cannot find 'DispatchQueue' in scope
 98 |             { snapshot.notify(arguments) }
 99 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:62:19: error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 60 |         guard let rawBody = text.data(using: encoding),
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
    |                   `- error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 63 |                       CFStringConvertNSStringEncodingToEncoding(
 64 |                           encoding.rawValue))
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:63:23: error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
 63 |                       CFStringConvertNSStringEncodingToEncoding(
    |                       `- error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 64 |                           encoding.rawValue))
 65 |         else
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:61:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 59 |     */
 60 |     public init(
 61 |             response: HTTPURLResponse?,
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 62 |             content: Any?,
 63 |             cause: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:66:41: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 64 |             userMessage: String? = nil)
 65 |         {
 66 |         self.httpStatusCode = response?.statusCode
    |                                         `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 67 |         self.cause = cause
 68 |
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:77:50: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 75 |             { self.userMessage = message }
 76 |         else if let code = self.httpStatusCode
 77 |             { self.userMessage = HTTPURLResponse.localizedString(forStatusCode: code).capitalized }
    |                                                  `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 78 |         else
 79 |             { self.userMessage = NSLocalizedString("Request failed", comment: "userMessage") }   // Is this reachable?
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:26:2: error: Objective-C interoperability is disabled
 24 |   questions changes.
 25 | */
 26 | @objc(BOSResource)
    |  `- error: Objective-C interoperability is disabled
 27 | public final class Resource: NSObject
 28 |     {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:32:6: error: Objective-C interoperability is disabled
 30 |
 31 |     /// The API to which this resource belongs. Provides configuration defaults and instance uniqueness.
 32 |     @objc
    |      `- error: Objective-C interoperability is disabled
 33 |     public let service: Service
 34 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:36:6: error: Objective-C interoperability is disabled
 34 |
 35 |     /// The canoncial URL of this resource.
 36 |     @objc
    |      `- error: Objective-C interoperability is disabled
 37 |     public let url: URL
 38 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:124:6: error: Objective-C interoperability is disabled
122 |
123 |     /// The time of the most recent update to either `latestData` or `latestError`.
124 |     @objc
    |      `- error: Objective-C interoperability is disabled
125 |     public var timestamp: TimeInterval
126 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:141:6: error: Objective-C interoperability is disabled
139 |     /// True if any load requests (i.e. from calls to `load(...)` and `loadIfNeeded()`)
140 |     /// for this resource are in progress.
141 |     @objc
    |      `- error: Objective-C interoperability is disabled
142 |     public var isLoading: Bool
143 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:150:6: error: Objective-C interoperability is disabled
148 |
149 |     /// True if any requests for this resource are in progress.
150 |     @objc
    |      `- error: Objective-C interoperability is disabled
151 |     public var isRequesting: Bool
152 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:312:6: error: Objective-C interoperability is disabled
310 |         - the timestamp on `latestError` is more recent than `retryTime` seconds ago.
311 |     */
312 |     @objc
    |      `- error: Objective-C interoperability is disabled
313 |     public var isUpToDate: Bool
314 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:489:6: error: Objective-C interoperability is disabled
487 |       If this resource has no observers, cancels all `loadRequests`.
488 |     */
489 |     @objc
    |      `- error: Objective-C interoperability is disabled
490 |     public func cancelLoadIfUnobserved()
491 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:511:6: error: Objective-C interoperability is disabled
509 |       The `callback` is called after the given delay, regardless of whether the request was cancelled.
510 |     */
511 |     @objc
    |      `- error: Objective-C interoperability is disabled
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:633:6: error: Objective-C interoperability is disabled
631 |       If this resource has no content, this method sets the content type to `application/binary`.
632 |     */
633 |     @objc
    |      `- error: Objective-C interoperability is disabled
634 |     public func overrideLocalContent(with content: Any)
635 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:653:6: error: Objective-C interoperability is disabled
651 |       - SeeAlso: `wipe()`
652 |     */
653 |     @objc
    |      `- error: Objective-C interoperability is disabled
654 |     public func invalidate()
655 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:673:6: error: Objective-C interoperability is disabled
671 |       - SeeAlso: `invalidate()`
672 |     */
673 |     @objc
    |      `- error: Objective-C interoperability is disabled
674 |     public func wipe()
675 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:56:9: error: cannot find 'DispatchQueue' in scope
 54 |     public func configuration(for method: RequestMethod) -> Configuration
 55 |         {
 56 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 57 |
 58 |         if permanentFailure != nil   // Resources with invalid URLs aren’t configurable
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:127:9: error: cannot find 'DispatchQueue' in scope
125 |     public var timestamp: TimeInterval
126 |         {
127 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
128 |
129 |         return max(
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:144:9: error: cannot find 'DispatchQueue' in scope
142 |     public var isLoading: Bool
143 |         {
144 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
145 |
146 |         return !loadRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:153:9: error: cannot find 'DispatchQueue' in scope
151 |     public var isRequesting: Bool
152 |         {
153 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
154 |
155 |         return !allRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:168:9: error: cannot find 'DispatchQueue' in scope
166 |     internal init(service: Service, url: URL)
167 |         {
168 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
169 |
170 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:179:9: error: cannot find 'DispatchQueue' in scope
177 |     internal init(service: Service, invalidURLSource: URLConvertible?)
178 |         {
179 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
180 |
181 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |         -> Request
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if let permanentFailure = permanentFailure
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:269:37: error: cannot find 'URLRequest' in scope
267 |         let delegate = NetworkRequestDelegate(resource: self)
268 |             {
269 |             var underlyingRequest = URLRequest(url: self.url)
    |                                     `- error: cannot find 'URLRequest' in scope
270 |             underlyingRequest.httpMethod = method.rawValue.uppercased()
271 |             let config = self.configuration(for: method)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:365:9: error: cannot find 'DispatchQueue' in scope
363 |     public func loadIfNeeded() -> Request?
364 |         {
365 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
366 |
367 |         if let loadReq = loadRequests.first
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:442:28: error: cannot infer contextual base in reference to member 'get'
440 |     public func load() -> Request
441 |         {
442 |         let req = request(.get)
    |                            `- error: cannot infer contextual base in reference to member 'get'
443 |             {
444 |             underlyingRequest in
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:471:9: error: cannot find 'DispatchQueue' in scope
469 |     public func load(using req: Request) -> Request
470 |         {
471 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
472 |
473 |         trackRequest(req, in: &loadRequests)
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:492:9: error: cannot find 'DispatchQueue' in scope
490 |     public func cancelLoadIfUnobserved()
491 |         {
492 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
493 |
494 |         guard !beingObserved else
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:9: error: cannot find 'DispatchQueue' in scope
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |         `- error: cannot find 'DispatchQueue' in scope
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:50: error: cannot call value of non-function type 'Date'
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |                                                  `- error: cannot call value of non-function type 'Date'
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:537:9: error: cannot find 'DispatchQueue' in scope
535 |     private func receiveNewData(_ entity: Entity<Any>, source: ResourceEvent.NewDataSource)
536 |         {
537 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
538 |
539 |         SiestaLog.log(.stateChanges, [self, "received new data from", source, ":", entity])
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:656:9: error: cannot find 'DispatchQueue' in scope
654 |     public func invalidate()
655 |         {
656 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
657 |
658 |         invalidated = true
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:676:9: error: cannot find 'DispatchQueue' in scope
674 |     public func wipe()
675 |         {
676 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
677 |
678 |         SiestaLog.log(.stateChanges, [self, "wiped"])
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:59:9: error: cannot find 'DispatchQueue' in scope
 57 |     mutating func addCallback(_ callback: @escaping (CallbackArguments) -> Void)
 58 |         {
 59 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 60 |
 61 |         if let completedValue = completedValue
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:66:13: error: cannot find 'DispatchQueue' in scope
 64 |             // caller can finish their business first.
 65 |
 66 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 67 |                 { callback(completedValue) }
 68 |             }
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:77:9: error: cannot find 'DispatchQueue' in scope
 75 |     func notify(_ arguments: CallbackArguments)
 76 |         {
 77 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 78 |
 79 |         // Note that callbacks will be [] after notifyOfCompletion() called, so this becomes a noop.
/host/spi-builder-workspace/Source/Siesta/Request/RequestCallbacks.swift:97:9: error: cannot find 'DispatchQueue' in scope
 95 |
 96 |         let snapshot = self
 97 |         DispatchQueue.main.async
    |         `- error: cannot find 'DispatchQueue' in scope
 98 |             { snapshot.notify(arguments) }
 99 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:62:19: error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 60 |         guard let rawBody = text.data(using: encoding),
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
    |                   `- error: cannot find 'CFStringConvertEncodingToIANACharSetName' in scope
 63 |                       CFStringConvertNSStringEncodingToEncoding(
 64 |                           encoding.rawValue))
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:63:23: error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 61 |               let encodingName =
 62 |                   CFStringConvertEncodingToIANACharSetName(
 63 |                       CFStringConvertNSStringEncodingToEncoding(
    |                       `- error: cannot find 'CFStringConvertNSStringEncodingToEncoding' in scope
 64 |                           encoding.rawValue))
 65 |         else
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:61:23: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 59 |     */
 60 |     public init(
 61 |             response: HTTPURLResponse?,
    |                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 62 |             content: Any?,
 63 |             cause: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:66:41: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 64 |             userMessage: String? = nil)
 65 |         {
 66 |         self.httpStatusCode = response?.statusCode
    |                                         `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 67 |         self.cause = cause
 68 |
/host/spi-builder-workspace/Source/Siesta/RequestError.swift:77:50: error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 75 |             { self.userMessage = message }
 76 |         else if let code = self.httpStatusCode
 77 |             { self.userMessage = HTTPURLResponse.localizedString(forStatusCode: code).capitalized }
    |                                                  `- error: type 'HTTPURLResponse' (aka 'AnyObject') has no member 'localizedString'
 78 |         else
 79 |             { self.userMessage = NSLocalizedString("Request failed", comment: "userMessage") }   // Is this reachable?
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:26:2: error: Objective-C interoperability is disabled
 24 |   questions changes.
 25 | */
 26 | @objc(BOSResource)
    |  `- error: Objective-C interoperability is disabled
 27 | public final class Resource: NSObject
 28 |     {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:32:6: error: Objective-C interoperability is disabled
 30 |
 31 |     /// The API to which this resource belongs. Provides configuration defaults and instance uniqueness.
 32 |     @objc
    |      `- error: Objective-C interoperability is disabled
 33 |     public let service: Service
 34 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:36:6: error: Objective-C interoperability is disabled
 34 |
 35 |     /// The canoncial URL of this resource.
 36 |     @objc
    |      `- error: Objective-C interoperability is disabled
 37 |     public let url: URL
 38 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:124:6: error: Objective-C interoperability is disabled
122 |
123 |     /// The time of the most recent update to either `latestData` or `latestError`.
124 |     @objc
    |      `- error: Objective-C interoperability is disabled
125 |     public var timestamp: TimeInterval
126 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:141:6: error: Objective-C interoperability is disabled
139 |     /// True if any load requests (i.e. from calls to `load(...)` and `loadIfNeeded()`)
140 |     /// for this resource are in progress.
141 |     @objc
    |      `- error: Objective-C interoperability is disabled
142 |     public var isLoading: Bool
143 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:150:6: error: Objective-C interoperability is disabled
148 |
149 |     /// True if any requests for this resource are in progress.
150 |     @objc
    |      `- error: Objective-C interoperability is disabled
151 |     public var isRequesting: Bool
152 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:312:6: error: Objective-C interoperability is disabled
310 |         - the timestamp on `latestError` is more recent than `retryTime` seconds ago.
311 |     */
312 |     @objc
    |      `- error: Objective-C interoperability is disabled
313 |     public var isUpToDate: Bool
314 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:489:6: error: Objective-C interoperability is disabled
487 |       If this resource has no observers, cancels all `loadRequests`.
488 |     */
489 |     @objc
    |      `- error: Objective-C interoperability is disabled
490 |     public func cancelLoadIfUnobserved()
491 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:511:6: error: Objective-C interoperability is disabled
509 |       The `callback` is called after the given delay, regardless of whether the request was cancelled.
510 |     */
511 |     @objc
    |      `- error: Objective-C interoperability is disabled
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:633:6: error: Objective-C interoperability is disabled
631 |       If this resource has no content, this method sets the content type to `application/binary`.
632 |     */
633 |     @objc
    |      `- error: Objective-C interoperability is disabled
634 |     public func overrideLocalContent(with content: Any)
635 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:653:6: error: Objective-C interoperability is disabled
651 |       - SeeAlso: `wipe()`
652 |     */
653 |     @objc
    |      `- error: Objective-C interoperability is disabled
654 |     public func invalidate()
655 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:673:6: error: Objective-C interoperability is disabled
671 |       - SeeAlso: `invalidate()`
672 |     */
673 |     @objc
    |      `- error: Objective-C interoperability is disabled
674 |     public func wipe()
675 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:56:9: error: cannot find 'DispatchQueue' in scope
 54 |     public func configuration(for method: RequestMethod) -> Configuration
 55 |         {
 56 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 57 |
 58 |         if permanentFailure != nil   // Resources with invalid URLs aren’t configurable
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:127:9: error: cannot find 'DispatchQueue' in scope
125 |     public var timestamp: TimeInterval
126 |         {
127 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
128 |
129 |         return max(
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:144:9: error: cannot find 'DispatchQueue' in scope
142 |     public var isLoading: Bool
143 |         {
144 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
145 |
146 |         return !loadRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:153:9: error: cannot find 'DispatchQueue' in scope
151 |     public var isRequesting: Bool
152 |         {
153 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
154 |
155 |         return !allRequests.isEmpty
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:168:9: error: cannot find 'DispatchQueue' in scope
166 |     internal init(service: Service, url: URL)
167 |         {
168 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
169 |
170 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:179:9: error: cannot find 'DispatchQueue' in scope
177 |     internal init(service: Service, invalidURLSource: URLConvertible?)
178 |         {
179 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
180 |
181 |         self.service = service
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |         -> Request
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if let permanentFailure = permanentFailure
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:269:37: error: cannot find 'URLRequest' in scope
267 |         let delegate = NetworkRequestDelegate(resource: self)
268 |             {
269 |             var underlyingRequest = URLRequest(url: self.url)
    |                                     `- error: cannot find 'URLRequest' in scope
270 |             underlyingRequest.httpMethod = method.rawValue.uppercased()
271 |             let config = self.configuration(for: method)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:365:9: error: cannot find 'DispatchQueue' in scope
363 |     public func loadIfNeeded() -> Request?
364 |         {
365 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
366 |
367 |         if let loadReq = loadRequests.first
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:442:28: error: cannot infer contextual base in reference to member 'get'
440 |     public func load() -> Request
441 |         {
442 |         let req = request(.get)
    |                            `- error: cannot infer contextual base in reference to member 'get'
443 |             {
444 |             underlyingRequest in
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:471:9: error: cannot find 'DispatchQueue' in scope
469 |     public func load(using req: Request) -> Request
470 |         {
471 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
472 |
473 |         trackRequest(req, in: &loadRequests)
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:492:9: error: cannot find 'DispatchQueue' in scope
490 |     public func cancelLoadIfUnobserved()
491 |         {
492 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
493 |
494 |         guard !beingObserved else
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:9: error: cannot find 'DispatchQueue' in scope
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |         `- error: cannot find 'DispatchQueue' in scope
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:514:50: error: cannot call value of non-function type 'Date'
512 |     public func cancelLoadIfUnobserved(afterDelay delay: TimeInterval, then callback: @escaping () -> Void = {})
513 |         {
514 |         DispatchQueue.main.asyncAfter(deadline: .now() + delay)
    |                                                  `- error: cannot call value of non-function type 'Date'
515 |             {
516 |             self.cancelLoadIfUnobserved()
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:537:9: error: cannot find 'DispatchQueue' in scope
535 |     private func receiveNewData(_ entity: Entity<Any>, source: ResourceEvent.NewDataSource)
536 |         {
537 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
538 |
539 |         SiestaLog.log(.stateChanges, [self, "received new data from", source, ":", entity])
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:656:9: error: cannot find 'DispatchQueue' in scope
654 |     public func invalidate()
655 |         {
656 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
657 |
658 |         invalidated = true
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:676:9: error: cannot find 'DispatchQueue' in scope
674 |     public func wipe()
675 |         {
676 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
677 |
678 |         SiestaLog.log(.stateChanges, [self, "wiped"])
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:50:9: error: cannot find 'DispatchQueue' in scope
48 |         // NetworkRequest, and callers can’t assume the request is hard-wired, so we validate main thread anyway.
49 |
50 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
51 |
52 |         // Callback should run immediately, but not synchronously
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:54:9: error: cannot find 'DispatchQueue' in scope
52 |         // Callback should run immediately, but not synchronously
53 |
54 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
55 |             { callback(self.hardWiredResponse) }
56 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:62:9: error: cannot find 'DispatchQueue' in scope
60 |     func onProgress(_ callback: @escaping (Double) -> Void) -> Request
61 |         {
62 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
63 |
64 |         DispatchQueue.main.async
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:64:9: error: cannot find 'DispatchQueue' in scope
62 |         DispatchQueue.mainThreadPrecondition()
63 |
64 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
65 |             { callback(1) }  // That’s my secret, Captain: I’m always complete.
66 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:74:11: error: cannot find 'DispatchQueue' in scope
72 |
73 |     func cancel()
74 |         { DispatchQueue.mainThreadPrecondition() }
   |           `- error: cannot find 'DispatchQueue' in scope
75 |
76 |     func repeated() -> Request
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:159:9: error: cannot find 'DispatchQueue' in scope
157 |     final func start() -> Request
158 |         {
159 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
160 |
161 |         guard state == .notStarted else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:181:9: error: cannot find 'DispatchQueue' in scope
179 |     final func cancel()
180 |         {
181 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
182 |
183 |         guard state != .completed else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:213:9: error: cannot find 'DispatchQueue' in scope
211 |     final var state: RequestState
212 |         {
213 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
214 |
215 |         if responseCallbacks.completedValue != nil
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |     final func broadcastResponse(_ newInfo: ResponseInfo)
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if willIgnore(newInfo)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:48:13: error: cannot find 'DispatchQueue' in scope
 46 |             {
 47 |             res, data, err in
 48 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 49 |                 {
 50 |                 self.responseReceived(
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:91:9: error: cannot find 'DispatchQueue' in scope
 89 |             completionHandler: RequestCompletionHandler)
 90 |         {
 91 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:9: error: cannot find 'DispatchQueue' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |         `- error: cannot find 'DispatchQueue' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:35: error: cannot find 'DispatchQoS' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |                                   `- error: cannot find 'DispatchQoS' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:158:13: error: cannot find 'DispatchQueue' in scope
156 |                     : rawInfo
157 |
158 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
159 |                 { afterTransformation(processedInfo) }
160 |             }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:50:9: error: cannot find 'DispatchQueue' in scope
48 |         // NetworkRequest, and callers can’t assume the request is hard-wired, so we validate main thread anyway.
49 |
50 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
51 |
52 |         // Callback should run immediately, but not synchronously
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:54:9: error: cannot find 'DispatchQueue' in scope
52 |         // Callback should run immediately, but not synchronously
53 |
54 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
55 |             { callback(self.hardWiredResponse) }
56 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:62:9: error: cannot find 'DispatchQueue' in scope
60 |     func onProgress(_ callback: @escaping (Double) -> Void) -> Request
61 |         {
62 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
63 |
64 |         DispatchQueue.main.async
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:64:9: error: cannot find 'DispatchQueue' in scope
62 |         DispatchQueue.mainThreadPrecondition()
63 |
64 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
65 |             { callback(1) }  // That’s my secret, Captain: I’m always complete.
66 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:74:11: error: cannot find 'DispatchQueue' in scope
72 |
73 |     func cancel()
74 |         { DispatchQueue.mainThreadPrecondition() }
   |           `- error: cannot find 'DispatchQueue' in scope
75 |
76 |     func repeated() -> Request
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:159:9: error: cannot find 'DispatchQueue' in scope
157 |     final func start() -> Request
158 |         {
159 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
160 |
161 |         guard state == .notStarted else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:181:9: error: cannot find 'DispatchQueue' in scope
179 |     final func cancel()
180 |         {
181 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
182 |
183 |         guard state != .completed else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:213:9: error: cannot find 'DispatchQueue' in scope
211 |     final var state: RequestState
212 |         {
213 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
214 |
215 |         if responseCallbacks.completedValue != nil
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |     final func broadcastResponse(_ newInfo: ResponseInfo)
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if willIgnore(newInfo)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:48:13: error: cannot find 'DispatchQueue' in scope
 46 |             {
 47 |             res, data, err in
 48 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 49 |                 {
 50 |                 self.responseReceived(
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:91:9: error: cannot find 'DispatchQueue' in scope
 89 |             completionHandler: RequestCompletionHandler)
 90 |         {
 91 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:9: error: cannot find 'DispatchQueue' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |         `- error: cannot find 'DispatchQueue' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:35: error: cannot find 'DispatchQoS' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |                                   `- error: cannot find 'DispatchQoS' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:158:13: error: cannot find 'DispatchQueue' in scope
156 |                     : rawInfo
157 |
158 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
159 |                 { afterTransformation(processedInfo) }
160 |             }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:50:9: error: cannot find 'DispatchQueue' in scope
48 |         // NetworkRequest, and callers can’t assume the request is hard-wired, so we validate main thread anyway.
49 |
50 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
51 |
52 |         // Callback should run immediately, but not synchronously
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:54:9: error: cannot find 'DispatchQueue' in scope
52 |         // Callback should run immediately, but not synchronously
53 |
54 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
55 |             { callback(self.hardWiredResponse) }
56 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:62:9: error: cannot find 'DispatchQueue' in scope
60 |     func onProgress(_ callback: @escaping (Double) -> Void) -> Request
61 |         {
62 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
63 |
64 |         DispatchQueue.main.async
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:64:9: error: cannot find 'DispatchQueue' in scope
62 |         DispatchQueue.mainThreadPrecondition()
63 |
64 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
65 |             { callback(1) }  // That’s my secret, Captain: I’m always complete.
66 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:74:11: error: cannot find 'DispatchQueue' in scope
72 |
73 |     func cancel()
74 |         { DispatchQueue.mainThreadPrecondition() }
   |           `- error: cannot find 'DispatchQueue' in scope
75 |
76 |     func repeated() -> Request
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:159:9: error: cannot find 'DispatchQueue' in scope
157 |     final func start() -> Request
158 |         {
159 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
160 |
161 |         guard state == .notStarted else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:181:9: error: cannot find 'DispatchQueue' in scope
179 |     final func cancel()
180 |         {
181 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
182 |
183 |         guard state != .completed else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:213:9: error: cannot find 'DispatchQueue' in scope
211 |     final var state: RequestState
212 |         {
213 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
214 |
215 |         if responseCallbacks.completedValue != nil
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |     final func broadcastResponse(_ newInfo: ResponseInfo)
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if willIgnore(newInfo)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:48:13: error: cannot find 'DispatchQueue' in scope
 46 |             {
 47 |             res, data, err in
 48 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 49 |                 {
 50 |                 self.responseReceived(
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:91:9: error: cannot find 'DispatchQueue' in scope
 89 |             completionHandler: RequestCompletionHandler)
 90 |         {
 91 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:9: error: cannot find 'DispatchQueue' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |         `- error: cannot find 'DispatchQueue' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:35: error: cannot find 'DispatchQoS' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |                                   `- error: cannot find 'DispatchQoS' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:158:13: error: cannot find 'DispatchQueue' in scope
156 |                     : rawInfo
157 |
158 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
159 |                 { afterTransformation(processedInfo) }
160 |             }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:50:9: error: cannot find 'DispatchQueue' in scope
48 |         // NetworkRequest, and callers can’t assume the request is hard-wired, so we validate main thread anyway.
49 |
50 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
51 |
52 |         // Callback should run immediately, but not synchronously
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:54:9: error: cannot find 'DispatchQueue' in scope
52 |         // Callback should run immediately, but not synchronously
53 |
54 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
55 |             { callback(self.hardWiredResponse) }
56 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:62:9: error: cannot find 'DispatchQueue' in scope
60 |     func onProgress(_ callback: @escaping (Double) -> Void) -> Request
61 |         {
62 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
63 |
64 |         DispatchQueue.main.async
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:64:9: error: cannot find 'DispatchQueue' in scope
62 |         DispatchQueue.mainThreadPrecondition()
63 |
64 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
65 |             { callback(1) }  // That’s my secret, Captain: I’m always complete.
66 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:74:11: error: cannot find 'DispatchQueue' in scope
72 |
73 |     func cancel()
74 |         { DispatchQueue.mainThreadPrecondition() }
   |           `- error: cannot find 'DispatchQueue' in scope
75 |
76 |     func repeated() -> Request
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:159:9: error: cannot find 'DispatchQueue' in scope
157 |     final func start() -> Request
158 |         {
159 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
160 |
161 |         guard state == .notStarted else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:181:9: error: cannot find 'DispatchQueue' in scope
179 |     final func cancel()
180 |         {
181 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
182 |
183 |         guard state != .completed else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:213:9: error: cannot find 'DispatchQueue' in scope
211 |     final var state: RequestState
212 |         {
213 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
214 |
215 |         if responseCallbacks.completedValue != nil
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |     final func broadcastResponse(_ newInfo: ResponseInfo)
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if willIgnore(newInfo)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:48:13: error: cannot find 'DispatchQueue' in scope
 46 |             {
 47 |             res, data, err in
 48 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 49 |                 {
 50 |                 self.responseReceived(
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:91:9: error: cannot find 'DispatchQueue' in scope
 89 |             completionHandler: RequestCompletionHandler)
 90 |         {
 91 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:9: error: cannot find 'DispatchQueue' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |         `- error: cannot find 'DispatchQueue' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:35: error: cannot find 'DispatchQoS' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |                                   `- error: cannot find 'DispatchQoS' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:158:13: error: cannot find 'DispatchQueue' in scope
156 |                     : rawInfo
157 |
158 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
159 |                 { afterTransformation(processedInfo) }
160 |             }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:50:9: error: cannot find 'DispatchQueue' in scope
48 |         // NetworkRequest, and callers can’t assume the request is hard-wired, so we validate main thread anyway.
49 |
50 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
51 |
52 |         // Callback should run immediately, but not synchronously
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:54:9: error: cannot find 'DispatchQueue' in scope
52 |         // Callback should run immediately, but not synchronously
53 |
54 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
55 |             { callback(self.hardWiredResponse) }
56 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:62:9: error: cannot find 'DispatchQueue' in scope
60 |     func onProgress(_ callback: @escaping (Double) -> Void) -> Request
61 |         {
62 |         DispatchQueue.mainThreadPrecondition()
   |         `- error: cannot find 'DispatchQueue' in scope
63 |
64 |         DispatchQueue.main.async
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:64:9: error: cannot find 'DispatchQueue' in scope
62 |         DispatchQueue.mainThreadPrecondition()
63 |
64 |         DispatchQueue.main.async
   |         `- error: cannot find 'DispatchQueue' in scope
65 |             { callback(1) }  // That’s my secret, Captain: I’m always complete.
66 |
/host/spi-builder-workspace/Source/Siesta/Request/HardWiredRequest.swift:74:11: error: cannot find 'DispatchQueue' in scope
72 |
73 |     func cancel()
74 |         { DispatchQueue.mainThreadPrecondition() }
   |           `- error: cannot find 'DispatchQueue' in scope
75 |
76 |     func repeated() -> Request
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:159:9: error: cannot find 'DispatchQueue' in scope
157 |     final func start() -> Request
158 |         {
159 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
160 |
161 |         guard state == .notStarted else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:181:9: error: cannot find 'DispatchQueue' in scope
179 |     final func cancel()
180 |         {
181 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
182 |
183 |         guard state != .completed else
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:213:9: error: cannot find 'DispatchQueue' in scope
211 |     final var state: RequestState
212 |         {
213 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
214 |
215 |         if responseCallbacks.completedValue != nil
/host/spi-builder-workspace/Source/Siesta/Request/LiveRequest.swift:260:9: error: cannot find 'DispatchQueue' in scope
258 |     final func broadcastResponse(_ newInfo: ResponseInfo)
259 |         {
260 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
261 |
262 |         if willIgnore(newInfo)
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:48:13: error: cannot find 'DispatchQueue' in scope
 46 |             {
 47 |             res, data, err in
 48 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
 49 |                 {
 50 |                 self.responseReceived(
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:91:9: error: cannot find 'DispatchQueue' in scope
 89 |             completionHandler: RequestCompletionHandler)
 90 |         {
 91 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:9: error: cannot find 'DispatchQueue' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |         `- error: cannot find 'DispatchQueue' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:151:35: error: cannot find 'DispatchQoS' in scope
149 |         let processor = config.pipeline.makeProcessor(rawInfo.response, resource: resource)
150 |
151 |         DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated).async
    |                                   `- error: cannot find 'DispatchQoS' in scope
152 |             {
153 |             let processedInfo =
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:158:13: error: cannot find 'DispatchQueue' in scope
156 |                     : rawInfo
157 |
158 |             DispatchQueue.main.async
    |             `- error: cannot find 'DispatchQueue' in scope
159 |                 { afterTransformation(processedInfo) }
160 |             }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Networking.swift:91:57: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 89 |
 90 | /// Used by a `NetworkingProvider` implementation to pass the result of a network request back to Siesta.
 91 | public typealias RequestNetworkingCompletionCallback = (HTTPURLResponse?, Data?, Error?) -> Void
    |                                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 92 |
 93 | /**
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:117:17: error: cannot find 'DispatchQueue' in scope
115 |                     }
116 |
117 |                 DispatchQueue.main.async
    |                 `- error: cannot find 'DispatchQueue' in scope
118 |                     {
119 |                     completionHandler.broadcastResponse(ResponseInfo(response: response))
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:110:43: error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
110 | internal var defaultEntityCacheWorkQueue: DispatchQueue =
    |                                           `- error: cannot find type 'DispatchQueue' in scope
111 |     DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated)
112 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:191:9: error: cannot find 'DispatchQueue' in scope
189 |     init?(cache: Cache, resource: Resource)
190 |         {
191 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
192 |
193 |         guard let key = cache.key(for: resource) else
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:107:20: error: cannot find type 'DispatchQueue' in scope
105 |       Returns the GCD queue on which this cache implementation will do its work.
106 |     */
107 |     var workQueue: DispatchQueue { get }
    |                    `- error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:116:27: error: cannot find type 'DispatchQueue' in scope
114 |     {
115 |     /// Returns a concurrent queue with priority `QOS_CLASS_USER_INITIATED`.
116 |     public var workQueue: DispatchQueue
    |                           `- error: cannot find type 'DispatchQueue' in scope
117 |         { return defaultEntityCacheWorkQueue }
118 |     }
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:279:26: error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
277 |         {
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
    |                          `- error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:13: error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |             `- error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:282:34: error: cannot find 'kCFStringEncodingInvalidId' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
    |                                  `- error: cannot find 'kCFStringEncodingInvalidId' in scope
283 |             { throw RequestError.Cause.InvalidTextEncoding(encodingName: charsetName) }
284 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:69: error: cannot find type 'CFString' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |                                                                     `- error: cannot find type 'CFString' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:312:27: error: cannot find 'Image' in scope
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
312 |         guard let image = Image(data: $0.content) else
    |                           `- error: cannot find 'Image' in scope
313 |             { throw RequestError.Cause.UnparsableImage() }
314 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:310:45: error: cannot find type 'Image' in scope
308 | public func ImageResponseTransformer(_ transformErrors: Bool = false) -> ResponseTransformer
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
    |                                             `- error: cannot find type 'Image' in scope
311 |         {
312 |         guard let image = Image(data: $0.content) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:311:9: error: cannot infer type of closure parameter '$0' without a type annotation
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
    |         `- error: cannot infer type of closure parameter '$0' without a type annotation
312 |         guard let image = Image(data: $0.content) else
313 |             { throw RequestError.Cause.UnparsableImage() }
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Networking.swift:91:57: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 89 |
 90 | /// Used by a `NetworkingProvider` implementation to pass the result of a network request back to Siesta.
 91 | public typealias RequestNetworkingCompletionCallback = (HTTPURLResponse?, Data?, Error?) -> Void
    |                                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 92 |
 93 | /**
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:117:17: error: cannot find 'DispatchQueue' in scope
115 |                     }
116 |
117 |                 DispatchQueue.main.async
    |                 `- error: cannot find 'DispatchQueue' in scope
118 |                     {
119 |                     completionHandler.broadcastResponse(ResponseInfo(response: response))
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:110:43: error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
110 | internal var defaultEntityCacheWorkQueue: DispatchQueue =
    |                                           `- error: cannot find type 'DispatchQueue' in scope
111 |     DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated)
112 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:191:9: error: cannot find 'DispatchQueue' in scope
189 |     init?(cache: Cache, resource: Resource)
190 |         {
191 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
192 |
193 |         guard let key = cache.key(for: resource) else
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:107:20: error: cannot find type 'DispatchQueue' in scope
105 |       Returns the GCD queue on which this cache implementation will do its work.
106 |     */
107 |     var workQueue: DispatchQueue { get }
    |                    `- error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:116:27: error: cannot find type 'DispatchQueue' in scope
114 |     {
115 |     /// Returns a concurrent queue with priority `QOS_CLASS_USER_INITIATED`.
116 |     public var workQueue: DispatchQueue
    |                           `- error: cannot find type 'DispatchQueue' in scope
117 |         { return defaultEntityCacheWorkQueue }
118 |     }
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:279:26: error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
277 |         {
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
    |                          `- error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:13: error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |             `- error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:282:34: error: cannot find 'kCFStringEncodingInvalidId' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
    |                                  `- error: cannot find 'kCFStringEncodingInvalidId' in scope
283 |             { throw RequestError.Cause.InvalidTextEncoding(encodingName: charsetName) }
284 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:69: error: cannot find type 'CFString' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |                                                                     `- error: cannot find type 'CFString' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:312:27: error: cannot find 'Image' in scope
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
312 |         guard let image = Image(data: $0.content) else
    |                           `- error: cannot find 'Image' in scope
313 |             { throw RequestError.Cause.UnparsableImage() }
314 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:310:45: error: cannot find type 'Image' in scope
308 | public func ImageResponseTransformer(_ transformErrors: Bool = false) -> ResponseTransformer
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
    |                                             `- error: cannot find type 'Image' in scope
311 |         {
312 |         guard let image = Image(data: $0.content) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:311:9: error: cannot infer type of closure parameter '$0' without a type annotation
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
    |         `- error: cannot infer type of closure parameter '$0' without a type annotation
312 |         guard let image = Image(data: $0.content) else
313 |             { throw RequestError.Cause.UnparsableImage() }
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Networking.swift:91:57: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 89 |
 90 | /// Used by a `NetworkingProvider` implementation to pass the result of a network request back to Siesta.
 91 | public typealias RequestNetworkingCompletionCallback = (HTTPURLResponse?, Data?, Error?) -> Void
    |                                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 92 |
 93 | /**
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:117:17: error: cannot find 'DispatchQueue' in scope
115 |                     }
116 |
117 |                 DispatchQueue.main.async
    |                 `- error: cannot find 'DispatchQueue' in scope
118 |                     {
119 |                     completionHandler.broadcastResponse(ResponseInfo(response: response))
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:110:43: error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
110 | internal var defaultEntityCacheWorkQueue: DispatchQueue =
    |                                           `- error: cannot find type 'DispatchQueue' in scope
111 |     DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated)
112 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:191:9: error: cannot find 'DispatchQueue' in scope
189 |     init?(cache: Cache, resource: Resource)
190 |         {
191 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
192 |
193 |         guard let key = cache.key(for: resource) else
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:107:20: error: cannot find type 'DispatchQueue' in scope
105 |       Returns the GCD queue on which this cache implementation will do its work.
106 |     */
107 |     var workQueue: DispatchQueue { get }
    |                    `- error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:116:27: error: cannot find type 'DispatchQueue' in scope
114 |     {
115 |     /// Returns a concurrent queue with priority `QOS_CLASS_USER_INITIATED`.
116 |     public var workQueue: DispatchQueue
    |                           `- error: cannot find type 'DispatchQueue' in scope
117 |         { return defaultEntityCacheWorkQueue }
118 |     }
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:279:26: error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
277 |         {
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
    |                          `- error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:13: error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |             `- error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:282:34: error: cannot find 'kCFStringEncodingInvalidId' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
    |                                  `- error: cannot find 'kCFStringEncodingInvalidId' in scope
283 |             { throw RequestError.Cause.InvalidTextEncoding(encodingName: charsetName) }
284 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:69: error: cannot find type 'CFString' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |                                                                     `- error: cannot find type 'CFString' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:312:27: error: cannot find 'Image' in scope
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
312 |         guard let image = Image(data: $0.content) else
    |                           `- error: cannot find 'Image' in scope
313 |             { throw RequestError.Cause.UnparsableImage() }
314 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:310:45: error: cannot find type 'Image' in scope
308 | public func ImageResponseTransformer(_ transformErrors: Bool = false) -> ResponseTransformer
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
    |                                             `- error: cannot find type 'Image' in scope
311 |         {
312 |         guard let image = Image(data: $0.content) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:311:9: error: cannot infer type of closure parameter '$0' without a type annotation
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
    |         `- error: cannot infer type of closure parameter '$0' without a type annotation
312 |         guard let image = Image(data: $0.content) else
313 |             { throw RequestError.Cause.UnparsableImage() }
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Networking.swift:91:57: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 89 |
 90 | /// Used by a `NetworkingProvider` implementation to pass the result of a network request back to Siesta.
 91 | public typealias RequestNetworkingCompletionCallback = (HTTPURLResponse?, Data?, Error?) -> Void
    |                                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 92 |
 93 | /**
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:117:17: error: cannot find 'DispatchQueue' in scope
115 |                     }
116 |
117 |                 DispatchQueue.main.async
    |                 `- error: cannot find 'DispatchQueue' in scope
118 |                     {
119 |                     completionHandler.broadcastResponse(ResponseInfo(response: response))
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:110:43: error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
110 | internal var defaultEntityCacheWorkQueue: DispatchQueue =
    |                                           `- error: cannot find type 'DispatchQueue' in scope
111 |     DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated)
112 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:191:9: error: cannot find 'DispatchQueue' in scope
189 |     init?(cache: Cache, resource: Resource)
190 |         {
191 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
192 |
193 |         guard let key = cache.key(for: resource) else
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:107:20: error: cannot find type 'DispatchQueue' in scope
105 |       Returns the GCD queue on which this cache implementation will do its work.
106 |     */
107 |     var workQueue: DispatchQueue { get }
    |                    `- error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:116:27: error: cannot find type 'DispatchQueue' in scope
114 |     {
115 |     /// Returns a concurrent queue with priority `QOS_CLASS_USER_INITIATED`.
116 |     public var workQueue: DispatchQueue
    |                           `- error: cannot find type 'DispatchQueue' in scope
117 |         { return defaultEntityCacheWorkQueue }
118 |     }
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:279:26: error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
277 |         {
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
    |                          `- error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:13: error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |             `- error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:282:34: error: cannot find 'kCFStringEncodingInvalidId' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
    |                                  `- error: cannot find 'kCFStringEncodingInvalidId' in scope
283 |             { throw RequestError.Cause.InvalidTextEncoding(encodingName: charsetName) }
284 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:69: error: cannot find type 'CFString' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |                                                                     `- error: cannot find type 'CFString' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:312:27: error: cannot find 'Image' in scope
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
312 |         guard let image = Image(data: $0.content) else
    |                           `- error: cannot find 'Image' in scope
313 |             { throw RequestError.Cause.UnparsableImage() }
314 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:310:45: error: cannot find type 'Image' in scope
308 | public func ImageResponseTransformer(_ transformErrors: Bool = false) -> ResponseTransformer
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
    |                                             `- error: cannot find type 'Image' in scope
311 |         {
312 |         guard let image = Image(data: $0.content) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:311:9: error: cannot infer type of closure parameter '$0' without a type annotation
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
    |         `- error: cannot infer type of closure parameter '$0' without a type annotation
312 |         guard let image = Image(data: $0.content) else
313 |             { throw RequestError.Cause.UnparsableImage() }
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Networking.swift:91:57: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 89 |
 90 | /// Used by a `NetworkingProvider` implementation to pass the result of a network request back to Siesta.
 91 | public typealias RequestNetworkingCompletionCallback = (HTTPURLResponse?, Data?, Error?) -> Void
    |                                                         `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 92 |
 93 | /**
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:117:17: error: cannot find 'DispatchQueue' in scope
115 |                     }
116 |
117 |                 DispatchQueue.main.async
    |                 `- error: cannot find 'DispatchQueue' in scope
118 |                     {
119 |                     completionHandler.broadcastResponse(ResponseInfo(response: response))
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:110:43: error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
110 | internal var defaultEntityCacheWorkQueue: DispatchQueue =
    |                                           `- error: cannot find type 'DispatchQueue' in scope
111 |     DispatchQueue.global(qos: DispatchQoS.QoSClass.userInitiated)
112 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineProcessing.swift:191:9: error: cannot find 'DispatchQueue' in scope
189 |     init?(cache: Cache, resource: Resource)
190 |         {
191 |         DispatchQueue.mainThreadPrecondition()
    |         `- error: cannot find 'DispatchQueue' in scope
192 |
193 |         guard let key = cache.key(for: resource) else
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:107:20: error: cannot find type 'DispatchQueue' in scope
105 |       Returns the GCD queue on which this cache implementation will do its work.
106 |     */
107 |     var workQueue: DispatchQueue { get }
    |                    `- error: cannot find type 'DispatchQueue' in scope
108 |     }
109 |
/host/spi-builder-workspace/Source/Siesta/EntityCache.swift:116:27: error: cannot find type 'DispatchQueue' in scope
114 |     {
115 |     /// Returns a concurrent queue with priority `QOS_CLASS_USER_INITIATED`.
116 |     public var workQueue: DispatchQueue
    |                           `- error: cannot find type 'DispatchQueue' in scope
117 |         { return defaultEntityCacheWorkQueue }
118 |     }
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:279:26: error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
277 |         {
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
    |                          `- error: cannot find 'CFStringConvertEncodingToNSStringEncoding' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:13: error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |             `- error: cannot find 'CFStringConvertIANACharSetNameToEncoding' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:282:34: error: cannot find 'kCFStringEncodingInvalidId' in scope
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
    |                                  `- error: cannot find 'kCFStringEncodingInvalidId' in scope
283 |             { throw RequestError.Cause.InvalidTextEncoding(encodingName: charsetName) }
284 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:280:69: error: cannot find type 'CFString' in scope
278 |         let charsetName = $0.charset ?? "ISO-8859-1"
279 |         let encodingID = CFStringConvertEncodingToNSStringEncoding(
280 |             CFStringConvertIANACharSetNameToEncoding(charsetName as CFString))
    |                                                                     `- error: cannot find type 'CFString' in scope
281 |
282 |         guard encodingID != UInt(kCFStringEncodingInvalidId) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:312:27: error: cannot find 'Image' in scope
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
312 |         guard let image = Image(data: $0.content) else
    |                           `- error: cannot find 'Image' in scope
313 |             { throw RequestError.Cause.UnparsableImage() }
314 |
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:310:45: error: cannot find type 'Image' in scope
308 | public func ImageResponseTransformer(_ transformErrors: Bool = false) -> ResponseTransformer
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
    |                                             `- error: cannot find type 'Image' in scope
311 |         {
312 |         guard let image = Image(data: $0.content) else
/host/spi-builder-workspace/Source/Siesta/Pipeline/ResponseTransformer.swift:311:9: error: cannot infer type of closure parameter '$0' without a type annotation
309 |     {
310 |     return ResponseContentTransformer<Data, Image>(transformErrors: transformErrors)
311 |         {
    |         `- error: cannot infer type of closure parameter '$0' without a type annotation
312 |         guard let image = Image(data: $0.content) else
313 |             { throw RequestError.Cause.UnparsableImage() }
BUILD FAILURE 6.1 wasm