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 AIGitNarrator, reference 1.0.0 (908189), with Swift 6.1 for Wasm on 10 Jun 2025 03:57:22 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pmusolino/AI-Git-Narrator.git
Reference: 1.0.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/pmusolino/AI-Git-Narrator
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at 908189e Refactor: Move LLM services to a dedicated "Services" directory
Cloned https://github.com/pmusolino/AI-Git-Narrator.git
Revision (git rev-parse @):
908189e1967ee739e751d76783aa634a4223cc35
SUCCESS checkout https://github.com/pmusolino/AI-Git-Narrator.git at 1.0.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/pmusolino/AI-Git-Narrator.git
https://github.com/pmusolino/AI-Git-Narrator.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "AIGitNarrator",
  "name" : "AIGitNarrator",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "AIGitNarrator",
      "targets" : [
        "AIGitNarrator"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AIGitNarrator",
      "module_type" : "SwiftTarget",
      "name" : "AIGitNarrator",
      "path" : "Sources",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "AIGitNarrator"
      ],
      "sources" : [
        "GitHelper.swift",
        "LLMs/LLMProvider.swift",
        "LLMs/LanguageModelFactory.swift",
        "LLMs/LanguageModelService.swift",
        "LLMs/PromptBuilder.swift",
        "LLMs/Services/GeminiService.swift",
        "LLMs/Services/OllamaService.swift",
        "LLMs/Services/OpenAIService.swift",
        "Models/GitCommit.swift",
        "Models/GitDiff.swift",
        "Models/LanguageModelError.swift",
        "main.swift"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Fetching https://github.com/apple/swift-argument-parser
[1/15380] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.15s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.76s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/10] Write sources
[4/10] Write swift-version-24593BA9C3E375BF.txt
[6/12] Compiling ArgumentParserToolInfo ToolInfo.swift
[7/12] Emitting module ArgumentParserToolInfo
[8/13] Wrapping AST for ArgumentParserToolInfo for debugging
[10/51] Emitting module ArgumentParser
[11/56] Compiling ArgumentParser ArgumentVisibility.swift
[12/56] Compiling ArgumentParser CompletionKind.swift
[13/56] Compiling ArgumentParser Errors.swift
[14/56] Compiling ArgumentParser Flag.swift
[15/56] Compiling ArgumentParser NameSpecification.swift
[16/56] Compiling ArgumentParser Option.swift
[17/56] Compiling ArgumentParser Name.swift
[18/56] Compiling ArgumentParser Parsed.swift
[19/56] Compiling ArgumentParser ParsedValues.swift
[20/56] Compiling ArgumentParser ParserError.swift
[21/56] Compiling ArgumentParser SplitArguments.swift
[22/56] Compiling ArgumentParser ExpressibleByArgument.swift
[23/56] Compiling ArgumentParser ParsableArguments.swift
[24/56] Compiling ArgumentParser ParsableArgumentsValidation.swift
[25/56] Compiling ArgumentParser ParsableCommand.swift
[26/56] Compiling ArgumentParser ArgumentDecoder.swift
[27/56] Compiling ArgumentParser BashCompletionsGenerator.swift
[28/56] Compiling ArgumentParser CompletionsGenerator.swift
[29/56] Compiling ArgumentParser FishCompletionsGenerator.swift
[30/56] Compiling ArgumentParser ZshCompletionsGenerator.swift
[31/56] Compiling ArgumentParser Argument.swift
[32/56] Compiling ArgumentParser ArgumentHelp.swift
[33/56] Compiling ArgumentParser OptionGroup.swift
[34/56] Compiling ArgumentParser AsyncParsableCommand.swift
[35/56] Compiling ArgumentParser CommandConfiguration.swift
[36/56] Compiling ArgumentParser CommandGroup.swift
[37/56] Compiling ArgumentParser EnumerableFlag.swift
[38/56] Compiling ArgumentParser ArgumentDefinition.swift
[39/56] Compiling ArgumentParser ArgumentSet.swift
[40/56] Compiling ArgumentParser CommandParser.swift
[41/56] Compiling ArgumentParser InputKey.swift
[42/56] Compiling ArgumentParser InputOrigin.swift
[43/56] Compiling ArgumentParser CollectionExtensions.swift
[44/56] Compiling ArgumentParser Platform.swift
[45/56] Compiling ArgumentParser SequenceExtensions.swift
[46/56] Compiling ArgumentParser StringExtensions.swift
[47/56] Compiling ArgumentParser Tree.swift
[48/56] Compiling ArgumentParser DumpHelpGenerator.swift
[49/56] Compiling ArgumentParser HelpCommand.swift
[50/56] Compiling ArgumentParser HelpGenerator.swift
[51/56] Compiling ArgumentParser MessageInfo.swift
[52/56] Compiling ArgumentParser UsageGenerator.swift
[53/57] Wrapping AST for ArgumentParser for debugging
[55/69] Compiling AIGitNarrator GitDiff.swift
[56/70] Compiling AIGitNarrator OllamaService.swift
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OllamaService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:30:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 28 |         self.timeoutInterval = timeout ?? 120
 29 |
 30 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:33:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
 33 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:45:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 43 |         self.timeoutInterval = timeout ?? 120
 44 |
 45 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:48:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
 48 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:56:23: error: cannot find 'URLRequest' in scope
 54 |         }
 55 |
 56 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 57 |         request.httpMethod = "POST"
 58 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:83:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 81 |
 82 |         do {
 83 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 84 |
 85 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:98:53: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |             }
 97 |
 98 |             return response.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:18:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OpenAIService.swift:18:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:27:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
