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

Successful build of mlx-libraries, reference main (2cceb8), with Swift 6.1 for macOS (SPM) on 25 Jun 2025 01:37:09 UTC.

Swift 6 data race errors: 25

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

    |              `- warning: associated value 'ciImage' of 'Sendable'-conforming enum 'Image' has non-sendable type 'CIImage'; this is an error in the Swift 6 language mode
 61 |         case url(URL)
 62 |         case array(MLXArray)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h:34:12: note: class 'CIImage' does not conform to the 'Sendable' protocol
 32 |
 33 | NS_CLASS_AVAILABLE(10_4, 5_0)
 34 | @interface CIImage : NSObject <NSSecureCoding, NSCopying>
    |            `- note: class 'CIImage' does not conform to the 'Sendable' protocol
 35 | {
 36 | #if TARGET_OS_OSX || TARGET_OS_MACCATALYST
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
  2 |
  3 | import AVFoundation
  4 | import CoreImage
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
  5 | import Foundation
  6 | import MLX
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:62:14: warning: associated value 'array' of 'Sendable'-conforming enum 'Image' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
 60 |         case ciImage(CIImage)
 61 |         case url(URL)
 62 |         case array(MLXArray)
    |              `- warning: associated value 'array' of 'Sendable'-conforming enum 'Image' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
 63 |
 64 |         public func asCIImage() throws -> CIImage {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:6:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  4 | import CoreImage
  5 | import Foundation
  6 | import MLX
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  7 | import Tokenizers
  8 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:162:16: warning: stored property 'tools' of 'Sendable'-conforming struct 'UserInput' has non-sendable type '[ToolSpec]?' (aka 'Optional<Array<Dictionary<String, Any>>>'); this is an error in the Swift 6 language mode
160 |     public var videos = [Video]()
161 |
162 |     public var tools: [ToolSpec]?
    |                `- warning: stored property 'tools' of 'Sendable'-conforming struct 'UserInput' has non-sendable type '[ToolSpec]?' (aka 'Optional<Array<Dictionary<String, Any>>>'); this is an error in the Swift 6 language mode
163 |
164 |     /// Additional values provided for the chat template rendering context
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:165:16: warning: stored property 'additionalContext' of 'Sendable'-conforming struct 'UserInput' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
163 |
164 |     /// Additional values provided for the chat template rendering context
165 |     public var additionalContext: [String: Any]?
    |                `- warning: stored property 'additionalContext' of 'Sendable'-conforming struct 'UserInput' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
166 |     public var processing: Processing = .init()
167 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:111:28: warning: immutable value 'C' was never used; consider replacing with '_' or removing it
109 |
110 |                 let arrayData = array.asData()
111 |                 let (H, W, C) = array.shape3
    |                            `- warning: immutable value 'C' was never used; consider replacing with '_' or removing it
112 |                 let cs = CGColorSpace(name: CGColorSpace.sRGB)!
113 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/UserInput.swift:107:21: warning: code after 'throw' will never be executed
105 |                     throw UserInputError.arrayError(
106 |                         "channel dimension must be last and 3/4: \(array.shape)")
107 |                     break
    |                     `- warning: code after 'throw' will never be executed
108 |                 }
109 |
[229/237] Compiling MLXLMCommon BaseConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:136:9: warning: stored property 'temp' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
134 | /// Sampler that uses `topP` and `temperature` to sample the logits.
135 | public struct TopPSampler: LogitSampler {
136 |     let temp: MLXArray
    |         `- warning: stored property 'temp' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
137 |     let topP: MLXArray
138 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  2 |
  3 | import Foundation
  4 | import MLX
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  5 | import Tokenizers
  6 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:137:9: warning: stored property 'topP' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
135 | public struct TopPSampler: LogitSampler {
136 |     let temp: MLXArray
137 |     let topP: MLXArray
    |         `- warning: stored property 'topP' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
138 |
139 |     public init(temperature: Float, topP: Float) {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:144:17: warning: stored property 'compiledTopPSampling' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type '(MLXArray, MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
142 |     }
143 |
144 |     private let compiledTopPSampling: (MLXArray, MLXArray, MLXArray) -> MLXArray = {
    |                 |- warning: stored property 'compiledTopPSampling' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type '(MLXArray, MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
145 |         compile(inputs: [MLXRandom.globalState], outputs: [MLXRandom.globalState]) {
146 |             logits, topP, temp in
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:175:9: warning: stored property 'temp' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
173 | /// Processor that uses `temperature` to sample the logits
174 | public struct CategoricalSampler: LogitSampler {
175 |     let temp: MLXArray
    |         `- warning: stored property 'temp' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
176 |
177 |     public init(temperature: Float) {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:181:17: warning: stored property 'compiledCategorical' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type '(MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
179 |     }
180 |
181 |     private let compiledCategorical: (MLXArray, MLXArray) -> MLXArray = {
    |                 |- warning: stored property 'compiledCategorical' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type '(MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |         compile(inputs: [MLXRandom.globalState], outputs: [MLXRandom.globalState]) { logits, temp in
183 |             categorical(logits * (1 / temp))
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:468:16: warning: stored property 'inputText' of 'Sendable'-conforming struct 'GenerateResult' has non-sendable type 'LMInput.Text'; this is an error in the Swift 6 language mode
466 |
467 |     /// input (prompt, images, etc.)
468 |     public let inputText: LMInput.Text
    |                `- warning: stored property 'inputText' of 'Sendable'-conforming struct 'GenerateResult' has non-sendable type 'LMInput.Text'; this is an error in the Swift 6 language mode
469 |
470 |     @available(*, deprecated, message: "use inputText")
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/LanguageModel.swift:43:19: note: consider making struct 'Text' conform to the 'Sendable' protocol
 41 |
 42 |     /// Representation of tokenized input text.
 43 |     public struct Text {
    |                   `- note: consider making struct 'Text' conform to the 'Sendable' protocol
 44 |
 45 |         /// input token array
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:609:47: warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
607 |
608 |     let additionalEOSTokenIds = Set(
609 |         (context.configuration.extraEOSTokens ?? [])
    |                                               `- warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
610 |             .compactMap {
611 |                 context.tokenizer.convertTokenToId($0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:696:47: warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
694 |
695 |     let additionalEOSTokenIds = Set(
696 |         (context.configuration.extraEOSTokens ?? [])
    |                                               `- warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
697 |             .compactMap {
698 |                 context.tokenizer.convertTokenToId($0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:795:25: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
793 |
794 |         // Launch a Task to perform iteration asynchronously.
795 |         let task = Task {
    |                         `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
796 |             var start = Date.timeIntervalSinceReferenceDate
797 |             var promptTime: TimeInterval = 0
    :
845 |
846 |             let info = GenerateCompletionInfo(
847 |                 promptTokenCount: input.text.tokens.size,
    |                                   `- note: closure captures 'input' which is accessible to code in the current task
848 |                 generationTokenCount: tokenCount,
849 |                 promptTime: promptTime,
[230/237] Compiling MLXLMCommon Chat.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:136:9: warning: stored property 'temp' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
134 | /// Sampler that uses `topP` and `temperature` to sample the logits.
135 | public struct TopPSampler: LogitSampler {
136 |     let temp: MLXArray
    |         `- warning: stored property 'temp' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
137 |     let topP: MLXArray
138 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  2 |
  3 | import Foundation
  4 | import MLX
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  5 | import Tokenizers
  6 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:137:9: warning: stored property 'topP' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
135 | public struct TopPSampler: LogitSampler {
136 |     let temp: MLXArray
137 |     let topP: MLXArray
    |         `- warning: stored property 'topP' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
138 |
139 |     public init(temperature: Float, topP: Float) {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:144:17: warning: stored property 'compiledTopPSampling' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type '(MLXArray, MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
142 |     }
143 |
144 |     private let compiledTopPSampling: (MLXArray, MLXArray, MLXArray) -> MLXArray = {
    |                 |- warning: stored property 'compiledTopPSampling' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type '(MLXArray, MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
145 |         compile(inputs: [MLXRandom.globalState], outputs: [MLXRandom.globalState]) {
146 |             logits, topP, temp in
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:175:9: warning: stored property 'temp' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
173 | /// Processor that uses `temperature` to sample the logits
174 | public struct CategoricalSampler: LogitSampler {
175 |     let temp: MLXArray
    |         `- warning: stored property 'temp' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
176 |
177 |     public init(temperature: Float) {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:181:17: warning: stored property 'compiledCategorical' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type '(MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
179 |     }
180 |
181 |     private let compiledCategorical: (MLXArray, MLXArray) -> MLXArray = {
    |                 |- warning: stored property 'compiledCategorical' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type '(MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |         compile(inputs: [MLXRandom.globalState], outputs: [MLXRandom.globalState]) { logits, temp in
183 |             categorical(logits * (1 / temp))
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:468:16: warning: stored property 'inputText' of 'Sendable'-conforming struct 'GenerateResult' has non-sendable type 'LMInput.Text'; this is an error in the Swift 6 language mode
466 |
467 |     /// input (prompt, images, etc.)
468 |     public let inputText: LMInput.Text
    |                `- warning: stored property 'inputText' of 'Sendable'-conforming struct 'GenerateResult' has non-sendable type 'LMInput.Text'; this is an error in the Swift 6 language mode
469 |
470 |     @available(*, deprecated, message: "use inputText")
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/LanguageModel.swift:43:19: note: consider making struct 'Text' conform to the 'Sendable' protocol
 41 |
 42 |     /// Representation of tokenized input text.
 43 |     public struct Text {
    |                   `- note: consider making struct 'Text' conform to the 'Sendable' protocol
 44 |
 45 |         /// input token array
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:609:47: warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
607 |
608 |     let additionalEOSTokenIds = Set(
609 |         (context.configuration.extraEOSTokens ?? [])
    |                                               `- warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
610 |             .compactMap {
611 |                 context.tokenizer.convertTokenToId($0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:696:47: warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
694 |
695 |     let additionalEOSTokenIds = Set(
696 |         (context.configuration.extraEOSTokens ?? [])
    |                                               `- warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
697 |             .compactMap {
698 |                 context.tokenizer.convertTokenToId($0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:795:25: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
793 |
794 |         // Launch a Task to perform iteration asynchronously.
795 |         let task = Task {
    |                         `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
796 |             var start = Date.timeIntervalSinceReferenceDate
797 |             var promptTime: TimeInterval = 0
    :
845 |
846 |             let info = GenerateCompletionInfo(
847 |                 promptTokenCount: input.text.tokens.size,
    |                                   `- note: closure captures 'input' which is accessible to code in the current task
848 |                 generationTokenCount: tokenCount,
849 |                 promptTime: promptTime,
[231/237] Compiling MLXLMCommon Evaluate.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:136:9: warning: stored property 'temp' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
134 | /// Sampler that uses `topP` and `temperature` to sample the logits.
135 | public struct TopPSampler: LogitSampler {
136 |     let temp: MLXArray
    |         `- warning: stored property 'temp' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
137 |     let topP: MLXArray
138 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  2 |
  3 | import Foundation
  4 | import MLX
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
  5 | import Tokenizers
  6 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:137:9: warning: stored property 'topP' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
135 | public struct TopPSampler: LogitSampler {
136 |     let temp: MLXArray
137 |     let topP: MLXArray
    |         `- warning: stored property 'topP' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
138 |
139 |     public init(temperature: Float, topP: Float) {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:144:17: warning: stored property 'compiledTopPSampling' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type '(MLXArray, MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
142 |     }
143 |
144 |     private let compiledTopPSampling: (MLXArray, MLXArray, MLXArray) -> MLXArray = {
    |                 |- warning: stored property 'compiledTopPSampling' of 'Sendable'-conforming struct 'TopPSampler' has non-sendable type '(MLXArray, MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
145 |         compile(inputs: [MLXRandom.globalState], outputs: [MLXRandom.globalState]) {
146 |             logits, topP, temp in
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:175:9: warning: stored property 'temp' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
173 | /// Processor that uses `temperature` to sample the logits
174 | public struct CategoricalSampler: LogitSampler {
175 |     let temp: MLXArray
    |         `- warning: stored property 'temp' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
176 |
177 |     public init(temperature: Float) {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:8:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
  6 | import Numerics
  7 |
  8 | public final class MLXArray {
    |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
  9 |
 10 |     /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:181:17: warning: stored property 'compiledCategorical' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type '(MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
179 |     }
180 |
181 |     private let compiledCategorical: (MLXArray, MLXArray) -> MLXArray = {
    |                 |- warning: stored property 'compiledCategorical' of 'Sendable'-conforming struct 'CategoricalSampler' has non-sendable type '(MLXArray, MLXArray) -> MLXArray'; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |         compile(inputs: [MLXRandom.globalState], outputs: [MLXRandom.globalState]) { logits, temp in
183 |             categorical(logits * (1 / temp))
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:468:16: warning: stored property 'inputText' of 'Sendable'-conforming struct 'GenerateResult' has non-sendable type 'LMInput.Text'; this is an error in the Swift 6 language mode
466 |
467 |     /// input (prompt, images, etc.)
468 |     public let inputText: LMInput.Text
    |                `- warning: stored property 'inputText' of 'Sendable'-conforming struct 'GenerateResult' has non-sendable type 'LMInput.Text'; this is an error in the Swift 6 language mode
469 |
470 |     @available(*, deprecated, message: "use inputText")
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/LanguageModel.swift:43:19: note: consider making struct 'Text' conform to the 'Sendable' protocol
 41 |
 42 |     /// Representation of tokenized input text.
 43 |     public struct Text {
    |                   `- note: consider making struct 'Text' conform to the 'Sendable' protocol
 44 |
 45 |         /// input token array
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:609:47: warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
607 |
608 |     let additionalEOSTokenIds = Set(
609 |         (context.configuration.extraEOSTokens ?? [])
    |                                               `- warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
610 |             .compactMap {
611 |                 context.tokenizer.convertTokenToId($0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:696:47: warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
694 |
695 |     let additionalEOSTokenIds = Set(
696 |         (context.configuration.extraEOSTokens ?? [])
    |                                               `- warning: left side of nil coalescing operator '??' has non-optional type 'Set<String>', so the right side is never used
697 |             .compactMap {
698 |                 context.tokenizer.convertTokenToId($0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Evaluate.swift:795:25: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
793 |
794 |         // Launch a Task to perform iteration asynchronously.
795 |         let task = Task {
    |                         `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
796 |             var start = Date.timeIntervalSinceReferenceDate
797 |             var promptTime: TimeInterval = 0
    :
845 |
846 |             let info = GenerateCompletionInfo(
847 |                 promptTokenCount: input.text.tokens.size,
    |                                   `- note: closure captures 'input' which is accessible to code in the current task
848 |                 generationTokenCount: tokenCount,
849 |                 promptTime: promptTime,
[232/237] Compiling MLXLMCommon Streamlined.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:160:58: warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
158 |         _ model: ModelContainer, instructions: String? = nil,
159 |         generateParameters: GenerateParameters = .init(),
160 |         processing: UserInput.Processing = .init(resize: CGSize(width: 512, height: 512))
    |                                                          |- warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
    |                                                          `- note: The missing import of module 'CoreGraphics' will be added implicitly
161 |     ) {
162 |         self.generator = .init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:177:58: warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
175 |         _ model: ModelContext, instructions: String? = nil,
176 |         generateParameters: GenerateParameters = .init(),
177 |         processing: UserInput.Processing = .init(resize: CGSize(width: 512, height: 512))
    |                                                          |- warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
    |                                                          `- note: The missing import of module 'CoreGraphics' will be added implicitly
178 |     ) {
179 |         self.generator = .init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:78:27: warning: capture of 'generate(context:)' with non-sendable type '(ModelContext) async throws -> String' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 76 |         case .container(let container):
 77 |             return try await container.perform { context in
 78 |                 try await generate(context: context)
    |                           |- warning: capture of 'generate(context:)' with non-sendable type '(ModelContext) async throws -> String' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |             }
 80 |         case .context(let context):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:53:14: warning: concurrently-executed local function 'generate(context:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 51 |
 52 |     func generate() async throws -> String {
 53 |         func generate(context: ModelContext) async throws -> String {
    |              `- warning: concurrently-executed local function 'generate(context:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 54 |             // prepare the input -- first the structured messages,
 55 |             // next the tokens
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:122:31: warning: capture of 'stream(context:continuation:)' with non-sendable type '(ModelContext, AsyncThrowingStream<String, any Error>.Continuation) async -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
120 |                 case .container(let container):
121 |                     await container.perform { context in
122 |                         await stream(context: context, continuation: continuation)
    |                               |- warning: capture of 'stream(context:continuation:)' with non-sendable type '(ModelContext, AsyncThrowingStream<String, any Error>.Continuation) async -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 |                     }
124 |                 case .context(let context):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:86:14: warning: concurrently-executed local function 'stream(context:continuation:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 84 |
 85 |     func stream() -> AsyncThrowingStream<String, Error> {
 86 |         func stream(
    |              `- warning: concurrently-executed local function 'stream(context:continuation:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 87 |             context: ModelContext,
 88 |             continuation: AsyncThrowingStream<String, Error>.Continuation
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:50:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
48 |     public func asInts() -> [Int]? {
49 |         switch self {
50 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
51 |         case .int(let v): [v]
52 |         case .float(let float): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:52:25: warning: immutable value 'float' was never used; consider replacing with '_' or removing it
50 |         case .string(let string): nil
51 |         case .int(let v): [v]
52 |         case .float(let float): nil
   |                         `- warning: immutable value 'float' was never used; consider replacing with '_' or removing it
53 |         case .ints(let array): array
54 |         case .floats(let array): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:54:26: warning: immutable value 'array' was never used; consider replacing with '_' or removing it
52 |         case .float(let float): nil
53 |         case .ints(let array): array
54 |         case .floats(let array): nil
   |                          `- warning: immutable value 'array' was never used; consider replacing with '_' or removing it
55 |         }
56 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:63:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
61 |     public func asInt() -> Int? {
62 |         switch self {
63 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
64 |         case .int(let v): v
65 |         case .float(let float): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:65:25: warning: immutable value 'float' was never used; consider replacing with '_' or removing it
63 |         case .string(let string): nil
64 |         case .int(let v): v
65 |         case .float(let float): nil
   |                         `- warning: immutable value 'float' was never used; consider replacing with '_' or removing it
66 |         case .ints(let array): array.count == 1 ? array[0] : nil
67 |         case .floats(let array): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:67:26: warning: immutable value 'array' was never used; consider replacing with '_' or removing it
65 |         case .float(let float): nil
66 |         case .ints(let array): array.count == 1 ? array[0] : nil
67 |         case .floats(let array): nil
   |                          `- warning: immutable value 'array' was never used; consider replacing with '_' or removing it
68 |         }
69 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:76:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
74 |     public func asFloats() -> [Float]? {
75 |         switch self {
76 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
77 |         case .int(let v): [Float(v)]
78 |         case .float(let float): [float]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:89:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
87 |     public func asFloat() -> Float? {
88 |         switch self {
89 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
90 |         case .int(let v): Float(v)
91 |         case .float(let float): float
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:118:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
116 |
117 |         return AsyncThrowingStream { continuation in
118 |             Task { [model, continuation] in
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
119 |                 switch model {
120 |                 case .container(let container):
121 |                     await container.perform { context in
122 |                         await stream(context: context, continuation: continuation)
    |                               `- note: closure captures 'stream(context:continuation:)' which is accessible to code in the current task
123 |                     }
124 |                 case .context(let context):
[233/237] Compiling MLXLMCommon StringOrNumber.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:160:58: warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
158 |         _ model: ModelContainer, instructions: String? = nil,
159 |         generateParameters: GenerateParameters = .init(),
160 |         processing: UserInput.Processing = .init(resize: CGSize(width: 512, height: 512))
    |                                                          |- warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
    |                                                          `- note: The missing import of module 'CoreGraphics' will be added implicitly
161 |     ) {
162 |         self.generator = .init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:177:58: warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
175 |         _ model: ModelContext, instructions: String? = nil,
176 |         generateParameters: GenerateParameters = .init(),
177 |         processing: UserInput.Processing = .init(resize: CGSize(width: 512, height: 512))
    |                                                          |- warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
    |                                                          `- note: The missing import of module 'CoreGraphics' will be added implicitly
178 |     ) {
179 |         self.generator = .init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:78:27: warning: capture of 'generate(context:)' with non-sendable type '(ModelContext) async throws -> String' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 76 |         case .container(let container):
 77 |             return try await container.perform { context in
 78 |                 try await generate(context: context)
    |                           |- warning: capture of 'generate(context:)' with non-sendable type '(ModelContext) async throws -> String' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |             }
 80 |         case .context(let context):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:53:14: warning: concurrently-executed local function 'generate(context:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 51 |
 52 |     func generate() async throws -> String {
 53 |         func generate(context: ModelContext) async throws -> String {
    |              `- warning: concurrently-executed local function 'generate(context:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 54 |             // prepare the input -- first the structured messages,
 55 |             // next the tokens
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:122:31: warning: capture of 'stream(context:continuation:)' with non-sendable type '(ModelContext, AsyncThrowingStream<String, any Error>.Continuation) async -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
120 |                 case .container(let container):
121 |                     await container.perform { context in
122 |                         await stream(context: context, continuation: continuation)
    |                               |- warning: capture of 'stream(context:continuation:)' with non-sendable type '(ModelContext, AsyncThrowingStream<String, any Error>.Continuation) async -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 |                     }
124 |                 case .context(let context):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:86:14: warning: concurrently-executed local function 'stream(context:continuation:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 84 |
 85 |     func stream() -> AsyncThrowingStream<String, Error> {
 86 |         func stream(
    |              `- warning: concurrently-executed local function 'stream(context:continuation:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 87 |             context: ModelContext,
 88 |             continuation: AsyncThrowingStream<String, Error>.Continuation
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:50:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
48 |     public func asInts() -> [Int]? {
49 |         switch self {
50 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
51 |         case .int(let v): [v]
52 |         case .float(let float): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:52:25: warning: immutable value 'float' was never used; consider replacing with '_' or removing it
50 |         case .string(let string): nil
51 |         case .int(let v): [v]
52 |         case .float(let float): nil
   |                         `- warning: immutable value 'float' was never used; consider replacing with '_' or removing it
53 |         case .ints(let array): array
54 |         case .floats(let array): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:54:26: warning: immutable value 'array' was never used; consider replacing with '_' or removing it
52 |         case .float(let float): nil
53 |         case .ints(let array): array
54 |         case .floats(let array): nil
   |                          `- warning: immutable value 'array' was never used; consider replacing with '_' or removing it
55 |         }
56 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:63:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
61 |     public func asInt() -> Int? {
62 |         switch self {
63 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
64 |         case .int(let v): v
65 |         case .float(let float): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:65:25: warning: immutable value 'float' was never used; consider replacing with '_' or removing it
63 |         case .string(let string): nil
64 |         case .int(let v): v
65 |         case .float(let float): nil
   |                         `- warning: immutable value 'float' was never used; consider replacing with '_' or removing it
66 |         case .ints(let array): array.count == 1 ? array[0] : nil
67 |         case .floats(let array): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:67:26: warning: immutable value 'array' was never used; consider replacing with '_' or removing it
65 |         case .float(let float): nil
66 |         case .ints(let array): array.count == 1 ? array[0] : nil
67 |         case .floats(let array): nil
   |                          `- warning: immutable value 'array' was never used; consider replacing with '_' or removing it
68 |         }
69 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:76:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
74 |     public func asFloats() -> [Float]? {
75 |         switch self {
76 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
77 |         case .int(let v): [Float(v)]
78 |         case .float(let float): [float]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:89:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
87 |     public func asFloat() -> Float? {
88 |         switch self {
89 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
90 |         case .int(let v): Float(v)
91 |         case .float(let float): float
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:118:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
116 |
117 |         return AsyncThrowingStream { continuation in
118 |             Task { [model, continuation] in
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
119 |                 switch model {
120 |                 case .container(let container):
121 |                     await container.perform { context in
122 |                         await stream(context: context, continuation: continuation)
    |                               `- note: closure captures 'stream(context:continuation:)' which is accessible to code in the current task
123 |                     }
124 |                 case .context(let context):
[234/237] Compiling MLXLMCommon Tokenizer.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:160:58: warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
158 |         _ model: ModelContainer, instructions: String? = nil,
159 |         generateParameters: GenerateParameters = .init(),
160 |         processing: UserInput.Processing = .init(resize: CGSize(width: 512, height: 512))
    |                                                          |- warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
    |                                                          `- note: The missing import of module 'CoreGraphics' will be added implicitly
161 |     ) {
162 |         self.generator = .init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:177:58: warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
175 |         _ model: ModelContext, instructions: String? = nil,
176 |         generateParameters: GenerateParameters = .init(),
177 |         processing: UserInput.Processing = .init(resize: CGSize(width: 512, height: 512))
    |                                                          |- warning: initializer 'init(width:height:)' cannot be used in a default argument value because 'CoreGraphics' was not imported by this file; this is an error in the Swift 6 language mode
    |                                                          `- note: The missing import of module 'CoreGraphics' will be added implicitly
178 |     ) {
179 |         self.generator = .init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:78:27: warning: capture of 'generate(context:)' with non-sendable type '(ModelContext) async throws -> String' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 76 |         case .container(let container):
 77 |             return try await container.perform { context in
 78 |                 try await generate(context: context)
    |                           |- warning: capture of 'generate(context:)' with non-sendable type '(ModelContext) async throws -> String' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 79 |             }
 80 |         case .context(let context):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:53:14: warning: concurrently-executed local function 'generate(context:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 51 |
 52 |     func generate() async throws -> String {
 53 |         func generate(context: ModelContext) async throws -> String {
    |              `- warning: concurrently-executed local function 'generate(context:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 54 |             // prepare the input -- first the structured messages,
 55 |             // next the tokens
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:122:31: warning: capture of 'stream(context:continuation:)' with non-sendable type '(ModelContext, AsyncThrowingStream<String, any Error>.Continuation) async -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
120 |                 case .container(let container):
121 |                     await container.perform { context in
122 |                         await stream(context: context, continuation: continuation)
    |                               |- warning: capture of 'stream(context:continuation:)' with non-sendable type '(ModelContext, AsyncThrowingStream<String, any Error>.Continuation) async -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 |                     }
124 |                 case .context(let context):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:86:14: warning: concurrently-executed local function 'stream(context:continuation:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 84 |
 85 |     func stream() -> AsyncThrowingStream<String, Error> {
 86 |         func stream(
    |              `- warning: concurrently-executed local function 'stream(context:continuation:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
 87 |             context: ModelContext,
 88 |             continuation: AsyncThrowingStream<String, Error>.Continuation
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:50:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
48 |     public func asInts() -> [Int]? {
49 |         switch self {
50 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
51 |         case .int(let v): [v]
52 |         case .float(let float): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:52:25: warning: immutable value 'float' was never used; consider replacing with '_' or removing it
50 |         case .string(let string): nil
51 |         case .int(let v): [v]
52 |         case .float(let float): nil
   |                         `- warning: immutable value 'float' was never used; consider replacing with '_' or removing it
53 |         case .ints(let array): array
54 |         case .floats(let array): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:54:26: warning: immutable value 'array' was never used; consider replacing with '_' or removing it
52 |         case .float(let float): nil
53 |         case .ints(let array): array
54 |         case .floats(let array): nil
   |                          `- warning: immutable value 'array' was never used; consider replacing with '_' or removing it
55 |         }
56 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:63:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
61 |     public func asInt() -> Int? {
62 |         switch self {
63 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
64 |         case .int(let v): v
65 |         case .float(let float): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:65:25: warning: immutable value 'float' was never used; consider replacing with '_' or removing it
63 |         case .string(let string): nil
64 |         case .int(let v): v
65 |         case .float(let float): nil
   |                         `- warning: immutable value 'float' was never used; consider replacing with '_' or removing it
66 |         case .ints(let array): array.count == 1 ? array[0] : nil
67 |         case .floats(let array): nil
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:67:26: warning: immutable value 'array' was never used; consider replacing with '_' or removing it
65 |         case .float(let float): nil
66 |         case .ints(let array): array.count == 1 ? array[0] : nil
67 |         case .floats(let array): nil
   |                          `- warning: immutable value 'array' was never used; consider replacing with '_' or removing it
68 |         }
69 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:76:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
74 |     public func asFloats() -> [Float]? {
75 |         switch self {
76 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
77 |         case .int(let v): [Float(v)]
78 |         case .float(let float): [float]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/StringOrNumber.swift:89:26: warning: immutable value 'string' was never used; consider replacing with '_' or removing it
87 |     public func asFloat() -> Float? {
88 |         switch self {
89 |         case .string(let string): nil
   |                          `- warning: immutable value 'string' was never used; consider replacing with '_' or removing it
90 |         case .int(let v): Float(v)
91 |         case .float(let float): float
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/Streamlined.swift:118:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
116 |
117 |         return AsyncThrowingStream { continuation in
118 |             Task { [model, continuation] in
    |                  `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
119 |                 switch model {
120 |                 case .container(let container):
121 |                     await container.perform { context in
122 |                         await stream(context: context, continuation: continuation)
    |                               `- note: closure captures 'stream(context:continuation:)' which is accessible to code in the current task
123 |                     }
124 |                 case .context(let context):
[235/237] Compiling MLXLMCommon Encodable+toolResult.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:757:17: warning: initialization of immutable value 'expectedStep' was never used; consider replacing with assignment to '_' or removing it
 755 |
 756 |             // Validate that step, groupSize, and bits match current instance
 757 |             let expectedStep = Int(newValue[0]) ?? 256
     |                 `- warning: initialization of immutable value 'expectedStep' was never used; consider replacing with assignment to '_' or removing it
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
 759 |             let expectedBits = Int(newValue[3]) ?? 8
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:758:17: warning: initialization of immutable value 'expectedGroupSize' was never used; consider replacing with assignment to '_' or removing it
 756 |             // Validate that step, groupSize, and bits match current instance
 757 |             let expectedStep = Int(newValue[0]) ?? 256
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
     |                 `- warning: initialization of immutable value 'expectedGroupSize' was never used; consider replacing with assignment to '_' or removing it
 759 |             let expectedBits = Int(newValue[3]) ?? 8
 760 |         }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:759:17: warning: initialization of immutable value 'expectedBits' was never used; consider replacing with assignment to '_' or removing it
 757 |             let expectedStep = Int(newValue[0]) ?? 256
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
 759 |             let expectedBits = Int(newValue[3]) ?? 8
     |                 `- warning: initialization of immutable value 'expectedBits' was never used; consider replacing with assignment to '_' or removing it
 760 |         }
 761 |     }
[236/237] Compiling MLXLMCommon KVCache.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:757:17: warning: initialization of immutable value 'expectedStep' was never used; consider replacing with assignment to '_' or removing it
 755 |
 756 |             // Validate that step, groupSize, and bits match current instance
 757 |             let expectedStep = Int(newValue[0]) ?? 256
     |                 `- warning: initialization of immutable value 'expectedStep' was never used; consider replacing with assignment to '_' or removing it
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
 759 |             let expectedBits = Int(newValue[3]) ?? 8
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:758:17: warning: initialization of immutable value 'expectedGroupSize' was never used; consider replacing with assignment to '_' or removing it
 756 |             // Validate that step, groupSize, and bits match current instance
 757 |             let expectedStep = Int(newValue[0]) ?? 256
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
     |                 `- warning: initialization of immutable value 'expectedGroupSize' was never used; consider replacing with assignment to '_' or removing it
 759 |             let expectedBits = Int(newValue[3]) ?? 8
 760 |         }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:759:17: warning: initialization of immutable value 'expectedBits' was never used; consider replacing with assignment to '_' or removing it
 757 |             let expectedStep = Int(newValue[0]) ?? 256
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
 759 |             let expectedBits = Int(newValue[3]) ?? 8
     |                 `- warning: initialization of immutable value 'expectedBits' was never used; consider replacing with assignment to '_' or removing it
 760 |         }
 761 |     }
[237/237] Compiling MLXLMCommon LanguageModel.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:757:17: warning: initialization of immutable value 'expectedStep' was never used; consider replacing with assignment to '_' or removing it
 755 |
 756 |             // Validate that step, groupSize, and bits match current instance
 757 |             let expectedStep = Int(newValue[0]) ?? 256
     |                 `- warning: initialization of immutable value 'expectedStep' was never used; consider replacing with assignment to '_' or removing it
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
 759 |             let expectedBits = Int(newValue[3]) ?? 8
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:758:17: warning: initialization of immutable value 'expectedGroupSize' was never used; consider replacing with assignment to '_' or removing it
 756 |             // Validate that step, groupSize, and bits match current instance
 757 |             let expectedStep = Int(newValue[0]) ?? 256
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
     |                 `- warning: initialization of immutable value 'expectedGroupSize' was never used; consider replacing with assignment to '_' or removing it
 759 |             let expectedBits = Int(newValue[3]) ?? 8
 760 |         }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLMCommon/KVCache.swift:759:17: warning: initialization of immutable value 'expectedBits' was never used; consider replacing with assignment to '_' or removing it
 757 |             let expectedStep = Int(newValue[0]) ?? 256
 758 |             let expectedGroupSize = Int(newValue[2]) ?? 64
 759 |             let expectedBits = Int(newValue[3]) ?? 8
     |                 `- warning: initialization of immutable value 'expectedBits' was never used; consider replacing with assignment to '_' or removing it
 760 |         }
 761 |     }
[238/259] Emitting module MLXLLM
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Gemma3Text.swift:13:8: warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 11 | import MLX
 12 | import MLXFast
 13 | import MLXLLM
    |        `- warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 14 | import MLXLMCommon
 15 | import MLXNN
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:311:14: warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
309 | ///     configuration: LLMRegistry.llama3_8B_4bit)
310 | /// ```
311 | public class LLMModelFactory: ModelFactory {
    |              `- warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
312 |
313 |     public init(typeRegistry: ModelTypeRegistry, modelRegistry: AbstractModelRegistry) {
[239/259] Compiling MLXLLM Qwen2.swift
[240/259] Compiling MLXLLM Qwen3.swift
[241/259] Compiling MLXLLM Granite.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Granite.swift:120:13: warning: initialization of immutable value 'attentionHeads' was never used; consider replacing with assignment to '_' or removing it
118 |
119 |     public init(_ args: GraniteConfiguration) {
120 |         let attentionHeads = args.attentionHeads
    |             `- warning: initialization of immutable value 'attentionHeads' was never used; consider replacing with assignment to '_' or removing it
121 |         let hiddenSize = args.hiddenSize
122 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Granite.swift:270:74: warning: left side of nil coalescing operator '??' has non-optional type 'Bool', so the right side is never used
268 |         self.kvHeads = try container.decode(Int.self, forKey: .kvHeads)
269 |         self.attentionBias = try container.decode(Bool.self, forKey: .attentionBias)
270 |         self.mlpBias = try container.decode(Bool.self, forKey: .mlpBias) ?? false
    |                                                                          `- warning: left side of nil coalescing operator '??' has non-optional type 'Bool', so the right side is never used
271 |         self.ropeTheta = try container.decodeIfPresent(Float.self, forKey: .ropeTheta) ?? 10000000.0
272 |         self.ropeScaling = try container.decodeIfPresent(
[242/259] Compiling MLXLLM Internlm2.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Granite.swift:120:13: warning: initialization of immutable value 'attentionHeads' was never used; consider replacing with assignment to '_' or removing it
118 |
119 |     public init(_ args: GraniteConfiguration) {
120 |         let attentionHeads = args.attentionHeads
    |             `- warning: initialization of immutable value 'attentionHeads' was never used; consider replacing with assignment to '_' or removing it
121 |         let hiddenSize = args.hiddenSize
122 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Granite.swift:270:74: warning: left side of nil coalescing operator '??' has non-optional type 'Bool', so the right side is never used
268 |         self.kvHeads = try container.decode(Int.self, forKey: .kvHeads)
269 |         self.attentionBias = try container.decode(Bool.self, forKey: .attentionBias)
270 |         self.mlpBias = try container.decode(Bool.self, forKey: .mlpBias) ?? false
    |                                                                          `- warning: left side of nil coalescing operator '??' has non-optional type 'Bool', so the right side is never used
271 |         self.ropeTheta = try container.decodeIfPresent(Float.self, forKey: .ropeTheta) ?? 10000000.0
272 |         self.ropeScaling = try container.decodeIfPresent(
[243/259] Compiling MLXLLM Qwen3MoE.swift
[244/259] Compiling MLXLLM Starcoder2.swift
[245/259] Compiling MLXLLM Phi3.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Phi3.swift:63:17: warning: immutable value 'shortFactor' was never used; consider replacing with '_' or removing it
 61 |         if let ropeScaling = args.ropeScaling,
 62 |             ropeScaling.type == "su" || ropeScaling.type == "longrope",
 63 |             let shortFactor = ropeScaling.shortFactor, let longFactor = ropeScaling.longFactor
    |                 `- warning: immutable value 'shortFactor' was never used; consider replacing with '_' or removing it
 64 |         {
 65 |             self.rope = .suScaledRotaryEmbedding(
[246/259] Compiling MLXLLM PhiMoE.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Phi3.swift:63:17: warning: immutable value 'shortFactor' was never used; consider replacing with '_' or removing it
 61 |         if let ropeScaling = args.ropeScaling,
 62 |             ropeScaling.type == "su" || ropeScaling.type == "longrope",
 63 |             let shortFactor = ropeScaling.shortFactor, let longFactor = ropeScaling.longFactor
    |                 `- warning: immutable value 'shortFactor' was never used; consider replacing with '_' or removing it
 64 |         {
 65 |             self.rope = .suScaledRotaryEmbedding(
[247/259] Compiling MLXLLM OpenELM.swift
[248/259] Compiling MLXLLM Phi.swift
[249/261] Compiling MLXLLM LoraTrain.swift
[250/261] Compiling MLXLLM Cohere.swift
[251/261] Compiling MLXLLM GLM4.swift
[252/261] Compiling MLXLLM LLMModel.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModel.swift:27:13: warning: variable 'state' was never mutated; consider changing to 'let' constant
25 |         let prefillStepSize = windowSize ?? 512
26 |         var y = input.text
27 |         var state: LMOutput.State? = nil
   |             `- warning: variable 'state' was never mutated; consider changing to 'let' constant
28 |
29 |         // prepare the prompt in chunks if larger than the prefill size
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModel.swift:32:17: warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
30 |         while y.tokens.size > prefillStepSize {
31 |             let input = y[.newAxis, ..<prefillStepSize]
32 |             let result = self(input, cache: cache.isEmpty ? nil : cache, state: state)
   |                 `- warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
33 |             eval(cache)
34 |             y = y[prefillStepSize...]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:311:14: warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
309 | ///     configuration: LLMRegistry.llama3_8B_4bit)
310 | /// ```
311 | public class LLMModelFactory: ModelFactory {
    |              `- warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
312 |
313 |     public init(typeRegistry: ModelTypeRegistry, modelRegistry: AbstractModelRegistry) {
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:31:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 29 |     private static func all() -> [String: @Sendable (URL) throws -> any LanguageModel] {
 30 |         [
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:32:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 30 |         [
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:33:20: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
    |                    `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:34:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:35:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:36:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:37:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:38:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:39:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:40:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:41:27: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
    |                           `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:42:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:43:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:44:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:45:28: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
    |                            `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:46:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:47:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:48:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
 50 |         ]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:49:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 50 |         ]
 51 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:375:17: warning: returning task-isolated 'model' as a 'sending' result risks causing data races; this is an error in the Swift 6 language mode
373 |             messageGenerator: messageGenerator)
374 |
375 |         return .init(
    |                 |- warning: returning task-isolated 'model' as a 'sending' result risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: returning task-isolated 'model' risks causing data races since the caller assumes that 'model' can be safely sent to other isolation domains
376 |             configuration: configuration, model: model, processor: processor, tokenizer: tokenizer)
377 |     }
[253/261] Compiling MLXLLM LLMModelFactory.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModel.swift:27:13: warning: variable 'state' was never mutated; consider changing to 'let' constant
25 |         let prefillStepSize = windowSize ?? 512
26 |         var y = input.text
27 |         var state: LMOutput.State? = nil
   |             `- warning: variable 'state' was never mutated; consider changing to 'let' constant
28 |
29 |         // prepare the prompt in chunks if larger than the prefill size
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModel.swift:32:17: warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
30 |         while y.tokens.size > prefillStepSize {
31 |             let input = y[.newAxis, ..<prefillStepSize]
32 |             let result = self(input, cache: cache.isEmpty ? nil : cache, state: state)
   |                 `- warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
33 |             eval(cache)
34 |             y = y[prefillStepSize...]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:311:14: warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
309 | ///     configuration: LLMRegistry.llama3_8B_4bit)
310 | /// ```
311 | public class LLMModelFactory: ModelFactory {
    |              `- warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
312 |
313 |     public init(typeRegistry: ModelTypeRegistry, modelRegistry: AbstractModelRegistry) {
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:31:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 29 |     private static func all() -> [String: @Sendable (URL) throws -> any LanguageModel] {
 30 |         [
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:32:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 30 |         [
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:33:20: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
    |                    `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:34:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:35:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:36:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:37:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:38:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:39:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:40:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:41:27: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
    |                           `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:42:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:43:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:44:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:45:28: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
    |                            `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:46:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:47:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:48:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
 50 |         ]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:49:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 50 |         ]
 51 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:375:17: warning: returning task-isolated 'model' as a 'sending' result risks causing data races; this is an error in the Swift 6 language mode
373 |             messageGenerator: messageGenerator)
374 |
375 |         return .init(
    |                 |- warning: returning task-isolated 'model' as a 'sending' result risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: returning task-isolated 'model' risks causing data races since the caller assumes that 'model' can be safely sent to other isolation domains
376 |             configuration: configuration, model: model, processor: processor, tokenizer: tokenizer)
377 |     }
[254/261] Compiling MLXLLM Lora+Data.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModel.swift:27:13: warning: variable 'state' was never mutated; consider changing to 'let' constant
25 |         let prefillStepSize = windowSize ?? 512
26 |         var y = input.text
27 |         var state: LMOutput.State? = nil
   |             `- warning: variable 'state' was never mutated; consider changing to 'let' constant
28 |
29 |         // prepare the prompt in chunks if larger than the prefill size
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModel.swift:32:17: warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
30 |         while y.tokens.size > prefillStepSize {
31 |             let input = y[.newAxis, ..<prefillStepSize]
32 |             let result = self(input, cache: cache.isEmpty ? nil : cache, state: state)
   |                 `- warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
33 |             eval(cache)
34 |             y = y[prefillStepSize...]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:311:14: warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
309 | ///     configuration: LLMRegistry.llama3_8B_4bit)
310 | /// ```
311 | public class LLMModelFactory: ModelFactory {
    |              `- warning: non-final class 'LLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
312 |
313 |     public init(typeRegistry: ModelTypeRegistry, modelRegistry: AbstractModelRegistry) {
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:31:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 29 |     private static func all() -> [String: @Sendable (URL) throws -> any LanguageModel] {
 30 |         [
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:32:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 30 |         [
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:33:20: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 31 |             "mistral": create(LlamaConfiguration.self, LlamaModel.init),
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
    |                    `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:34:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 32 |             "llama": create(LlamaConfiguration.self, LlamaModel.init),
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:35:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 33 |             "phi": create(PhiConfiguration.self, PhiModel.init),
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:36:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 34 |             "phi3": create(Phi3Configuration.self, Phi3Model.init),
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:37:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 35 |             "phimoe": create(PhiMoEConfiguration.self, PhiMoEModel.init),
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:38:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 36 |             "gemma": create(GemmaConfiguration.self, GemmaModel.init),
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:39:22: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 37 |             "gemma2": create(Gemma2Configuration.self, Gemma2Model.init),
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
    |                      `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:40:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 38 |             "qwen2": create(Qwen2Configuration.self, Qwen2Model.init),
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:41:27: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 39 |             "qwen3": create(Qwen3Configuration.self, Qwen3Model.init),
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
    |                           `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:42:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 40 |             "qwen3_moe": create(Qwen3MoEConfiguration.self, Qwen3MoEModel.init),
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:43:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 41 |             "starcoder2": create(Starcoder2Configuration.self, Starcoder2Model.init),
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:44:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 42 |             "cohere": create(CohereConfiguration.self, CohereModel.init),
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:45:28: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 43 |             "openelm": create(OpenElmConfiguration.self, OpenELMModel.init),
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
    |                            `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:46:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 44 |             "internlm2": create(InternLM2Configuration.self, InternLM2Model.init),
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:47:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 45 |             "gemma3_text": create(Gemma3TextConfiguration.self, Gemma3TextModel.init),
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:48:21: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 46 |             "granite": create(GraniteConfiguration.self, GraniteModel.init),
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
    |                     `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
 50 |         ]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:49:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 47 |             "mimo": create(MiMoConfiguration.self, MiMoModel.init),
 48 |             "glm4": create(GLM4Configuration.self, GLM4Model.init),
 49 |             "acereason": create(Qwen2Configuration.self, Qwen2Model.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 50 |         ]
 51 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/LLMModelFactory.swift:375:17: warning: returning task-isolated 'model' as a 'sending' result risks causing data races; this is an error in the Swift 6 language mode
373 |             messageGenerator: messageGenerator)
374 |
375 |         return .init(
    |                 |- warning: returning task-isolated 'model' as a 'sending' result risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: returning task-isolated 'model' risks causing data races since the caller assumes that 'model' can be safely sent to other isolation domains
376 |             configuration: configuration, model: model, processor: processor, tokenizer: tokenizer)
377 |     }
[255/261] Compiling MLXLLM Llama.swift
[256/261] Compiling MLXLLM MiMo.swift
[257/261] Compiling MLXLLM Gemma.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Gemma3Text.swift:13:8: warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 11 | import MLX
 12 | import MLXFast
 13 | import MLXLLM
    |        `- warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 14 | import MLXLMCommon
 15 | import MLXNN
[258/261] Compiling MLXLLM Gemma2.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Gemma3Text.swift:13:8: warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 11 | import MLX
 12 | import MLXFast
 13 | import MLXLLM
    |        `- warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 14 | import MLXLMCommon
 15 | import MLXNN
[259/261] Compiling MLXLLM Gemma3Text.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/Models/Gemma3Text.swift:13:8: warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 11 | import MLX
 12 | import MLXFast
 13 | import MLXLLM
    |        `- warning: file 'Gemma3Text.swift' is part of module 'MLXLLM'; ignoring import
 14 | import MLXLMCommon
 15 | import MLXNN
[260/261] Compiling MLXLLM SuScaledRotaryEmbedding.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/SuScaledRotaryEmbedding.swift:42:13: warning: variable 'scaledX' was never mutated; consider changing to 'let' constant
40 |     public func callAsFunction(_ x: MLXArray, offset: Int = 0) -> MLXArray {
41 |         // Apply scaling only to the dimensions that will be rotated
42 |         var scaledX = x
   |             `- warning: variable 'scaledX' was never mutated; consider changing to 'let' constant
43 |         let sliceToScale = scaledX[.ellipsis, 0 ..< dimensions]
44 |         scaledX[.ellipsis, 0 ..< dimensions] = scale * sliceToScale
[261/261] Compiling MLXLLM SwitchLayers.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXLLM/SuScaledRotaryEmbedding.swift:42:13: warning: variable 'scaledX' was never mutated; consider changing to 'let' constant
40 |     public func callAsFunction(_ x: MLXArray, offset: Int = 0) -> MLXArray {
41 |         // Apply scaling only to the dimensions that will be rotated
42 |         var scaledX = x
   |             `- warning: variable 'scaledX' was never mutated; consider changing to 'let' constant
43 |         let sliceToScale = scaledX[.ellipsis, 0 ..< dimensions]
44 |         scaledX[.ellipsis, 0 ..< dimensions] = scale * sliceToScale
Build of target: 'MLXLLM' complete! (7.62s)
Target:                   MLXVLM
Extracting symbol information for 'MLXVLM'...
Finished extracting symbol information for 'MLXVLM'. (3.89s)
Building documentation for 'MLXVLM'...
warning: 'LLMModelFactory' doesn't exist at '/MLXVLM/VLMTypeRegistry'
  --> Libraries/MLXVLM/VLMModelFactory.swift:75:28-75:43
73 | /// Registry of model type, e.g 'llama', to functions that can instantiate the model from configuration.
74 | ///
75 + /// Typically called via ``LLMModelFactory/load(hub:configuration:progressHandler:)``.
76 | public class VLMTypeRegistry: ModelTypeRegistry, @unchecked Sendable {
77 |
Finished building documentation for 'MLXVLM' (0.33s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift-examples/main
Building for debugging...
[0/3] Write swift-version-2F0A5646E1D333AE.txt
Build of product 'snippet-extract' complete! (0.71s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/11] Compiling MLXVLM SmolVLM2.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:313:35: warning: 'try' must precede 'await'
311 |             var video = try input.videos[0].asAVAsset()
312 |
313 |             let processedFrames = await try MediaProcessing.asProcessedSequence(
    |                                   `- warning: 'try' must precede 'await'
314 |                 video,
315 |                 maxFrames: maxVideoFrames,
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:157:13: warning: variable 'targetSize' was never mutated; consider changing to 'let' constant
155 |     func aspectRatioSize(for size: CGSize, longestEdge: CGFloat, multiple: CGFloat? = nil) -> CGSize
156 |     {
157 |         var targetSize = MediaProcessing.bestFit(
    |             `- warning: variable 'targetSize' was never mutated; consider changing to 'let' constant
158 |             size, in: CGSize(width: longestEdge, height: longestEdge))
159 |         guard let multiple = multiple else { return targetSize }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:292:39: warning: trailing closure in this context is confusable with the body of the statement; pass as a parenthesized argument to silence this warning
290 |             // Insert a default system message if the input doesn't have one
291 |             func messagesWithSystem(_ messages: [Message]) -> [Message] {
292 |                 guard messages.filter { $0["role"] as? String == "system" }.isEmpty else {
    |                                       `- warning: trailing closure in this context is confusable with the body of the statement; pass as a parenthesized argument to silence this warning
293 |                     return messages
294 |                 }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:306:17: warning: initialization of immutable value 'finalMessages' was never used; consider replacing with assignment to '_' or removing it
304 |
305 |             // Unfortunately we don't have a "render" option in Tokenizers yet, so decoding
306 |             let finalMessages = messagesWithSystem(messages)
    |                 `- warning: initialization of immutable value 'finalMessages' was never used; consider replacing with assignment to '_' or removing it
307 |             let promptTokens = try tokenizer.applyChatTemplate(
308 |                 messages: messagesWithSystem(messages))
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:311:17: warning: variable 'video' was never mutated; consider changing to 'let' constant
309 |             let decoded = try tokenizer.decode(tokens: promptTokens, skipSpecialTokens: false)
310 |
311 |             var video = try input.videos[0].asAVAsset()
    |                 `- warning: variable 'video' was never mutated; consider changing to 'let' constant
312 |
313 |             let processedFrames = await try MediaProcessing.asProcessedSequence(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:240:27: warning: no calls to throwing functions occur within 'try' expression
238 |             // Unfortunately we don't have a "render" option in Tokenizers yet, so decoding
239 |             let promptTokens = try tokenizer.applyChatTemplate(messages: messages)
240 |             let decoded = try tokenizer.decode(tokens: promptTokens, skipSpecialTokens: false)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
241 |
242 |             let image = try input.images[0].asCIImage().toSRGB()
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:272:37: warning: no calls to throwing functions occur within 'try' expression
270 |             let splitPrompt = decoded.split(by: imageToken, options: .literal)
271 |             let prompt = splitPrompt.joined(separator: imagePromptString)
272 |             let finalPromptTokens = try tokenizer.encode(text: prompt)
    |                                     `- warning: no calls to throwing functions occur within 'try' expression
273 |
274 |             let promptArray = MLXArray(finalPromptTokens).expandedDimensions(axis: 0)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:309:27: warning: no calls to throwing functions occur within 'try' expression
307 |             let promptTokens = try tokenizer.applyChatTemplate(
308 |                 messages: messagesWithSystem(messages))
309 |             let decoded = try tokenizer.decode(tokens: promptTokens, skipSpecialTokens: false)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
310 |
311 |             var video = try input.videos[0].asAVAsset()
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:311:25: warning: no calls to throwing functions occur within 'try' expression
309 |             let decoded = try tokenizer.decode(tokens: promptTokens, skipSpecialTokens: false)
310 |
311 |             var video = try input.videos[0].asAVAsset()
    |                         `- warning: no calls to throwing functions occur within 'try' expression
312 |
313 |             let processedFrames = await try MediaProcessing.asProcessedSequence(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/SmolVLM2.swift:347:37: warning: no calls to throwing functions occur within 'try' expression
345 |             let splitPrompt = decoded.split(by: "User: ", options: .literal)
346 |             let prompt = splitPrompt[0] + "User: " + videoPromptString + splitPrompt[1]
347 |             let finalPromptTokens = try tokenizer.encode(text: prompt)
    |                                     `- warning: no calls to throwing functions occur within 'try' expression
348 |
349 |             let promptArray = MLXArray(finalPromptTokens).expandedDimensions(axis: 0)
[3/11] Compiling MLXVLM VLMModel.swift
[4/12] Compiling MLXVLM QwenVL.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/QwenVL.swift:180:33: warning: no calls to throwing functions occur within 'try' expression
178 |     ) throws -> [Int] {
179 |         // Replace single padding token with correct number for each image or video frame
180 |         let placeholderTokens = try tokenizer.encode(
    |                                 `- warning: no calls to throwing functions occur within 'try' expression
181 |             text: "<|vision_start|>\(paddingToken)<|vision_end|>")
182 |         let placeholderRanges = promptTokens.ranges(of: placeholderTokens)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/QwenVL.swift:190:20: warning: no calls to throwing functions occur within 'try' expression
188 |         let replacementSequences = try frames.map { frame in
189 |             let paddingCount = frame.product / mergeLength
190 |             return try tokenizer.encode(
    |                    `- warning: no calls to throwing functions occur within 'try' expression
191 |                 text:
192 |                     "<|vision_start|>\(Array(repeating: paddingToken, count: paddingCount).joined())<|vision_end|>"
[5/12] Compiling MLXVLM Qwen2VL.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Qwen2VL.swift:465:17: warning: initialization of immutable value 'batchSize' was never used; consider replacing with assignment to '_' or removing it
463 |             let rotaryPositionEmbedding = rotaryPositionEmbedding(frames)
464 |
465 |             let batchSize = frames.count
    |                 `- warning: initialization of immutable value 'batchSize' was never used; consider replacing with assignment to '_' or removing it
466 |
467 |             for block in blocks {
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Qwen2VL.swift:552:31: warning: no calls to throwing functions occur within 'try' expression
550 |         let resizedSize = CGSize(width: resizedWidth, height: resizedHeight)
551 |
552 |         let processedImages = try images.map { image in
    |                               `- warning: no calls to throwing functions occur within 'try' expression
553 |             preprocess(image: image, resizedSize: resizedSize).asMLXArray()
554 |         }
[6/12] Compiling MLXVLM Idefics3.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Idefics3.swift:847:17: warning: initialization of immutable value 'count' was never used; consider replacing with assignment to '_' or removing it
845 |             }
846 |
847 |             let count = config.imageSequenceLength ?? 1
    |                 `- warning: initialization of immutable value 'count' was never used; consider replacing with assignment to '_' or removing it
848 |
849 |             // Encode only the text part of the prompt, without <image>
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Idefics3.swift:837:26: warning: no calls to throwing functions occur within 'try' expression
835 |         if input.images.isEmpty {
836 |             // No image scenario
837 |             let tokens = try tokenizer.encode(text: prompt)
    |                          `- warning: no calls to throwing functions occur within 'try' expression
838 |             let tokensArray = MLXArray(tokens).expandedDimensions(axis: 0)
839 |             let mask = ones(like: tokensArray)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Idefics3.swift:850:32: warning: no calls to throwing functions occur within 'try' expression
848 |
849 |             // Encode only the text part of the prompt, without <image>
850 |             var promptTokens = try tokenizer.encode(text: prompt)
    |                                `- warning: no calls to throwing functions occur within 'try' expression
851 |
852 |             let imageTokenIndex = promptTokens.count / 2
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Idefics3.swift:865:21: warning: no calls to throwing functions occur within 'try' expression
863 |             )
864 |             image = MediaProcessing.apply(image, processing: input.processing)
865 |             image = try MediaProcessing.resampleBicubic(image, to: targetSize)
    |                     `- warning: no calls to throwing functions occur within 'try' expression
866 |             image = MediaProcessing.normalize(
867 |                 image,
[7/12] Compiling MLXVLM Paligemma.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:448:17: warning: no calls to throwing functions occur within 'try' expression
446 |         image = MediaProcessing.apply(image, processing: processing)
447 |
448 |         image = try MediaProcessing.resampleBicubic(image, to: config.size.cgSize)
    |                 `- warning: no calls to throwing functions occur within 'try' expression
449 |         image = MediaProcessing.normalize(
450 |             image, mean: config.imageMeanTuple, std: config.imageStdTuple)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:471:28: warning: no calls to throwing functions occur within 'try' expression
469 |             + "\n"
470 |
471 |         let promptTokens = try tokenizer.encode(text: prompt)
    |                            `- warning: no calls to throwing functions occur within 'try' expression
472 |         let promptArray = MLXArray(promptTokens).expandedDimensions(axis: 0)
473 |         let mask = ones(like: promptArray).asType(.int8)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:560:13: warning: initialization of immutable value 'embedDimension' was never used; consider replacing with assignment to '_' or removing it
558 |         attentionMask: MLXArray
559 |     ) -> (MLXArray, MLXArray) {
560 |         let embedDimension = imageFeatures.dim(2)
    |             `- warning: initialization of immutable value 'embedDimension' was never used; consider replacing with assignment to '_' or removing it
561 |         let (batchSize, sequenceLength) = inputIds.shape2
562 |         var scaledImageFeatures = imageFeatures / pow(Float(config.hiddenSize), 0.5)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:561:14: warning: immutable value 'batchSize' was never used; consider replacing with '_' or removing it
559 |     ) -> (MLXArray, MLXArray) {
560 |         let embedDimension = imageFeatures.dim(2)
561 |         let (batchSize, sequenceLength) = inputIds.shape2
    |              `- warning: immutable value 'batchSize' was never used; consider replacing with '_' or removing it
562 |         var scaledImageFeatures = imageFeatures / pow(Float(config.hiddenSize), 0.5)
563 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:561:25: warning: immutable value 'sequenceLength' was never used; consider replacing with '_' or removing it
559 |     ) -> (MLXArray, MLXArray) {
560 |         let embedDimension = imageFeatures.dim(2)
561 |         let (batchSize, sequenceLength) = inputIds.shape2
    |                         `- warning: immutable value 'sequenceLength' was never used; consider replacing with '_' or removing it
562 |         var scaledImageFeatures = imageFeatures / pow(Float(config.hiddenSize), 0.5)
563 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:569:13: warning: variable 'textMaskExpanded' was never mutated; consider changing to 'let' constant
567 |
568 |         // expand masks to match embedding dimension
569 |         var textMaskExpanded = expandedDimensions(textMask, axis: -1)
    |             `- warning: variable 'textMaskExpanded' was never mutated; consider changing to 'let' constant
570 |         var padMaskExpanded = expandedDimensions(padMask, axis: -1)
571 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:570:13: warning: variable 'padMaskExpanded' was never mutated; consider changing to 'let' constant
568 |         // expand masks to match embedding dimension
569 |         var textMaskExpanded = expandedDimensions(textMask, axis: -1)
570 |         var padMaskExpanded = expandedDimensions(padMask, axis: -1)
    |             `- warning: variable 'padMaskExpanded' was never mutated; consider changing to 'let' constant
571 |
572 |         // insert padding and text token embeddings
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Paligemma.swift:580:13: warning: variable 'imageMaskExpanded' was never mutated; consider changing to 'let' constant
578 |
579 |         // insert image embeddings - the image mask is always less or equal to the sentence in length
580 |         var imageMaskExpanded = expandedDimensions(imageMask, axis: -1)
    |             `- warning: variable 'imageMaskExpanded' was never mutated; consider changing to 'let' constant
581 |         finalEmbedding = which(imageMaskExpanded, scaledImageFeatures, finalEmbedding)
582 |
[8/12] Compiling MLXVLM Qwen25VL.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Qwen25VL.swift:704:24: warning: no calls to throwing functions occur within 'try' expression
 702 |             }
 703 |             .map {
 704 |                 return try MediaProcessing.resampleBicubic($0, to: resizedSize)
     |                        `- warning: no calls to throwing functions occur within 'try' expression
 705 |             }
 706 |             .map {
[9/12] Compiling MLXVLM VLMModelFactory.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:202:14: warning: non-final class 'VLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
200 | ///     configuration: VLMRegistry.paligemma3bMix4488bit)
201 | /// ```
202 | public class VLMModelFactory: ModelFactory {
    |              `- warning: non-final class 'VLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
203 |
204 |     public init(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:84:26: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 82 |     private static func all() -> [String: @Sendable (URL) throws -> any LanguageModel] {
 83 |         [
 84 |             "paligemma": create(PaliGemmaConfiguration.self, PaliGemma.init),
    |                          `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 85 |             "qwen2_vl": create(Qwen2VLConfiguration.self, Qwen2VL.init),
 86 |             "qwen2_5_vl": create(Qwen25VLConfiguration.self, Qwen25VL.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:85:25: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 83 |         [
 84 |             "paligemma": create(PaliGemmaConfiguration.self, PaliGemma.init),
 85 |             "qwen2_vl": create(Qwen2VLConfiguration.self, Qwen2VL.init),
    |                         `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 86 |             "qwen2_5_vl": create(Qwen25VLConfiguration.self, Qwen25VL.init),
 87 |             "idefics3": create(Idefics3Configuration.self, Idefics3.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:86:27: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 84 |             "paligemma": create(PaliGemmaConfiguration.self, PaliGemma.init),
 85 |             "qwen2_vl": create(Qwen2VLConfiguration.self, Qwen2VL.init),
 86 |             "qwen2_5_vl": create(Qwen25VLConfiguration.self, Qwen25VL.init),
    |                           `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 87 |             "idefics3": create(Idefics3Configuration.self, Idefics3.init),
 88 |             "gemma3": create(Gemma3Configuration.self, Gemma3.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:87:25: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 85 |             "qwen2_vl": create(Qwen2VLConfiguration.self, Qwen2VL.init),
 86 |             "qwen2_5_vl": create(Qwen25VLConfiguration.self, Qwen25VL.init),
 87 |             "idefics3": create(Idefics3Configuration.self, Idefics3.init),
    |                         `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 88 |             "gemma3": create(Gemma3Configuration.self, Gemma3.init),
 89 |             "smolvlm": create(SmolVLM2Configuration.self, SmolVLM2.init),
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:88:23: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 86 |             "qwen2_5_vl": create(Qwen25VLConfiguration.self, Qwen25VL.init),
 87 |             "idefics3": create(Idefics3Configuration.self, Idefics3.init),
 88 |             "gemma3": create(Gemma3Configuration.self, Gemma3.init),
    |                       `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 89 |             "smolvlm": create(SmolVLM2Configuration.self, SmolVLM2.init),
 90 |         ]
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:89:24: warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 87 |             "idefics3": create(Idefics3Configuration.self, Idefics3.init),
 88 |             "gemma3": create(Gemma3Configuration.self, Gemma3.init),
 89 |             "smolvlm": create(SmolVLM2Configuration.self, SmolVLM2.init),
    |                        `- warning: converting non-sendable function value to '@Sendable (URL) throws -> any LanguageModel' may introduce data races
 90 |         ]
 91 |     }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:104:35: warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
102 |     {
103 |         [
104 |             "PaliGemmaProcessor": create(
    |                                   `- warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
105 |                 PaliGemmaProcessorConfiguration.self, PaliGemmaProcessor.init),
106 |             "Qwen2VLProcessor": create(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:106:33: warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
104 |             "PaliGemmaProcessor": create(
105 |                 PaliGemmaProcessorConfiguration.self, PaliGemmaProcessor.init),
106 |             "Qwen2VLProcessor": create(
    |                                 `- warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
107 |                 Qwen2VLProcessorConfiguration.self, Qwen2VLProcessor.init),
108 |             "Qwen2_5_VLProcessor": create(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:108:36: warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
106 |             "Qwen2VLProcessor": create(
107 |                 Qwen2VLProcessorConfiguration.self, Qwen2VLProcessor.init),
108 |             "Qwen2_5_VLProcessor": create(
    |                                    `- warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
109 |                 Qwen25VLProcessorConfiguration.self, Qwen25VLProcessor.init),
110 |             "Idefics3Processor": create(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:110:34: warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
108 |             "Qwen2_5_VLProcessor": create(
109 |                 Qwen25VLProcessorConfiguration.self, Qwen25VLProcessor.init),
110 |             "Idefics3Processor": create(
    |                                  `- warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
111 |                 Idefics3ProcessorConfiguration.self, Idefics3Processor.init),
112 |             "Gemma3Processor": create(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:112:32: warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
110 |             "Idefics3Processor": create(
111 |                 Idefics3ProcessorConfiguration.self, Idefics3Processor.init),
112 |             "Gemma3Processor": create(
    |                                `- warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
113 |                 Gemma3ProcessorConfiguration.self, Gemma3Processor.init),
114 |             "SmolVLMProcessor": create(
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:114:33: warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
112 |             "Gemma3Processor": create(
113 |                 Gemma3ProcessorConfiguration.self, Gemma3Processor.init),
114 |             "SmolVLMProcessor": create(
    |                                 `- warning: converting non-sendable function value to '@Sendable (URL, any Tokenizer) throws -> any UserInputProcessor' may introduce data races
115 |                 SmolVLMProcessorConfiguration.self, SmolVLMProcessor.init),
116 |         ]
[10/12] Compiling MLXVLM MediaProcessing.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:19:13: warning: let 'context' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
 17 | }
 18 |
 19 | private let context = CIContext()
    |             `- warning: let 'context' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 | /// Collection of methods for processing media (images, video, etc.).
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h:36:12: note: class 'CIContext' does not conform to the 'Sendable' protocol
 34 |
 35 | NS_CLASS_AVAILABLE(10_4, 5_0)
 36 | @interface CIContext : NSObject
    |            `- note: class 'CIContext' does not conform to the 'Sendable' protocol
 37 | {
 38 |     void *_priv;
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
  2 |
  3 | import AVFoundation
  4 | import CoreImage.CIFilterBuiltins
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
  5 | import MLX
  6 | import MLXLMCommon
    :
 17 | }
 18 |
 19 | private let context = CIContext()
    |             |- note: add '@MainActor' to make let 'context' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 | /// Collection of methods for processing media (images, video, etc.).
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:287:13: warning: initialization of immutable value 'secondsPerSample' was never used; consider replacing with assignment to '_' or removing it
285 |         let durationInSeconds = duration.seconds
286 |         let samplesPerSecond = Double(samplesPerSecond)
287 |         let secondsPerSample = 1.0 / samplesPerSecond
    |             `- warning: initialization of immutable value 'secondsPerSample' was never used; consider replacing with assignment to '_' or removing it
288 |         let totalFramesToSample = durationInSeconds * samplesPerSecond
289 |         let durationTimeValue = duration.value
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:302:46: warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
300 |         for await result in await generator.images(for: sampledTimes) {
301 |             switch result {
302 |             case .success(requestedTime: let requested, let image, actualTime: let actual):
    |                                              `- warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
303 |                 let ciImage = CIImage(
304 |                     cgImage: image, options: [.colorSpace: CGColorSpace(name: CGColorSpace.sRGB)!])
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:302:84: warning: immutable value 'actual' was never used; consider replacing with '_' or removing it
300 |         for await result in await generator.images(for: sampledTimes) {
301 |             switch result {
302 |             case .success(requestedTime: let requested, let image, actualTime: let actual):
    |                                                                                    `- warning: immutable value 'actual' was never used; consider replacing with '_' or removing it
303 |                 let ciImage = CIImage(
304 |                     cgImage: image, options: [.colorSpace: CGColorSpace(name: CGColorSpace.sRGB)!])
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:306:46: warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
304 |                     cgImage: image, options: [.colorSpace: CGColorSpace(name: CGColorSpace.sRGB)!])
305 |                 ciImages.append(ciImage)
306 |             case .failure(requestedTime: let requested, let error):
    |                                              `- warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
307 |                 break
308 |             }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:306:61: warning: immutable value 'error' was never used; consider replacing with '_' or removing it
304 |                     cgImage: image, options: [.colorSpace: CGColorSpace(name: CGColorSpace.sRGB)!])
305 |                 ciImages.append(ciImage)
306 |             case .failure(requestedTime: let requested, let error):
    |                                                             `- warning: immutable value 'error' was never used; consider replacing with '_' or removing it
307 |                 break
308 |             }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:300:29: warning: no 'async' operations occur within 'await' expression
298 |         // Collect the frames
299 |         var ciImages: [CIImage] = []
300 |         for await result in await generator.images(for: sampledTimes) {
    |                             `- warning: no 'async' operations occur within 'await' expression
301 |             switch result {
302 |             case .success(requestedTime: let requested, let image, actualTime: let actual):
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:341:13: warning: variable 'desiredFrames' was never mutated; consider changing to 'let' constant
339 |         // Note: the round was not present in `asCIImageSequence`, so we may now be passing 1 more frame to Qwen depending on video duration.
340 |         let estimatedFrames = Int(round(fps * duration.seconds))
341 |         var desiredFrames = min(estimatedFrames, maxFrames)
    |             `- warning: variable 'desiredFrames' was never mutated; consider changing to 'let' constant
342 |         let finalFrameCount = max(desiredFrames, 1)
343 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:356:13: warning: variable 'frames' was never used; consider replacing with '_' or removing it
354 |         var timestamps: [CMTime] = []
355 |
356 |         var frames: [VideoFrame] = []
    |             `- warning: variable 'frames' was never used; consider replacing with '_' or removing it
357 |
358 |         for await result in await generator.images(for: sampledTimes) {
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:360:46: warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
358 |         for await result in await generator.images(for: sampledTimes) {
359 |             switch result {
360 |             case .success(requestedTime: let requested, let image, actualTime: let actual):
    |                                              `- warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
361 |                 let ciImage = CIImage(
362 |                     cgImage: image, options: [.colorSpace: CGColorSpace(name: CGColorSpace.sRGB)!])
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:366:46: warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
364 |                 ciImages.append(frame.frame)
365 |                 timestamps.append(frame.timeStamp)
366 |             case .failure(requestedTime: let requested, let error):
    |                                              `- warning: immutable value 'requested' was never used; consider replacing with '_' or removing it
367 |                 break
368 |             }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:366:61: warning: immutable value 'error' was never used; consider replacing with '_' or removing it
364 |                 ciImages.append(frame.frame)
365 |                 timestamps.append(frame.timeStamp)
366 |             case .failure(requestedTime: let requested, let error):
    |                                                             `- warning: immutable value 'error' was never used; consider replacing with '_' or removing it
367 |                 break
368 |             }
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:358:29: warning: no 'async' operations occur within 'await' expression
356 |         var frames: [VideoFrame] = []
357 |
358 |         for await result in await generator.images(for: sampledTimes) {
    |                             `- warning: no 'async' operations occur within 'await' expression
359 |             switch result {
360 |             case .success(requestedTime: let requested, let image, actualTime: let actual):
[11/12] Emitting module MLXVLM
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:19:13: warning: let 'context' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
 17 | }
 18 |
 19 | private let context = CIContext()
    |             `- warning: let 'context' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |
 21 | /// Collection of methods for processing media (images, video, etc.).
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreImage.framework/Headers/CIContext.h:36:12: note: class 'CIContext' does not conform to the 'Sendable' protocol
 34 |
 35 | NS_CLASS_AVAILABLE(10_4, 5_0)
 36 | @interface CIContext : NSObject
    |            `- note: class 'CIContext' does not conform to the 'Sendable' protocol
 37 | {
 38 |     void *_priv;
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/MediaProcessing.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
  2 |
  3 | import AVFoundation
  4 | import CoreImage.CIFilterBuiltins
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
  5 | import MLX
  6 | import MLXLMCommon
    :
 17 | }
 18 |
 19 | private let context = CIContext()
    |             |- note: add '@MainActor' to make let 'context' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 | /// Collection of methods for processing media (images, video, etc.).
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/VLMModelFactory.swift:202:14: warning: non-final class 'VLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
200 | ///     configuration: VLMRegistry.paligemma3bMix4488bit)
201 | /// ```
202 | public class VLMModelFactory: ModelFactory {
    |              `- warning: non-final class 'VLMModelFactory' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
203 |
204 |     public init(
[12/12] Compiling MLXVLM Gemma3.swift
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:973:13: warning: initialization of immutable value 'batchSize' was never used; consider replacing with assignment to '_' or removing it
 971 |     ) -> (MLXArray, MLXArray?) {
 972 |         let embedDim = inputsEmbeds.dim(2)
 973 |         let batchSize = inputIds.dim(0)
     |             `- warning: initialization of immutable value 'batchSize' was never used; consider replacing with assignment to '_' or removing it
 974 |         let sequenceLength = inputIds.dim(1)
 975 |
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:974:13: warning: initialization of immutable value 'sequenceLength' was never used; consider replacing with assignment to '_' or removing it
 972 |         let embedDim = inputsEmbeds.dim(2)
 973 |         let batchSize = inputIds.dim(0)
 974 |         let sequenceLength = inputIds.dim(1)
     |             `- warning: initialization of immutable value 'sequenceLength' was never used; consider replacing with assignment to '_' or removing it
 975 |
 976 |         // Scale image features to match text embedding magnitude
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:986:13: warning: initialization of immutable value 'textMask' was never used; consider replacing with assignment to '_' or removing it
 984 |
 985 |         // Create masks for different token types
 986 |         let textMask = MLX.logicalAnd(
     |             `- warning: initialization of immutable value 'textMask' was never used; consider replacing with assignment to '_' or removing it
 987 |             MLX.notEqual(inputIds, MLXArray(imageTokenId)),
 988 |             MLX.notEqual(inputIds, MLXArray(padTokenId))
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:1026:56: warning: conditional cast from 'any KVCache' to 'any KVCache' always succeeds
1024 |         guard let imagePixels = input.image?.pixels else {
1025 |             // Text-only input
1026 |             let convertedCache = cache.compactMap { $0 as? KVCache }
     |                                                        `- warning: conditional cast from 'any KVCache' to 'any KVCache' always succeeds
1027 |             let result = languageModel(
1028 |                 input.text.tokens, cache: convertedCache, inputEmbedding: nil, mask: nil)
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:1038:52: warning: conditional cast from 'any KVCache' to 'any KVCache' always succeeds
1036 |         )
1037 |
1038 |         let convertedCache = cache.compactMap { $0 as? KVCache }
     |                                                    `- warning: conditional cast from 'any KVCache' to 'any KVCache' always succeeds
1039 |         // Use causal masking for text generation
1040 |         let maskMode: MLXFast.ScaledDotProductAttentionMaskMode = .causal
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:1057:13: warning: initialization of immutable value 'lmHeadKeys' was never used; consider replacing with assignment to '_' or removing it
1055 |
1056 |     public func sanitize(weights: [String: MLXArray]) -> [String: MLXArray] {
1057 |         let lmHeadKeys = weights.keys.filter { $0.contains("lm_head") }
     |             `- warning: initialization of immutable value 'lmHeadKeys' was never used; consider replacing with assignment to '_' or removing it
1058 |
1059 |         // Also check attention layer structures
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:1060:13: warning: initialization of immutable value 'attnKeys' was never used; consider replacing with assignment to '_' or removing it
1058 |
1059 |         // Also check attention layer structures
1060 |         let attnKeys = weights.keys.filter {
     |             `- warning: initialization of immutable value 'attnKeys' was never used; consider replacing with assignment to '_' or removing it
1061 |             $0.contains("self_attn")
1062 |                 && ($0.contains("q_proj") || $0.contains("k_proj") || $0.contains("v_proj")
/Users/admin/builder/spi-builder-workspace/Libraries/MLXVLM/Models/Gemma3.swift:1099:32: warning: no calls to throwing functions occur within 'try' expression
1097 |             let processedImage = MediaProcessing.apply(image, processing: userProcessing)
1098 |             let srgbImage = MediaProcessing.inSRGBToneCurveSpace(processedImage)
1099 |             let resizedImage = try MediaProcessing.resampleBicubic(srgbImage, to: targetSize)
     |                                `- warning: no calls to throwing functions occur within 'try' expression
1100 |             let normalizedImage = MediaProcessing.normalize(
1101 |                 resizedImage, mean: config.imageMeanTuple, std: config.imageStdTuple)
Build of target: 'MLXVLM' complete! (1.91s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/linkable-paths.json
Target:                   MLXLMCommon
Extracting symbol information for 'MLXLMCommon'...
Finished extracting symbol information for 'MLXLMCommon'. (0.94s)
Building documentation for 'MLXLMCommon'...
warning: 'LoRAConvertToLinear' doesn't exist at '/MLXLMCommon/LoRALinear'
  --> ../Adapters/LoRA/LoRA+Layers.swift:14:74-14:93
12 | ///
13 | /// - converting `Linear` or `QuantizedLinear` layers to ``LoRALinear`` / ``QLoRALinear``
14 + /// - converting ``LoRALinear`` back to `Linear` or `QuantizedLinear` (``LoRAConvertToLinear``)
15 | /// - implementing the LoRA evaluation
16 | ///
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear'
  --> ../Adapters/LoRA/LoRA+Layers.swift:19:46-19:55
17 | /// ``QLoRALinear`` is the equivalent class for `QuantizedLinear`.
18 | ///
19 + /// This is not typically used directly -- ``LoRATrain/convert(model:layers:)`` is used to
20 | /// add the adapter layers to a given model.
21 | ///
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear'
  --> ../Adapters/LoRA/LoRA+Layers.swift:26:9-26:18
24 | /// - [QLoRA: Efficient Finetuning of Quantized LLMs](https://arxiv.org/abs/2305.14314)
25 | /// - ``QLoRALinear``
26 + /// - ``LoRATrain/convert(model:layers:)``
27 | /// - ``LoRATrain/fuse(model:layers:deQuantize:)``
28 | public class LoRALinear: Linear, LoRALayer {
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear'
  --> ../Adapters/LoRA/LoRA+Layers.swift:27:9-27:18
25 | /// - ``QLoRALinear``
26 | /// - ``LoRATrain/convert(model:layers:)``
27 + /// - ``LoRATrain/fuse(model:layers:deQuantize:)``
28 | public class LoRALinear: Linear, LoRALayer {
29 |
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear/from(linear:rank:scale:)'
  --> ../Adapters/LoRA/LoRA+Layers.swift:69:40-69:49
67 |     /// that implements the `LoRA` adapter.
68 |     ///
69 +     /// This is typically called via ``LoRATrain/convert(model:layers:)``.
70 |     ///
71 |     /// ### See Also
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear/from(linear:rank:scale:)'
  --> ../Adapters/LoRA/LoRA+Layers.swift:72:13-72:22
70 |     ///
71 |     /// ### See Also
72 +     /// - ``LoRATrain/convert(model:layers:)``
73 |     /// - ``QLoRALinear/from(linear:rank:)``
74 |     public static func from(linear: Linear, rank: Int = 8, scale: Float = 20.0) -> LoRALayer {
warning: 'from(linear:rank:)' doesn't exist at '/MLXLMCommon/QLoRALinear'
  --> ../Adapters/LoRA/LoRA+Layers.swift:73:25-73:43
71 |     /// ### See Also
72 |     /// - ``LoRATrain/convert(model:layers:)``
73 +     /// - ``QLoRALinear/from(linear:rank:)``
   |                         ╰─suggestion: Replace 'from(linear:rank:)' with 'from(linear:rank:scale:)'
74 |     public static func from(linear: Linear, rank: Int = 8, scale: Float = 20.0) -> LoRALayer {
75 |         if let linear = linear as? QuantizedLinear {
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear/fused()'
  --> ../Adapters/LoRA/LoRA+Layers.swift:85:40-85:49
83 |     /// Convert back into a fused `Linear` layer.
84 |     ///
85 +     /// This is typically called via ``LoRATrain/fuse(model:layers:deQuantize:)``.
86 |     ///
87 |     /// ### See Also
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRALinear/fused()'
  --> ../Adapters/LoRA/LoRA+Layers.swift:88:13-88:22
86 |     ///
87 |     /// ### See Also
88 +     /// - ``LoRATrain/fuse(model:layers:deQuantize:)``
89 |     /// - ``LoRAConvertToLinear``
90 |     /// - ``QLoRALinear/toLinear(deQuantize:)``
warning: 'LoRAConvertToLinear' doesn't exist at '/MLXLMCommon/LoRALinear/fused()'
  --> ../Adapters/LoRA/LoRA+Layers.swift:89:13-89:32
87 |     /// ### See Also
88 |     /// - ``LoRATrain/fuse(model:layers:deQuantize:)``
89 +     /// - ``LoRAConvertToLinear``
90 |     /// - ``QLoRALinear/toLinear(deQuantize:)``
91 |     public func fused() -> Module {
warning: 'toLinear(deQuantize:)' doesn't exist at '/MLXLMCommon/QLoRALinear'
  --> ../Adapters/LoRA/LoRA+Layers.swift:90:25-90:46
88 |     /// - ``LoRATrain/fuse(model:layers:deQuantize:)``
89 |     /// - ``LoRAConvertToLinear``
90 +     /// - ``QLoRALinear/toLinear(deQuantize:)``
91 |     public func fused() -> Module {
92 |         let dtype = weight.dtype
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/QLoRALinear/from(linear:rank:scale:)'
   --> ../Adapters/LoRA/LoRA+Layers.swift:153:40-153:49
151 |     /// that implements the `LoRA` adapter.
152 |     ///
153 +     /// This is typically called via ``LoRATrain/convert(model:layers:)``.
154 |     ///
155 |     /// ### See Also
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/QLoRALinear/from(linear:rank:scale:)'
   --> ../Adapters/LoRA/LoRA+Layers.swift:156:13-156:22
154 |     ///
155 |     /// ### See Also
156 +     /// - ``LoRATrain/convert(model:layers:)``
157 |     /// - ``LoRALinear/from(linear:rank:)``
158 |     public static func from(linear: QuantizedLinear, rank: Int = 8, scale: Float = 20.0)
warning: 'from(linear:rank:)' doesn't exist at '/MLXLMCommon/LoRALinear'
   --> ../Adapters/LoRA/LoRA+Layers.swift:157:24-157:42
155 |     /// ### See Also
156 |     /// - ``LoRATrain/convert(model:layers:)``
157 +     /// - ``LoRALinear/from(linear:rank:)``
    |                        ╰─suggestion: Replace 'from(linear:rank:)' with 'from(linear:rank:scale:)'
158 |     public static func from(linear: QuantizedLinear, rank: Int = 8, scale: Float = 20.0)
159 |         -> LoRALayer
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/QLoRALinear/fused()'
   --> ../Adapters/LoRA/LoRA+Layers.swift:168:40-168:49
166 |     /// Convert back into a fused `QuantizedLinear` layer.
167 |     ///
168 +     /// This is typically called via ``LoRATrain/fuse(model:layers:deQuantize:)``.
169 |     ///
170 |     /// ### See Also
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/QLoRALinear/fused()'
   --> ../Adapters/LoRA/LoRA+Layers.swift:171:13-171:22
169 |     ///
170 |     /// ### See Also
171 +     /// - ``LoRATrain/fuse(model:layers:deQuantize:)``
172 |     public func fused() -> Module {
173 |         let weight = dequantizedWeight
warning: 'LoRATrain' doesn't exist at '/MLXLMCommon/LoRAModel/loraLinearLayers()'
  --> ../Adapters/LoRA/LoRAModel.swift:31:13-31:22
29 |     ///
30 |     /// ### See Also
31 +     /// - ``LoRATrain/convert(model:layers:)``
32 |     func loraLinearLayers() -> LoRALinearLayers
33 |
warning: 'Chat.Message' doesn't exist at '/MLXLMCommon/MessageGenerator'
  --> ../Chat.swift:59:7-59:19
57 |
58 | /// Protocol for something that can convert structured
59 + /// ``Chat.Message`` into model specific ``Message``
60 | /// (raw dictionary) format.
61 | ///
warning: 'Codable' doesn't exist at '/MLXLMCommon/porting'
  --> porting.md:65:36-65:43
63 | like `rms_norm_eps` and structure like `num_hidden_layers`.
64 |
65 + This translates naturally into a ``Codable`` struct in Swift with a few details:
66 |
67 | - the keys in the JSON file will be `snake_case` -- the simplest way to accomodate that is to specify `CodingKeys` to name them explicitly
warning: 'loadWeights(modelDirectory:model:quantization:)' doesn't exist at '/MLXLMCommon/porting'
   --> porting.md:188:4-188:51
186 | parameters to the initializer. In typical inference use these values
187 | will be replaced when the weights are loaded
188 + (``loadWeights(modelDirectory:model:quantization:)``).
189 |
190 | * Note:
warning: 'generate(input:parameters:context:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:248:44-248:91
246 | /// Generator of tokens.
247 | ///
248 + /// This is typically used via a call to ``generate(input:parameters:context:didGenerate:)``.
    |                                                                                           ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: (Int) -> GenerateDisposition) throws -> GenerateCompletionInfo'
    |                                                                                           ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: ([Int]) -> GenerateDisposition) throws -> GenerateResult'
249 | ///
250 | /// To use it directly:
warning: 'init(input:model:cache:processor:sampler:prefillStepSize:)' doesn't exist at '/MLXLMCommon/TokenIterator/init(input:model:cache:parameters:)'
   --> ../Evaluate.swift:317:11-317:69
315 |     ///
316 |     /// If more control is needed over the generation,
317 +     /// ``init(input:model:cache:processor:sampler:prefillStepSize:)``
318 |     /// allows a caller to specify ``LogitProcessor`` and ``LogitSampler``
319 |     /// directly.
warning: 'generate(input:parameters:context:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:445:27-445:74
443 | }
444 |
445 + /// Result of a call to ``generate(input:parameters:context:didGenerate:)``.
    |                                                                          ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: (Int) -> GenerateDisposition) throws -> GenerateCompletionInfo'
    |                                                                          ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: ([Int]) -> GenerateDisposition) throws -> GenerateResult'
446 | public struct GenerateResult: Sendable {
447 |
warning: 'generate(input:parameters:context:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:511:45-511:92
509 | }
510 |
511 + /// Action from token visitor callback in ``generate(input:parameters:context:didGenerate:)``.
    |                                                                                            ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: (Int) -> GenerateDisposition) throws -> GenerateCompletionInfo'
    |                                                                                            ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: ([Int]) -> GenerateDisposition) throws -> GenerateResult'
512 | public enum GenerateDisposition: Sendable {
513 |     /// keep producing tokens until an EOS token is produced
warning: 'generate(input:parameters:context:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:522:7-522:54
520 | /// Given prompt tokens generate text using the given model and parameters.
521 | ///
522 + /// ``generate(input:parameters:context:didGenerate:)`` is the preferred call.
    |                                                      ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: (Int) -> GenerateDisposition) throws -> GenerateCompletionInfo'
    |                                                      ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: ([Int]) -> GenerateDisposition) throws -> GenerateResult'
523 | ///
524 | /// - Parameters:
warning: 'generate(input:context:iterator:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:572:7-572:52
570 | ///
571 | /// Internally this constructs a ``TokenIterator`` and calls
572 + /// ``generate(input:context:iterator:didGenerate:)``
    |                                                    ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, context: ModelContext, iterator: TokenIterator, didGenerate: (Int) -> GenerateDisposition) -> GenerateCompletionInfo'
    |                                                    ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, context: ModelContext, iterator: TokenIterator, didGenerate: ([Int]) -> GenerateDisposition) -> GenerateResult'
573 | ///
574 | /// - Parameters:
warning: 'generate(input:parameters:context:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:592:7-592:54
590 | /// Low level token generation using a ``TokenIterator``.
591 | ///
592 + /// ``generate(input:parameters:context:didGenerate:)`` is the preferred call.
    |                                                      ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: (Int) -> GenerateDisposition) throws -> GenerateCompletionInfo'
    |                                                      ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: ([Int]) -> GenerateDisposition) throws -> GenerateResult'
593 | ///
594 | /// - Parameters:
warning: 'generate(input:context:iterator:didGenerate:)' is ambiguous at '/MLXLMCommon'
   --> ../Evaluate.swift:669:7-669:52
667 | ///
668 | /// Internally this constructs a ``TokenIterator`` and calls
669 + /// ``generate(input:context:iterator:didGenerate:)``
    |                                                    ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, context: ModelContext, iterator: TokenIterator, didGenerate: (Int) -> GenerateDisposition) -> GenerateCompletionInfo'
    |                                                    ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, context: ModelContext, iterator: TokenIterator, didGenerate: ([Int]) -> GenerateDisposition) -> GenerateResult'
670 | ///
671 | /// - Parameters:
warning: 'MultiHeadAttention' doesn't exist at '/MLXLMCommon/createAttentionMask(h:cache:)'
   --> ../KVCache.swift:156:16-156:34
154 | /// Create an attention mask using the parameters from the KVCache.
155 | ///
156 + /// See also ``MultiHeadAttention/createAdditiveCausalMask(_:dtype:)`` -- same idea
157 | /// but doesn't honor the cache offset.
158 | @_disfavoredOverload
warning: 'generate(input:parameters:context:didGenerate:)' is ambiguous at '/MLXLMCommon'
  --> ../ModelFactory.swift:57:52-57:99
55 | ///
56 | /// - ``ModelConfiguration`` -- identifier for the model
57 + /// - ``LanguageModel`` -- the model itself, see ``generate(input:parameters:context:didGenerate:)``
   |                                                                                                   ├─suggestion: Insert '->GenerateCompletionInfo' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: (Int) -> GenerateDisposition) throws -> GenerateCompletionInfo'
   |                                                                                                   ╰─suggestion: Insert '->GenerateResult' for 'func generate(input: LMInput, parameters: GenerateParameters, context: ModelContext, didGenerate: ([Int]) -> GenerateDisposition) throws -> GenerateResult'
58 | /// - ``UserInputProcessor`` -- can convert ``UserInput`` into ``LMInput``
59 | /// - `Tokenizer` -- the tokenizer used by ``UserInputProcessor``
warning: 'loadModel(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactory'
  --> ../ModelFactory.swift:83:9-83:43
81 | ///
82 | /// ## See Also
83 + /// - ``loadModel(hub:id:progressHandler:)``
   |         ├─suggestion: Replace 'loadModel(hub:id:progressHandler:)' with 'load(hub:configuration:progressHandler:)'
   |         ╰─suggestion: Replace 'loadModel(hub:id:progressHandler:)' with 'loadContainer(hub:configuration:progressHandler:)'
84 | /// - ``loadModel(hub:directory:progressHandler:)``
85 | /// - ``loadModelContainer(hub:id:progressHandler:)``
warning: 'loadModelContainer(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactory'
  --> ../ModelFactory.swift:85:9-85:52
83 | /// - ``loadModel(hub:id:progressHandler:)``
84 | /// - ``loadModel(hub:directory:progressHandler:)``
85 + /// - ``loadModelContainer(hub:id:progressHandler:)``
   |         ├─suggestion: Replace 'loadModelContainer(hub:id:progressHandler:)' with 'loadContainer(hub:configuration:progressHandler:)'
   |         ╰─suggestion: Replace 'loadModelContainer(hub:id:progressHandler:)' with 'load(hub:configuration:progressHandler:)'
86 | /// - ``loadModelContainer(hub:directory:progressHandler:)``
87 | public protocol ModelFactory: Sendable {
warning: 'loadModel(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactory/load(hub:configuration:progressHandler:)'
   --> ../ModelFactory.swift:138:13-138:47
136 |     ///
137 |     /// ## See Also
138 +     /// - ``loadModel(hub:id:progressHandler:)``
139 |     /// - ``loadModelContainer(hub:id:progressHandler:)``
140 |     public func load(
warning: 'loadModelContainer(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactory/load(hub:configuration:progressHandler:)'
   --> ../ModelFactory.swift:139:13-139:56
137 |     /// ## See Also
138 |     /// - ``loadModel(hub:id:progressHandler:)``
139 +     /// - ``loadModelContainer(hub:id:progressHandler:)``
140 |     public func load(
141 |         hub: HubApi = defaultHubApi, configuration: ModelConfiguration,
warning: Parameter 'revision' is missing documentation
   --> ../ModelFactory.swift:216:56-216:56
214 | ///   - hub: optional HubApi -- by default uses ``defaultHubApi``
215 | ///   - id: huggingface model identifier, e.g "mlx-community/Qwen3-4B-4bit"
216 + ///   - progressHandler: optional callback for progress
    |       ╰─suggestion: Document 'revision' parameter
217 | /// - Returns: a ``ModelContext``
218 | public func loadModel(
warning: Parameter 'revision' is missing documentation
   --> ../ModelFactory.swift:237:56-237:56
235 | ///   - hub: optional HubApi -- by default uses ``defaultHubApi``
236 | ///   - id: huggingface model identifier, e.g "mlx-community/Qwen3-4B-4bit"
237 + ///   - progressHandler: optional callback for progress
    |       ╰─suggestion: Document 'revision' parameter
238 | /// - Returns: a ``ModelContainer``
239 | public func loadModelContainer(
warning: 'loadModel(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactoryRegistry'
   --> ../ModelFactory.swift:342:19-342:53
340 | /// Registry of ``ModelFactory`` trampolines.
341 | ///
342 + /// This allows ``loadModel(hub:id:progressHandler:)`` to use any ``ModelFactory`` instances
343 | /// available but be defined in the `LLMCommon` layer.  This is not typically used directly -- it is
344 | /// called via ``loadModel(hub:id:progressHandler:)``:
warning: 'loadModel(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactoryRegistry'
   --> ../ModelFactory.swift:344:18-344:52
342 | /// This allows ``loadModel(hub:id:progressHandler:)`` to use any ``ModelFactory`` instances
343 | /// available but be defined in the `LLMCommon` layer.  This is not typically used directly -- it is
344 + /// called via ``loadModel(hub:id:progressHandler:)``:
345 | ///
346 | /// ```swift
warning: 'loadModel(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactoryRegistry'
   --> ../ModelFactory.swift:351:9-351:43
349 | ///
350 | /// ## See Also
351 + /// - ``loadModel(hub:id:progressHandler:)``
352 | /// - ``loadModel(hub:directory:progressHandler:)``
353 | /// - ``loadModelContainer(hub:id:progressHandler:)``
warning: 'loadModelContainer(hub:id:progressHandler:)' doesn't exist at '/MLXLMCommon/ModelFactoryRegistry'
   --> ../ModelFactory.swift:353:9-353:52
351 | /// - ``loadModel(hub:id:progressHandler:)``
352 | /// - ``loadModel(hub:directory:progressHandler:)``
353 + /// - ``loadModelContainer(hub:id:progressHandler:)``
354 | /// - ``loadModelContainer(hub:directory:progressHandler:)``
355 | final public class ModelFactoryRegistry: @unchecked Sendable {
warning: 'modelRegistry' doesn't exist at '/MLXLMCommon/AbstractModelRegistry/configuration(id:)'
  --> ../Registries/AbstractModelRegistry.swift:28:38-28:51
26 |     }
27 |
28 +     /// Returns configuration from ``modelRegistry``.
29 |     ///
30 |     /// - Note: If the id doesn't exists in the configuration, this will return a new instance of it.
warning: 'init(chat:tools:additionalContext:)' doesn't exist at '/MLXLMCommon/UserInput/init(prompt:images:videos:tools:additionalContext:)'
   --> ../UserInput.swift:178:13-178:48
176 |     /// ### See Also
177 |     /// - ``Prompt-swift.enum/text(_:)``
178 +     /// - ``init(chat:tools:additionalContext:)``
179 |     public init(
180 |         prompt: String, images: [Image] = [Image](), videos: [Video] = [Video](),
warning: 'init(chat:tools:additionalContext:)' doesn't exist at '/MLXLMCommon/UserInput/init(messages:images:videos:tools:additionalContext:)'
   --> ../UserInput.swift:212:25-212:60
210 |     /// ```
211 |     ///
212 +     /// Typically the ``init(chat:tools:additionalContext:)`` should be used instead
213 |     /// along with a model specific ``MessageGenerator`` (supplied by the ``UserInputProcessor``).
214 |     ///
warning: 'init(chat:tools:additionalContext:)' doesn't exist at '/MLXLMCommon/UserInput/init(messages:images:videos:tools:additionalContext:)'
   --> ../UserInput.swift:223:13-223:48
221 |     /// ### See Also
222 |     /// - ``Prompt-swift.enum/text(_:)``
223 +     /// - ``init(chat:tools:additionalContext:)``
224 |     public init(
225 |         messages: [Message], images: [Image] = [Image](), videos: [Video] = [Video](),
warning: 'init(chat:tools:additionalContext:)' doesn't exist at '/MLXLMCommon/UserInput/init(chat:processing:tools:additionalContext:)'
   --> ../UserInput.swift:258:13-258:48
256 |     /// ### See Also
257 |     /// - ``Prompt-swift.enum/text(_:)``
258 +     /// - ``init(chat:tools:additionalContext:)``
259 |     public init(
260 |         chat: [Chat.Message],
warning: 'init(chat:tools:additionalContext:)' doesn't exist at '/MLXLMCommon/UserInput/init(prompt:images:videos:processing:tools:additionalContext:)'
   --> ../UserInput.swift:282:11-282:46
280 |     /// Initialize the `UserInput` with a preconfigured ``Prompt-swift.enum``.
281 |     ///
282 +     /// ``init(chat:tools:additionalContext:)`` is the preferred mechanism.
283 |     ///
284 |     /// - Parameters:
warning: 'init(chat:tools:additionalContext:)' doesn't exist at '/MLXLMCommon/UserInput/init(prompt:images:videos:processing:tools:additionalContext:)'
   --> ../UserInput.swift:293:13-293:48
291 |     /// ### See Also
292 |     /// - ``Prompt-swift.enum/text(_:)``
293 +     /// - ``init(chat:tools:additionalContext:)``
294 |     public init(
295 |         prompt: Prompt,
Finished building documentation for 'MLXLMCommon' (0.41s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift-examples/main
Building for debugging...
[0/3] Write swift-version-2F0A5646E1D333AE.txt
Build of product 'snippet-extract' complete! (0.72s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
Build of target: 'MLXLMCommon' complete! (0.76s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/linkable-paths.json
Target:                   MLXMNIST
Extracting symbol information for 'MLXMNIST'...
Finished extracting symbol information for 'MLXMNIST'. (1.62s)
Building documentation for 'MLXMNIST'...
Finished building documentation for 'MLXMNIST' (0.05s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift-examples/main
Building for debugging...
[0/3] Write swift-version-2F0A5646E1D333AE.txt
Build of product 'snippet-extract' complete! (0.71s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/3] Compiling Gzip Data+Gzip.swift
[3/3] Emitting module Gzip
[4/7] Compiling MLXMNIST Random.swift
[5/7] Compiling MLXMNIST MNIST.swift
[6/7] Emitting module MLXMNIST
[7/7] Compiling MLXMNIST Files.swift
Build of target: 'MLXMNIST' complete! (1.49s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/linkable-paths.json
Target:                   MLXEmbedders
Extracting symbol information for 'MLXEmbedders'...
Finished extracting symbol information for 'MLXEmbedders'. (1.55s)
Building documentation for 'MLXEmbedders'...
warning: 'LanguageModel' doesn't exist at '/MLXEmbedders/BaseConfiguration'
 --> Libraries/Embedders/BaseConfiguration.swift:5:12-5:25
3 | import Foundation
4 |
5 + /// Base ``LanguageModel`` configuration -- provides `modelType`
6 | /// and `quantization` (used in loading the model).
7 | ///
warning: 'ModelFactory' doesn't exist at '/MLXEmbedders/BaseConfiguration'
  --> Libraries/Embedders/BaseConfiguration.swift:8:23-8:35
6  | /// and `quantization` (used in loading the model).
7  | ///
8  + /// This is used by ``ModelFactory/load(hub:configuration:progressHandler:)``
9  | /// to determine the type of model to load.
10 | public struct BaseConfiguration: Codable, Sendable {
Finished building documentation for 'MLXEmbedders' (0.11s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift-examples/main
Building for debugging...
[0/3] Write swift-version-2F0A5646E1D333AE.txt
Build of product 'snippet-extract' complete! (0.71s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/11] Compiling MLXEmbedders Models.swift
[3/11] Compiling MLXEmbedders Tokenizer.swift
[4/11] Compiling MLXEmbedders EmbeddingModel.swift
[5/11] Compiling MLXEmbedders Pooling.swift
[6/11] Compiling MLXEmbedders Load.swift
/Users/admin/builder/spi-builder-workspace/Libraries/Embedders/Load.swift:94:38: warning: 'quantization' is deprecated: Please use perLayerQuantization instead
 92 |     }
 93 |
 94 |     if let quantization = baseConfig.quantization {
    |                                      `- warning: 'quantization' is deprecated: Please use perLayerQuantization instead
 95 |         quantize(model: model, groupSize: quantization.groupSize, bits: quantization.bits) {
 96 |             path, module in
[7/11] Compiling MLXEmbedders Bert.swift
[8/11] Compiling MLXEmbedders BaseConfiguration.swift
[9/11] Compiling MLXEmbedders Configuration.swift
[10/11] Emitting module MLXEmbedders
[11/11] Compiling MLXEmbedders NomicBert.swift
/Users/admin/builder/spi-builder-workspace/Libraries/Embedders/NomicBert.swift:315:14: warning: immutable value 'index' was never used; consider replacing with '_' or removing it
313 |     func callAsFunction(_ inputs: MLXArray, attentionMask: MLXArray? = nil) -> MLXArray {
314 |         var outputs = inputs
315 |         for (index, layer) in layers.enumerated() {
    |              `- warning: immutable value 'index' was never used; consider replacing with '_' or removing it
316 |             outputs = layer(outputs, mask: attentionMask)
317 |         }
Build of target: 'MLXEmbedders' complete! (1.42s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/linkable-paths.json
Target:                   StableDiffusion
Extracting symbol information for 'StableDiffusion'...
Finished extracting symbol information for 'StableDiffusion'. (1.48s)
Building documentation for 'StableDiffusion'...
warning: 'setConservativeMemory(_:)' doesn't exist at '/StableDiffusion/ModelContainer/performTwoStage(first:second:)'
   --> Libraries/StableDiffusion/StableDiffusion.swift:180:14-180:39
178 |     /// Perform a two stage action where the first stage returns values passed to the second stage.
179 |     ///
180 +     /// If ``setConservativeMemory(_:)`` is `true` this will discard the model in between
181 |     /// the `first` and `second` blocks. The container will have to be recreated if a caller
182 |     /// wants to use it again.
Finished building documentation for 'StableDiffusion' (0.11s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift-examples/main
Building for debugging...
[0/3] Write swift-version-2F0A5646E1D333AE.txt
Build of product 'snippet-extract' complete! (0.70s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/11] Compiling StableDiffusion VAE.swift
[3/11] Compiling StableDiffusion Tokenizer.swift
[4/11] Compiling StableDiffusion StableDiffusion.swift
[5/11] Compiling StableDiffusion Sampler.swift
[6/11] Compiling StableDiffusion Image.swift
/Users/admin/builder/spi-builder-workspace/Libraries/StableDiffusion/Image.swift:135:20: warning: immutable value 'C' was never used; consider replacing with '_' or removing it
133 |
134 |         let arrayData = raster.asData()
135 |         let (H, W, C) = raster.shape3
    |                    `- warning: immutable value 'C' was never used; consider replacing with '_' or removing it
136 |         let cs = CGColorSpace(name: CGColorSpace.sRGB)!
137 |
[7/11] Compiling StableDiffusion Load.swift
[8/11] Compiling StableDiffusion Clip.swift
[9/11] Compiling StableDiffusion UNet.swift
/Users/admin/builder/spi-builder-workspace/Libraries/StableDiffusion/UNet.swift:134:13: warning: initialization of immutable value 'dtype' was never used; consider replacing with assignment to '_' or removing it
132 |     ) -> MLXArray {
133 |         let inputX = x
134 |         let dtype = x.dtype
    |             `- warning: initialization of immutable value 'dtype' was never used; consider replacing with assignment to '_' or removing it
135 |         var x = x
136 |
/Users/admin/builder/spi-builder-workspace/Libraries/StableDiffusion/UNet.swift:196:13: warning: initialization of immutable value 'dtype' was never used; consider replacing with assignment to '_' or removing it
194 |
195 |     func callAsFunction(_ x: MLXArray, timeEmbedding: MLXArray? = nil) -> MLXArray {
196 |         let dtype = x.dtype
    |             `- warning: initialization of immutable value 'dtype' was never used; consider replacing with assignment to '_' or removing it
197 |
198 |         var y = norm1(x)
/Users/admin/builder/spi-builder-workspace/Libraries/StableDiffusion/UNet.swift:503:13: warning: initialization of immutable value 'dtype' was never used; consider replacing with assignment to '_' or removing it
501 |
502 |         // postprocess the output
503 |         let dtype = x.dtype
    |             `- warning: initialization of immutable value 'dtype' was never used; consider replacing with assignment to '_' or removing it
504 |         x = convNormOut(x)
505 |         x = silu(x)
[10/11] Emitting module StableDiffusion
[11/11] Compiling StableDiffusion Configuration.swift
Build of target: 'StableDiffusion' complete! (1.34s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift-examples/main/linkable-paths.json
    4158
23	/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift-examples/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/ml-explore/mlx-swift-examples/main
File count: 4158
Doc size:   23.0MB
Preparing doc bundle ...
Uploading prod-ml-explore-mlx-swift-examples-main-43154c2e.zip to s3://spi-docs-inbox/prod-ml-explore-mlx-swift-examples-main-43154c2e.zip
Copying... [10%]
Copying... [21%]
Copying... [31%]
Copying... [41%]
Copying... [50%]
Copying... [61%]
Copying... [71%]
Copying... [81%]
Copying... [90%]
Copying... [100%]
Done.