The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Featureflow, reference 0.2.0 (838fcd), with Swift 6.3 for Wasm on 14 Aug 2026 23:34:26 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.0.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/featureflow/featureflow-ios-sdk.git
Reference: 0.2.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/featureflow/featureflow-ios-sdk
 * tag               0.2.0      -> FETCH_HEAD
HEAD is now at 838fcd8 Release 0.2.0: application tag; CocoaPods dropped
Cloned https://github.com/featureflow/featureflow-ios-sdk.git
Revision (git rev-parse @):
838fcd81750b620869f3fed29f5a810b2d1e5e2b
SUCCESS checkout https://github.com/featureflow/featureflow-ios-sdk.git at 0.2.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/featureflow/featureflow-ios-sdk.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:e92e38b97676c18adb57b57429ddfb766786102cb50cb918e0d9e8055d05b35d
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest
Building for debugging...
[0/8] Write sources
[3/8] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/22] Emitting module Featureflow
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:27:25: error: cannot find 'DispatchQueue' in scope
 25 |     private let rest: RestClient
 26 |     private let config: FeatureflowConfig
 27 |     private let queue = DispatchQueue(label: "io.featureflow.events")
    |                         `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private var summaries: [SummaryKey: SummaryEntry] = [:]
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:31:24: error: cannot find type 'DispatchSourceTimer' in scope
 29 |     private var summaries: [SummaryKey: SummaryEntry] = [:]
 30 |     private var goals: [SdkEvent] = []
 31 |     private var timer: DispatchSourceTimer?
    |                        `- error: cannot find type 'DispatchSourceTimer' in scope
 32 |     /// Set when the server has told us to back off (429). Nothing is sent until it passes.
 33 |     private var suspendedUntil: Date?
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:56:28: error: cannot find type 'DispatchSourceTimer' in scope
 54 |     private var _isReady = false
 55 |     private var listeners: [UUID: @Sendable ([String: String]) -> Void] = [:]
 56 |     private var pollTimer: DispatchSourceTimer?
    |                            `- error: cannot find type 'DispatchSourceTimer' in scope
 57 |     private let pollQueue = DispatchQueue(label: "io.featureflow.polling")
 58 |     private var observers: [NSObjectProtocol] = []
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:57:29: error: cannot find 'DispatchQueue' in scope
 55 |     private var listeners: [UUID: @Sendable ([String: String]) -> Void] = [:]
 56 |     private var pollTimer: DispatchSourceTimer?
 57 |     private let pollQueue = DispatchQueue(label: "io.featureflow.polling")
    |                             `- error: cannot find 'DispatchQueue' in scope
 58 |     private var observers: [NSObjectProtocol] = []
 59 |
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |         user: FeatureflowUser,
 85 |         config: FeatureflowConfig,
 86 |         session: URLSession?
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |     ) {
 88 |         self.apiKey = apiKey
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |         user: FeatureflowUser? = nil,
109 |         config: FeatureflowConfig = FeatureflowConfig(),
110 |         session: URLSession? = nil
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 |     ) async -> FeatureflowClient {
112 |         let anonymousStore = AnonymousIDStore()
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 34 |     private let apiKey: String
 35 |     private let config: FeatureflowConfig
 36 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 37 |     /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
 38 |     private let application: String?
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 38 |     private let application: String?
 39 |
 40 |     init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
    |                                                              `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 41 |         self.apiKey = apiKey
 42 |         self.config = config
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 |     /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 |     /// it never affects the response, so it cannot fragment the CDN cache.
103 |     private func applyStandardHeaders(to request: inout URLRequest) {
    |                                                         `- error: cannot find type 'URLRequest' in scope
104 |         request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 |         if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 |     }
109 |
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
    |                                     `- error: cannot find type 'URLRequest' in scope
111 |         do {
112 |             return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |     }
109 |
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
    |                                                                        `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 |         do {
112 |             return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |     }
117 |
118 |     private static func check(_ response: URLResponse) throws {
    |                                           `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 |         guard let http = response as? HTTPURLResponse else { return }
120 |         switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
[6/23] Compiling Featureflow FeatureflowConfig.swift
[7/23] Compiling Featureflow FeatureflowUser.swift
[8/23] Compiling Featureflow FeatureStore.swift
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:56:28: error: cannot find type 'DispatchSourceTimer' in scope
 54 |     private var _isReady = false
 55 |     private var listeners: [UUID: @Sendable ([String: String]) -> Void] = [:]
 56 |     private var pollTimer: DispatchSourceTimer?
    |                            `- error: cannot find type 'DispatchSourceTimer' in scope
 57 |     private let pollQueue = DispatchQueue(label: "io.featureflow.polling")
 58 |     private var observers: [NSObjectProtocol] = []
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:57:29: error: cannot find 'DispatchQueue' in scope
 55 |     private var listeners: [UUID: @Sendable ([String: String]) -> Void] = [:]
 56 |     private var pollTimer: DispatchSourceTimer?
 57 |     private let pollQueue = DispatchQueue(label: "io.featureflow.polling")
    |                             `- error: cannot find 'DispatchQueue' in scope
 58 |     private var observers: [NSObjectProtocol] = []
 59 |
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |         user: FeatureflowUser,
 85 |         config: FeatureflowConfig,
 86 |         session: URLSession?
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |     ) {
 88 |         self.apiKey = apiKey
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |         user: FeatureflowUser? = nil,
109 |         config: FeatureflowConfig = FeatureflowConfig(),
110 |         session: URLSession? = nil
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 |     ) async -> FeatureflowClient {
112 |         let anonymousStore = AnonymousIDStore()
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:136:55: error: cannot convert value of type 'any NSObjectProtocol' to expected argument type 'NotificationCenter.ObservationToken'
134 |         pollTimer?.cancel()
135 |         for observer in observers {
136 |             NotificationCenter.default.removeObserver(observer)
    |                                                       `- error: cannot convert value of type 'any NSObjectProtocol' to expected argument type 'NotificationCenter.ObservationToken'
137 |         }
138 |     }
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:316:9: error: cannot find 'DispatchQueue' in scope
314 |         let handlers = stateLock.withLock { Array(listeners.values) }
315 |         guard !handlers.isEmpty else { return }
316 |         DispatchQueue.main.async {
    |         `- error: cannot find 'DispatchQueue' in scope
317 |             for handler in handlers {
318 |                 handler(features)
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:346:25: error: cannot find 'DispatchSource' in scope
344 |         pollQueue.async { [weak self] in
345 |             guard let self, self.pollTimer == nil else { return }
346 |             let timer = DispatchSource.makeTimerSource(queue: self.pollQueue)
    |                         `- error: cannot find 'DispatchSource' in scope
347 |             timer.schedule(
348 |                 deadline: .now() + self.config.pollingInterval,
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:366:25: error: cannot find 'DispatchSource' in scope
364 |             self.pollTimer = nil
365 |             guard interval > 0 else { return }
366 |             let timer = DispatchSource.makeTimerSource(queue: self.pollQueue)
    |                         `- error: cannot find 'DispatchSource' in scope
367 |             timer.schedule(deadline: .now() + interval, repeating: interval)
368 |             timer.setEventHandler { @Sendable [weak self] in
[9/23] Compiling Featureflow FeatureflowClient.swift
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:56:28: error: cannot find type 'DispatchSourceTimer' in scope
 54 |     private var _isReady = false
 55 |     private var listeners: [UUID: @Sendable ([String: String]) -> Void] = [:]
 56 |     private var pollTimer: DispatchSourceTimer?
    |                            `- error: cannot find type 'DispatchSourceTimer' in scope
 57 |     private let pollQueue = DispatchQueue(label: "io.featureflow.polling")
 58 |     private var observers: [NSObjectProtocol] = []
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:57:29: error: cannot find 'DispatchQueue' in scope
 55 |     private var listeners: [UUID: @Sendable ([String: String]) -> Void] = [:]
 56 |     private var pollTimer: DispatchSourceTimer?
 57 |     private let pollQueue = DispatchQueue(label: "io.featureflow.polling")
    |                             `- error: cannot find 'DispatchQueue' in scope
 58 |     private var observers: [NSObjectProtocol] = []
 59 |
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |         user: FeatureflowUser,
 85 |         config: FeatureflowConfig,
 86 |         session: URLSession?
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |     ) {
 88 |         self.apiKey = apiKey
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |         user: FeatureflowUser? = nil,
109 |         config: FeatureflowConfig = FeatureflowConfig(),
110 |         session: URLSession? = nil
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 |     ) async -> FeatureflowClient {
112 |         let anonymousStore = AnonymousIDStore()
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:136:55: error: cannot convert value of type 'any NSObjectProtocol' to expected argument type 'NotificationCenter.ObservationToken'
134 |         pollTimer?.cancel()
135 |         for observer in observers {
136 |             NotificationCenter.default.removeObserver(observer)
    |                                                       `- error: cannot convert value of type 'any NSObjectProtocol' to expected argument type 'NotificationCenter.ObservationToken'
137 |         }
138 |     }
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:316:9: error: cannot find 'DispatchQueue' in scope
314 |         let handlers = stateLock.withLock { Array(listeners.values) }
315 |         guard !handlers.isEmpty else { return }
316 |         DispatchQueue.main.async {
    |         `- error: cannot find 'DispatchQueue' in scope
317 |             for handler in handlers {
318 |                 handler(features)
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:346:25: error: cannot find 'DispatchSource' in scope
344 |         pollQueue.async { [weak self] in
345 |             guard let self, self.pollTimer == nil else { return }
346 |             let timer = DispatchSource.makeTimerSource(queue: self.pollQueue)
    |                         `- error: cannot find 'DispatchSource' in scope
347 |             timer.schedule(
348 |                 deadline: .now() + self.config.pollingInterval,
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:366:25: error: cannot find 'DispatchSource' in scope
364 |             self.pollTimer = nil
365 |             guard interval > 0 else { return }
366 |             let timer = DispatchSource.makeTimerSource(queue: self.pollQueue)
    |                         `- error: cannot find 'DispatchSource' in scope
367 |             timer.schedule(deadline: .now() + interval, repeating: interval)
368 |             timer.setEventHandler { @Sendable [weak self] in
[10/23] Compiling Featureflow Evaluation.swift
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:27:25: error: cannot find 'DispatchQueue' in scope
 25 |     private let rest: RestClient
 26 |     private let config: FeatureflowConfig
 27 |     private let queue = DispatchQueue(label: "io.featureflow.events")
    |                         `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private var summaries: [SummaryKey: SummaryEntry] = [:]
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:31:24: error: cannot find type 'DispatchSourceTimer' in scope
 29 |     private var summaries: [SummaryKey: SummaryEntry] = [:]
 30 |     private var goals: [SdkEvent] = []
 31 |     private var timer: DispatchSourceTimer?
    |                        `- error: cannot find type 'DispatchSourceTimer' in scope
 32 |     /// Set when the server has told us to back off (429). Nothing is sent until it passes.
 33 |     private var suspendedUntil: Date?
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:44:25: error: cannot find 'DispatchSource' in scope
 42 |         queue.async { [weak self] in
 43 |             guard let self, self.timer == nil else { return }
 44 |             let timer = DispatchSource.makeTimerSource(queue: self.queue)
    |                         `- error: cannot find 'DispatchSource' in scope
 45 |             timer.schedule(
 46 |                 deadline: .now() + self.config.eventFlushInterval,
[11/23] Compiling Featureflow EventProcessor.swift
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:27:25: error: cannot find 'DispatchQueue' in scope
 25 |     private let rest: RestClient
 26 |     private let config: FeatureflowConfig
 27 |     private let queue = DispatchQueue(label: "io.featureflow.events")
    |                         `- error: cannot find 'DispatchQueue' in scope
 28 |
 29 |     private var summaries: [SummaryKey: SummaryEntry] = [:]
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:31:24: error: cannot find type 'DispatchSourceTimer' in scope
 29 |     private var summaries: [SummaryKey: SummaryEntry] = [:]
 30 |     private var goals: [SdkEvent] = []
 31 |     private var timer: DispatchSourceTimer?
    |                        `- error: cannot find type 'DispatchSourceTimer' in scope
 32 |     /// Set when the server has told us to back off (429). Nothing is sent until it passes.
 33 |     private var suspendedUntil: Date?
/host/spi-builder-workspace/Sources/Featureflow/EventProcessor.swift:44:25: error: cannot find 'DispatchSource' in scope
 42 |         queue.async { [weak self] in
 43 |             guard let self, self.timer == nil else { return }
 44 |             let timer = DispatchSource.makeTimerSource(queue: self.queue)
    |                         `- error: cannot find 'DispatchSource' in scope
 45 |             timer.schedule(
 46 |                 deadline: .now() + self.config.eventFlushInterval,
[12/23] Compiling Featureflow Models.swift
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 34 |     private let apiKey: String
 35 |     private let config: FeatureflowConfig
 36 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 37 |     /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
 38 |     private let application: String?
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 38 |     private let application: String?
 39 |
 40 |     init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
    |                                                              `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 41 |         self.apiKey = apiKey
 42 |         self.config = config
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 |     /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 |     /// it never affects the response, so it cannot fragment the CDN cache.
103 |     private func applyStandardHeaders(to request: inout URLRequest) {
    |                                                         `- error: cannot find type 'URLRequest' in scope
104 |         request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 |         if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 |     }
109 |
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
    |                                     `- error: cannot find type 'URLRequest' in scope
111 |         do {
112 |             return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |     }
109 |
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
    |                                                                        `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 |         do {
112 |             return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |     }
117 |
118 |     private static func check(_ response: URLResponse) throws {
    |                                           `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 |         guard let http = response as? HTTPURLResponse else { return }
120 |         switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:47:57: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 45 |             self.session = session
 46 |         } else {
 47 |             let sessionConfig = URLSessionConfiguration.ephemeral
    |                                                         `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 48 |             sessionConfig.timeoutIntervalForRequest = config.timeout
 49 |             // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:51:49: error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
 49 |             // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
 50 |             // only serve staler values behind it.
 51 |             sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
    |                                                 `- error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
 52 |             self.session = URLSession(configuration: sessionConfig)
 53 |         }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:52:28: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 50 |             // only serve staler values behind it.
 51 |             sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
 52 |             self.session = URLSession(configuration: sessionConfig)
    |                            `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 53 |         }
 54 |     }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:71:23: error: cannot find 'URLRequest' in scope
 69 |         }
 70 |
 71 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 72 |         request.httpMethod = "GET"
 73 |         applyStandardHeaders(to: &request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:89:23: error: cannot find 'URLRequest' in scope
 87 |     func postEvents(_ events: [SdkEvent]) async throws {
 88 |         let url = config.eventsURL.appendingPathComponent("api/js/v1/event/\(apiKey)")
 89 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 90 |         request.httpMethod = "POST"
 91 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:112:38: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
111 |         do {
112 |             return try await session.data(for: request)
    |                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
113 |         } catch {
114 |             throw FeatureflowError.transport(error)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
117 |
118 |     private static func check(_ response: URLResponse) throws {
119 |         guard let http = response as? HTTPURLResponse else { return }
    |                                   `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
120 |         switch http.statusCode {
121 |         case 200..<300:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |
118 |     private static func check(_ response: URLResponse) throws {
119 |         guard let http = response as? HTTPURLResponse else { return }
    |                                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
120 |         switch http.statusCode {
121 |         case 200..<300:
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/Sources/Featureflow/RestClient.swift:120:21: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |     private static func check(_ response: URLResponse) throws {
119 |         guard let http = response as? HTTPURLResponse else { return }
120 |         switch http.statusCode {
    |                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |         case 200..<300:
122 |             return
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:126:36: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
124 |             throw FeatureflowError.unauthorized
125 |         case 429:
126 |             let retryAfter = (http.value(forHTTPHeaderField: "Retry-After") as NSString?)?.doubleValue
    |                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
127 |             throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 |         default:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:129:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
127 |             throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 |         default:
129 |             throw FeatureflowError.http(status: http.statusCode)
    |                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
130 |         }
131 |     }
[13/23] Compiling Featureflow RestClient.swift
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 34 |     private let apiKey: String
 35 |     private let config: FeatureflowConfig
 36 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 37 |     /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
 38 |     private let application: String?
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 38 |     private let application: String?
 39 |
 40 |     init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
    |                                                              `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 41 |         self.apiKey = apiKey
 42 |         self.config = config
Foundation.URLSession:2:18: note: 'URLSession' 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 URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 |     /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 |     /// it never affects the response, so it cannot fragment the CDN cache.
103 |     private func applyStandardHeaders(to request: inout URLRequest) {
    |                                                         `- error: cannot find type 'URLRequest' in scope
104 |         request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 |         if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 |     }
109 |
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
    |                                     `- error: cannot find type 'URLRequest' in scope
111 |         do {
112 |             return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 |     }
109 |
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
    |                                                                        `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 |         do {
112 |             return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |     }
117 |
118 |     private static func check(_ response: URLResponse) throws {
    |                                           `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 |         guard let http = response as? HTTPURLResponse else { return }
120 |         switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:47:57: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 45 |             self.session = session
 46 |         } else {
 47 |             let sessionConfig = URLSessionConfiguration.ephemeral
    |                                                         `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 48 |             sessionConfig.timeoutIntervalForRequest = config.timeout
 49 |             // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:51:49: error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
 49 |             // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
 50 |             // only serve staler values behind it.
 51 |             sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
    |                                                 `- error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
 52 |             self.session = URLSession(configuration: sessionConfig)
 53 |         }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:52:28: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 50 |             // only serve staler values behind it.
 51 |             sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
 52 |             self.session = URLSession(configuration: sessionConfig)
    |                            `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 53 |         }
 54 |     }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:71:23: error: cannot find 'URLRequest' in scope
 69 |         }
 70 |
 71 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 72 |         request.httpMethod = "GET"
 73 |         applyStandardHeaders(to: &request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:89:23: error: cannot find 'URLRequest' in scope
 87 |     func postEvents(_ events: [SdkEvent]) async throws {
 88 |         let url = config.eventsURL.appendingPathComponent("api/js/v1/event/\(apiKey)")
 89 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 90 |         request.httpMethod = "POST"
 91 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:112:38: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
110 |     private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
111 |         do {
112 |             return try await session.data(for: request)
    |                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
113 |         } catch {
114 |             throw FeatureflowError.transport(error)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
117 |
118 |     private static func check(_ response: URLResponse) throws {
119 |         guard let http = response as? HTTPURLResponse else { return }
    |                                   `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
120 |         switch http.statusCode {
121 |         case 200..<300:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |
118 |     private static func check(_ response: URLResponse) throws {
119 |         guard let http = response as? HTTPURLResponse else { return }
    |                                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
120 |         switch http.statusCode {
121 |         case 200..<300:
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/Sources/Featureflow/RestClient.swift:120:21: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |     private static func check(_ response: URLResponse) throws {
119 |         guard let http = response as? HTTPURLResponse else { return }
120 |         switch http.statusCode {
    |                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |         case 200..<300:
122 |             return
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:126:36: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
124 |             throw FeatureflowError.unauthorized
125 |         case 429:
126 |             let retryAfter = (http.value(forHTTPHeaderField: "Retry-After") as NSString?)?.doubleValue
    |                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
127 |             throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 |         default:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:129:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
127 |             throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 |         default:
129 |             throw FeatureflowError.http(status: http.statusCode)
    |                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
130 |         }
131 |     }
[14/23] Compiling Featureflow ApplicationTag.swift
[15/23] Compiling Featureflow Conditions.swift
[16/23] Compiling Featureflow SwiftUISupport.swift
[17/23] Compiling Featureflow JSONValue.swift
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:16: error: cannot find 'CFGetTypeID' in scope
108 |         case let value as NSNumber:
109 |             // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 |             if CFGetTypeID(value) == CFBooleanGetTypeID() {
    |                `- error: cannot find 'CFGetTypeID' in scope
111 |                 return .bool(value.boolValue)
112 |             }
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:38: error: cannot find 'CFBooleanGetTypeID' in scope
108 |         case let value as NSNumber:
109 |             // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 |             if CFGetTypeID(value) == CFBooleanGetTypeID() {
    |                                      `- error: cannot find 'CFBooleanGetTypeID' in scope
111 |                 return .bool(value.boolValue)
112 |             }
[18/23] Compiling Featureflow Lock.swift
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:16: error: cannot find 'CFGetTypeID' in scope
108 |         case let value as NSNumber:
109 |             // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 |             if CFGetTypeID(value) == CFBooleanGetTypeID() {
    |                `- error: cannot find 'CFGetTypeID' in scope
111 |                 return .bool(value.boolValue)
112 |             }
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:38: error: cannot find 'CFBooleanGetTypeID' in scope
108 |         case let value as NSNumber:
109 |             // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 |             if CFGetTypeID(value) == CFBooleanGetTypeID() {
    |                                      `- error: cannot find 'CFBooleanGetTypeID' in scope
111 |                 return .bool(value.boolValue)
112 |             }
[19/23] Compiling Featureflow RuleEvaluator.swift
BUILD FAILURE 6.3 wasm