25 |         self.timeoutInterval = timeout ?? 120
26 |
27 |         let config = URLSessionConfiguration.default
   |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:30:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
30 |         self.urlSession = URLSession(configuration: config)
   |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |     }
32 |
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:38:23: error: cannot find 'URLRequest' in scope
36 |         }
37 |
38 |         var request = URLRequest(url: url)
   |                       `- error: cannot find 'URLRequest' in scope
39 |         request.httpMethod = "POST"
40 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:57:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
55 |
56 |         do {
57 |             let (data, response) = try await urlSession.data(for: request)
   |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
58 |
59 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:74:52: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
72 |                 throw LanguageModelError.parsingError("Failed to parse content from OpenAI response")
73 |             }
74 |             return content.trimmingCharacters(in: .whitespacesAndNewlines)
   |                                                    `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
75 |         } catch let error as LanguageModelError {
76 |             throw error // Re-throw known errors
[57/70] Compiling AIGitNarrator OpenAIService.swift
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OllamaService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:30:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 28 |         self.timeoutInterval = timeout ?? 120
 29 |
 30 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:33:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
 33 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:45:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 43 |         self.timeoutInterval = timeout ?? 120
 44 |
 45 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:48:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
 48 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:56:23: error: cannot find 'URLRequest' in scope
 54 |         }
 55 |
 56 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 57 |         request.httpMethod = "POST"
 58 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:83:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 81 |
 82 |         do {
 83 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 84 |
 85 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:98:53: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |             }
 97 |
 98 |             return response.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:18:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OpenAIService.swift:18:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:27:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
25 |         self.timeoutInterval = timeout ?? 120
26 |
27 |         let config = URLSessionConfiguration.default
   |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:30:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
30 |         self.urlSession = URLSession(configuration: config)
   |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |     }
32 |
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:38:23: error: cannot find 'URLRequest' in scope
36 |         }
37 |
38 |         var request = URLRequest(url: url)
   |                       `- error: cannot find 'URLRequest' in scope
39 |         request.httpMethod = "POST"
40 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:57:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
55 |
56 |         do {
57 |             let (data, response) = try await urlSession.data(for: request)
   |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
58 |
59 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:74:52: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
72 |                 throw LanguageModelError.parsingError("Failed to parse content from OpenAI response")
73 |             }
74 |             return content.trimmingCharacters(in: .whitespacesAndNewlines)
   |                                                    `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
75 |         } catch let error as LanguageModelError {
76 |             throw error // Re-throw known errors
[58/70] Compiling AIGitNarrator PromptBuilder.swift
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/GeminiService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:28:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 26 |         self.timeoutInterval = timeout ?? 120
 27 |
 28 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:31:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
 31 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 32 |     }
 33 |
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:39:23: error: cannot find 'URLRequest' in scope
 37 |         }
 38 |
 39 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 40 |         request.httpMethod = "POST"
 41 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:69:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 67 |
 68 |         do {
 69 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 70 |
 71 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:98:49: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |                 throw LanguageModelError.parsingError("Failed to parse content from Gemini response. Check response structure.")
 97 |             }
 98 |             return text.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
[59/70] Compiling AIGitNarrator GeminiService.swift
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/GeminiService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:28:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 26 |         self.timeoutInterval = timeout ?? 120
 27 |
 28 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:31:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
 31 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 32 |     }
 33 |
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:39:23: error: cannot find 'URLRequest' in scope
 37 |         }
 38 |
 39 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 40 |         request.httpMethod = "POST"
 41 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:69:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 67 |
 68 |         do {
 69 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 70 |
 71 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:98:49: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |                 throw LanguageModelError.parsingError("Failed to parse content from Gemini response. Check response structure.")
 97 |             }
 98 |             return text.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
[60/70] Compiling AIGitNarrator GitCommit.swift
[61/70] Compiling AIGitNarrator LanguageModelError.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[62/70] Compiling AIGitNarrator LanguageModelFactory.swift
[63/70] Compiling AIGitNarrator LanguageModelService.swift
[64/70] Emitting module AIGitNarrator
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/GeminiService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OllamaService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:18:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OpenAIService.swift:18:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
[65/70] Compiling AIGitNarrator GitHelper.swift
/host/spi-builder-workspace/Sources/GitHelper.swift:13:19: error: cannot find 'Process' in scope
 11 | func readGitDiff(staged: Bool) -> [GitDiff] {
 12 |     // Create a Process to run the `git diff` or `git diff --cached` command
 13 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 14 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 15 |     process.arguments = staged ? ["git", "diff", "--cached"] : ["git", "diff"]
/host/spi-builder-workspace/Sources/GitHelper.swift:81:19: error: cannot find 'Process' in scope
 79 |
 80 |     // Create a Process to run the `git log` command to get the commits for the PR
 81 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 82 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 83 |     process.arguments = ["git", "log", "--pretty=format:%H %s", "\(branchToCompare)..HEAD"]
/host/spi-builder-workspace/Sources/GitHelper.swift:140:23: error: cannot find 'Process' in scope
138 |
139 |     for branch in possibleBranches {
140 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
141 |         process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
142 |         process.arguments = ["git", "symbolic-ref", "refs/remotes/origin/\(branch)"]
/host/spi-builder-workspace/Sources/GitHelper.swift:185:19: error: cannot find 'Process' in scope
183 | private func readGitDiffForCommit(hash: String) -> [GitDiff] {
184 |     // Create a Process to run the `git show` command to get the diffs for the commit
185 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
186 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
187 |     process.arguments = ["git", "show", hash]
[66/70] Compiling AIGitNarrator LLMProvider.swift
/host/spi-builder-workspace/Sources/GitHelper.swift:13:19: error: cannot find 'Process' in scope
 11 | func readGitDiff(staged: Bool) -> [GitDiff] {
 12 |     // Create a Process to run the `git diff` or `git diff --cached` command
 13 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 14 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 15 |     process.arguments = staged ? ["git", "diff", "--cached"] : ["git", "diff"]
/host/spi-builder-workspace/Sources/GitHelper.swift:81:19: error: cannot find 'Process' in scope
 79 |
 80 |     // Create a Process to run the `git log` command to get the commits for the PR
 81 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 82 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 83 |     process.arguments = ["git", "log", "--pretty=format:%H %s", "\(branchToCompare)..HEAD"]
/host/spi-builder-workspace/Sources/GitHelper.swift:140:23: error: cannot find 'Process' in scope
138 |
139 |     for branch in possibleBranches {
140 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
141 |         process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
142 |         process.arguments = ["git", "symbolic-ref", "refs/remotes/origin/\(branch)"]
/host/spi-builder-workspace/Sources/GitHelper.swift:185:19: error: cannot find 'Process' in scope
183 | private func readGitDiffForCommit(hash: String) -> [GitDiff] {
184 |     // Create a Process to run the `git show` command to get the diffs for the commit
185 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
186 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
187 |     process.arguments = ["git", "show", hash]
[67/70] Compiling AIGitNarrator main.swift
/host/spi-builder-workspace/Sources/main.swift:105:25: error: cannot find 'DispatchSemaphore' in scope
103 |
104 |     private func generateAndPrint(prompt: String, type: String) {
105 |         let semaphore = DispatchSemaphore(value: 0)
    |                         `- error: cannot find 'DispatchSemaphore' in scope
106 |         let service = llmService!
107 |         Task {
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/7] Write swift-version-24593BA9C3E375BF.txt
[3/9] Emitting module ArgumentParserToolInfo
[4/9] Compiling ArgumentParserToolInfo ToolInfo.swift
[6/47] Emitting module ArgumentParser
[7/52] Compiling ArgumentParser CollectionExtensions.swift
[8/52] Compiling ArgumentParser Platform.swift
[9/52] Compiling ArgumentParser SequenceExtensions.swift
[10/52] Compiling ArgumentParser StringExtensions.swift
[11/52] Compiling ArgumentParser Tree.swift
[12/52] Compiling ArgumentParser BashCompletionsGenerator.swift
[13/52] Compiling ArgumentParser CompletionsGenerator.swift
[14/52] Compiling ArgumentParser FishCompletionsGenerator.swift
[15/52] Compiling ArgumentParser ZshCompletionsGenerator.swift
[16/52] Compiling ArgumentParser Argument.swift
[17/52] Compiling ArgumentParser ArgumentHelp.swift
[18/52] Compiling ArgumentParser ExpressibleByArgument.swift
[19/52] Compiling ArgumentParser ParsableArguments.swift
[20/52] Compiling ArgumentParser ParsableArgumentsValidation.swift
[21/52] Compiling ArgumentParser ParsableCommand.swift
[22/52] Compiling ArgumentParser ArgumentDecoder.swift
[23/52] Compiling ArgumentParser Name.swift
[24/52] Compiling ArgumentParser Parsed.swift
[25/52] Compiling ArgumentParser ParsedValues.swift
[26/52] Compiling ArgumentParser ParserError.swift
[27/52] Compiling ArgumentParser SplitArguments.swift
[28/52] Compiling ArgumentParser OptionGroup.swift
[29/52] Compiling ArgumentParser AsyncParsableCommand.swift
[30/52] Compiling ArgumentParser CommandConfiguration.swift
[31/52] Compiling ArgumentParser CommandGroup.swift
[32/52] Compiling ArgumentParser EnumerableFlag.swift
[33/52] Compiling ArgumentParser DumpHelpGenerator.swift
[34/52] Compiling ArgumentParser HelpCommand.swift
[35/52] Compiling ArgumentParser HelpGenerator.swift
[36/52] Compiling ArgumentParser MessageInfo.swift
[37/52] Compiling ArgumentParser UsageGenerator.swift
[38/52] Compiling ArgumentParser ArgumentVisibility.swift
[39/52] Compiling ArgumentParser CompletionKind.swift
[40/52] Compiling ArgumentParser Errors.swift
[41/52] Compiling ArgumentParser Flag.swift
[42/52] Compiling ArgumentParser NameSpecification.swift
[43/52] Compiling ArgumentParser Option.swift
[44/52] Compiling ArgumentParser ArgumentDefinition.swift
[45/52] Compiling ArgumentParser ArgumentSet.swift
[46/52] Compiling ArgumentParser CommandParser.swift
[47/52] Compiling ArgumentParser InputKey.swift
[48/52] Compiling ArgumentParser InputOrigin.swift
[50/64] Compiling AIGitNarrator OllamaService.swift
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OllamaService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:30:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 28 |         self.timeoutInterval = timeout ?? 120
 29 |
 30 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:33:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
 33 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:45:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 43 |         self.timeoutInterval = timeout ?? 120
 44 |
 45 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:48:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
 48 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:56:23: error: cannot find 'URLRequest' in scope
 54 |         }
 55 |
 56 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 57 |         request.httpMethod = "POST"
 58 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:83:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 81 |
 82 |         do {
 83 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 84 |
 85 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:98:53: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |             }
 97 |
 98 |             return response.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:18:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OpenAIService.swift:18:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:27:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
25 |         self.timeoutInterval = timeout ?? 120
26 |
27 |         let config = URLSessionConfiguration.default
   |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:30:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
30 |         self.urlSession = URLSession(configuration: config)
   |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |     }
32 |
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:38:23: error: cannot find 'URLRequest' in scope
36 |         }
37 |
38 |         var request = URLRequest(url: url)
   |                       `- error: cannot find 'URLRequest' in scope
39 |         request.httpMethod = "POST"
40 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:57:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
55 |
56 |         do {
57 |             let (data, response) = try await urlSession.data(for: request)
   |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
58 |
59 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:74:52: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
72 |                 throw LanguageModelError.parsingError("Failed to parse content from OpenAI response")
73 |             }
74 |             return content.trimmingCharacters(in: .whitespacesAndNewlines)
   |                                                    `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
75 |         } catch let error as LanguageModelError {
76 |             throw error // Re-throw known errors
[51/64] Compiling AIGitNarrator OpenAIService.swift
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OllamaService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:30:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 28 |         self.timeoutInterval = timeout ?? 120
 29 |
 30 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:33:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 31 |         config.timeoutIntervalForRequest = self.timeoutInterval
 32 |         config.timeoutIntervalForResource = self.timeoutInterval
 33 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:45:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 43 |         self.timeoutInterval = timeout ?? 120
 44 |
 45 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:48:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 46 |         config.timeoutIntervalForRequest = self.timeoutInterval
 47 |         config.timeoutIntervalForResource = self.timeoutInterval
 48 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:56:23: error: cannot find 'URLRequest' in scope
 54 |         }
 55 |
 56 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 57 |         request.httpMethod = "POST"
 58 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:83:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 81 |
 82 |         do {
 83 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 84 |
 85 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:98:53: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |             }
 97 |
 98 |             return response.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:18:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OpenAIService.swift:18:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:27:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
25 |         self.timeoutInterval = timeout ?? 120
26 |
27 |         let config = URLSessionConfiguration.default
   |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:30:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 |         config.timeoutIntervalForRequest = self.timeoutInterval
29 |         config.timeoutIntervalForResource = self.timeoutInterval
30 |         self.urlSession = URLSession(configuration: config)
   |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |     }
32 |
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:38:23: error: cannot find 'URLRequest' in scope
36 |         }
37 |
38 |         var request = URLRequest(url: url)
   |                       `- error: cannot find 'URLRequest' in scope
39 |         request.httpMethod = "POST"
40 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:57:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
55 |
56 |         do {
57 |             let (data, response) = try await urlSession.data(for: request)
   |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
58 |
59 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:74:52: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
72 |                 throw LanguageModelError.parsingError("Failed to parse content from OpenAI response")
73 |             }
74 |             return content.trimmingCharacters(in: .whitespacesAndNewlines)
   |                                                    `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
75 |         } catch let error as LanguageModelError {
76 |             throw error // Re-throw known errors
[52/65] Compiling AIGitNarrator GitCommit.swift
[53/65] Compiling AIGitNarrator GitDiff.swift
[54/65] Compiling AIGitNarrator LanguageModelError.swift
[55/65] Compiling AIGitNarrator LanguageModelFactory.swift
[56/65] Compiling AIGitNarrator LanguageModelService.swift
[57/65] Compiling AIGitNarrator PromptBuilder.swift
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/GeminiService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:28:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 26 |         self.timeoutInterval = timeout ?? 120
 27 |
 28 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:31:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
 31 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 32 |     }
 33 |
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:39:23: error: cannot find 'URLRequest' in scope
 37 |         }
 38 |
 39 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 40 |         request.httpMethod = "POST"
 41 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:69:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 67 |
 68 |         do {
 69 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 70 |
 71 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:98:49: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |                 throw LanguageModelError.parsingError("Failed to parse content from Gemini response. Check response structure.")
 97 |             }
 98 |             return text.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
[58/65] Compiling AIGitNarrator GeminiService.swift
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/GeminiService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:28:46: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 26 |         self.timeoutInterval = timeout ?? 120
 27 |
 28 |         let config = URLSessionConfiguration.default
    |                                              `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:31:27: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 29 |         config.timeoutIntervalForRequest = self.timeoutInterval
 30 |         config.timeoutIntervalForResource = self.timeoutInterval
 31 |         self.urlSession = URLSession(configuration: config)
    |                           `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 32 |     }
 33 |
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:39:23: error: cannot find 'URLRequest' in scope
 37 |         }
 38 |
 39 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 40 |         request.httpMethod = "POST"
 41 |         request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:69:57: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 67 |
 68 |         do {
 69 |             let (data, response) = try await urlSession.data(for: request)
    |                                                         `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 70 |
 71 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:98:49: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 96 |                 throw LanguageModelError.parsingError("Failed to parse content from Gemini response. Check response structure.")
 97 |             }
 98 |             return text.trimmingCharacters(in: .whitespacesAndNewlines)
    |                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
 99 |         } catch let error as LanguageModelError {
100 |             throw error // Re-throw known errors
error: emit-module command failed with exit code 1 (use -v to see invocation)
[59/65] Emitting module AIGitNarrator
/host/spi-builder-workspace/Sources/LLMs/Services/GeminiService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/GeminiService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let temperature: Double?
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'GeminiService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OllamaService.swift:19:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OllamaService.swift:19:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 17 |     private let baseURL: String
 18 |     private let timeoutInterval: TimeInterval
 19 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OllamaService' has non-sendable type 'URLSession' (aka 'AnyObject')
 20 |
 21 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
/host/spi-builder-workspace/Sources/LLMs/Services/OpenAIService.swift:18:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
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/LLMs/Services/OpenAIService.swift:18:17: error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
16 |     private let temperature: Double
17 |     private let timeoutInterval: TimeInterval
18 |     private let urlSession: URLSession
   |                 `- error: stored property 'urlSession' of 'Sendable'-conforming class 'OpenAIService' has non-sendable type 'URLSession' (aka 'AnyObject')
19 |
20 |     init(apiKey: String, model: String, maxTokens: Int?, temperature: Double?, timeout: TimeInterval?) {
[60/65] Compiling AIGitNarrator GitHelper.swift
/host/spi-builder-workspace/Sources/GitHelper.swift:13:19: error: cannot find 'Process' in scope
 11 | func readGitDiff(staged: Bool) -> [GitDiff] {
 12 |     // Create a Process to run the `git diff` or `git diff --cached` command
 13 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 14 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 15 |     process.arguments = staged ? ["git", "diff", "--cached"] : ["git", "diff"]
/host/spi-builder-workspace/Sources/GitHelper.swift:81:19: error: cannot find 'Process' in scope
 79 |
 80 |     // Create a Process to run the `git log` command to get the commits for the PR
 81 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 82 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 83 |     process.arguments = ["git", "log", "--pretty=format:%H %s", "\(branchToCompare)..HEAD"]
/host/spi-builder-workspace/Sources/GitHelper.swift:140:23: error: cannot find 'Process' in scope
138 |
139 |     for branch in possibleBranches {
140 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
141 |         process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
142 |         process.arguments = ["git", "symbolic-ref", "refs/remotes/origin/\(branch)"]
/host/spi-builder-workspace/Sources/GitHelper.swift:185:19: error: cannot find 'Process' in scope
183 | private func readGitDiffForCommit(hash: String) -> [GitDiff] {
184 |     // Create a Process to run the `git show` command to get the diffs for the commit
185 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
186 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
187 |     process.arguments = ["git", "show", hash]
[61/65] Compiling AIGitNarrator LLMProvider.swift
/host/spi-builder-workspace/Sources/GitHelper.swift:13:19: error: cannot find 'Process' in scope
 11 | func readGitDiff(staged: Bool) -> [GitDiff] {
 12 |     // Create a Process to run the `git diff` or `git diff --cached` command
 13 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 14 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 15 |     process.arguments = staged ? ["git", "diff", "--cached"] : ["git", "diff"]
/host/spi-builder-workspace/Sources/GitHelper.swift:81:19: error: cannot find 'Process' in scope
 79 |
 80 |     // Create a Process to run the `git log` command to get the commits for the PR
 81 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
 82 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
 83 |     process.arguments = ["git", "log", "--pretty=format:%H %s", "\(branchToCompare)..HEAD"]
/host/spi-builder-workspace/Sources/GitHelper.swift:140:23: error: cannot find 'Process' in scope
138 |
139 |     for branch in possibleBranches {
140 |         let process = Process()
    |                       `- error: cannot find 'Process' in scope
141 |         process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
142 |         process.arguments = ["git", "symbolic-ref", "refs/remotes/origin/\(branch)"]
/host/spi-builder-workspace/Sources/GitHelper.swift:185:19: error: cannot find 'Process' in scope
183 | private func readGitDiffForCommit(hash: String) -> [GitDiff] {
184 |     // Create a Process to run the `git show` command to get the diffs for the commit
185 |     let process = Process()
    |                   `- error: cannot find 'Process' in scope
186 |     process.executableURL = URL(fileURLWithPath: "/usr/bin/env")
187 |     process.arguments = ["git", "show", hash]
[62/65] Compiling AIGitNarrator main.swift
/host/spi-builder-workspace/Sources/main.swift:105:25: error: cannot find 'DispatchSemaphore' in scope
103 |
104 |     private func generateAndPrint(prompt: String, type: String) {
105 |         let semaphore = DispatchSemaphore(value: 0)
    |                         `- error: cannot find 'DispatchSemaphore' in scope
106 |         let service = llmService!
107 |         Task {
BUILD FAILURE 6.1 wasm