The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftAISDK, reference main (4a643d), with Swift 6.3 for macOS (SPM) on 26 Apr 2026 21:20:00 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[939/944] Compiling SwiftAISDK ToolResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[940/944] Compiling SwiftAISDK ToolSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[941/944] Compiling SwiftAISDK GenerateVideo.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1991:41: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1989 |         attributes["ai.usage.totalTokens"] = .value(.int(totalTokens))
1990 |     }
1991 |     if let reasoningTokens = totalUsage.reasoningTokens {
     |                                         `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamText.swift:1994:43: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1992 |         attributes["ai.usage.reasoningTokens"] = .value(.int(reasoningTokens))
1993 |     }
1994 |     if let cachedInputTokens = totalUsage.cachedInputTokens {
     |                                           `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
1995 |         attributes["ai.usage.cachedInputTokens"] = .value(.int(cachedInputTokens))
1996 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:229:16: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
227 |         if let outputTokens { parts.append("output=\(outputTokens)") }
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
    |                `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextLogging.swift:230:16: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
228 |         if let totalTokens { parts.append("total=\(totalTokens)") }
229 |         if let reasoningTokens { parts.append("reasoning=\(reasoningTokens)") }
230 |         if let cachedInputTokens { parts.append("cached=\(cachedInputTokens)") }
    |                `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
231 |         return parts.isEmpty ? "" : parts.joined(separator: " ")
232 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:150:17: warning: variable 'payload' was never mutated; consider changing to 'let' constant
148 |
149 |         case let .file(file):
150 |             var payload: [String: Any] = [
    |                 `- warning: variable 'payload' was never mutated; consider changing to 'let' constant
151 |                 "type": "file",
152 |                 "base64": file.base64,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:292:34: warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
290 |         if let output = usage.outputTokens { dict["outputTokens"] = output }
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
    |                                  `- warning: 'reasoningTokens' is deprecated: Use outputTokenDetails.reasoningTokens instead. [#DeprecatedDeclaration]
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
294 |         return dict
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAISDK/GenerateText/StreamTextSSE.swift:293:31: warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
291 |         if let total = usage.totalTokens { dict["totalTokens"] = total }
292 |         if let reasoning = usage.reasoningTokens { dict["reasoningTokens"] = reasoning }
293 |         if let cached = usage.cachedInputTokens { dict["cachedInputTokens"] = cached }
    |                               `- warning: 'cachedInputTokens' is deprecated: Use inputTokenDetails.cacheReadTokens instead. [#DeprecatedDeclaration]
294 |         return dict
295 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[942/954] Compiling SwiftAISDKPlayground PlaygroundLogger.swift
[943/955] Compiling SwiftAISDKPlayground ProviderFactory.swift
[944/955] Compiling SwiftAISDKPlayground PlaygroundVersion.swift
[945/955] Compiling SwiftAISDKPlayground OpenAILanguageModel.swift
[946/955] Compiling SwiftAISDKPlayground PlaygroundCLI.swift
[947/955] Compiling SwiftAISDKPlayground Main.swift
[948/955] Compiling SwiftAISDKPlayground PlaygroundConfiguration.swift
[949/955] Compiling SwiftAISDKPlayground GatewayLanguageModel.swift
[950/955] Compiling SwiftAISDKPlayground EnvironmentLoader.swift
[951/955] Emitting module SwiftAISDKPlayground
[952/955] Compiling SwiftAISDKPlayground ChatCommand.swift
[952/955] Write Objects.LinkFileList
[953/955] Linking playground
[954/955] Applying playground
Build complete! (41.55s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "SwiftAISDK",
  "name" : "SwiftAISDK",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "AISDKProvider",
      "targets" : [
        "AISDKProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AISDKProviderUtils",
      "targets" : [
        "AISDKProviderUtils"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftAISDK",
      "targets" : [
        "SwiftAISDK"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OpenAIProvider",
      "targets" : [
        "OpenAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OpenAICompatibleProvider",
      "targets" : [
        "OpenAICompatibleProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MoonshotAIProvider",
      "targets" : [
        "MoonshotAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OpenResponsesProvider",
      "targets" : [
        "OpenResponsesProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ByteDanceProvider",
      "targets" : [
        "ByteDanceProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AlibabaProvider",
      "targets" : [
        "AlibabaProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KlingAIProvider",
      "targets" : [
        "KlingAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AnthropicProvider",
      "targets" : [
        "AnthropicProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AmazonBedrockProvider",
      "targets" : [
        "AmazonBedrockProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GatewayProvider",
      "targets" : [
        "GatewayProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GoogleProvider",
      "targets" : [
        "GoogleProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GoogleVertexProvider",
      "targets" : [
        "GoogleVertexProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AzureProvider",
      "targets" : [
        "AzureProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GroqProvider",
      "targets" : [
        "GroqProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MistralProvider",
      "targets" : [
        "MistralProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PerplexityProvider",
      "targets" : [
        "PerplexityProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CohereProvider",
      "targets" : [
        "CohereProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DeepgramProvider",
      "targets" : [
        "DeepgramProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DeepInfraProvider",
      "targets" : [
        "DeepInfraProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ElevenLabsProvider",
      "targets" : [
        "ElevenLabsProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "FalProvider",
      "targets" : [
        "FalProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "FireworksProvider",
      "targets" : [
        "FireworksProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GladiaProvider",
      "targets" : [
        "GladiaProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HuggingFaceProvider",
      "targets" : [
        "HuggingFaceProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HumeProvider",
      "targets" : [
        "HumeProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AssemblyAIProvider",
      "targets" : [
        "AssemblyAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CerebrasProvider",
      "targets" : [
        "CerebrasProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DeepSeekProvider",
      "targets" : [
        "DeepSeekProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "BasetenProvider",
      "targets" : [
        "BasetenProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "BlackForestLabsProvider",
      "targets" : [
        "BlackForestLabsProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ReplicateProvider",
      "targets" : [
        "ReplicateProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "XAIProvider",
      "targets" : [
        "XAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LMNTProvider",
      "targets" : [
        "LMNTProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LumaProvider",
      "targets" : [
        "LumaProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TogetherAIProvider",
      "targets" : [
        "TogetherAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ProdiaProvider",
      "targets" : [
        "ProdiaProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RevAIProvider",
      "targets" : [
        "RevAIProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "VercelProvider",
      "targets" : [
        "VercelProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AISDKJSONSchema",
      "targets" : [
        "AISDKJSONSchema"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "EventSourceParser",
      "targets" : [
        "EventSourceParser"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "AISDKZodAdapter",
      "targets" : [
        "AISDKZodAdapter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "playground",
      "targets" : [
        "SwiftAISDKPlayground"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XAIProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "XAIProviderTests",
      "path" : "Tests/XAIProviderTests",
      "sources" : [
        "ConvertToXAIChatMessagesTests.swift",
        "ConvertToXAIResponsesInputTests.swift",
        "ConvertXAIResponsesUsageTests.swift",
        "XAIChatLanguageModelTests.swift",
        "XAIImageModelTests.swift",
        "XAIProviderTests.swift",
        "XAIResponsesLanguageModelTests.swift",
        "XAIResponsesPrepareToolsTests.swift",
        "XAIVideoModelTests.swift"
      ],
      "target_dependencies" : [
        "XAIProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "XAIProvider",
      "path" : "Sources/XAIProvider",
      "product_memberships" : [
        "XAIProvider",
        "playground"
      ],
      "sources" : [
        "ConvertToXAIChatMessages.swift",
        "MapXAIFinishReason.swift",
        "Responses/ConvertToXAIResponsesInput.swift",
        "Responses/ConvertXAIResponsesUsage.swift",
        "Responses/MapXAIResponsesFinishReason.swift",
        "Responses/XAIResponsesAPI.swift",
        "Responses/XAIResponsesLanguageModel.swift",
        "Responses/XAIResponsesOptions.swift",
        "Responses/XAIResponsesPrepareTools.swift",
        "Tool/XAICodeExecutionTool.swift",
        "Tool/XAIFileSearchTool.swift",
        "Tool/XAIMCPServerTool.swift",
        "Tool/XAIViewImageTool.swift",
        "Tool/XAIViewXVideoTool.swift",
        "Tool/XAIWebSearchTool.swift",
        "Tool/XAIXSearchTool.swift",
        "XAIChatLanguageModel.swift",
        "XAIChatPrompt.swift",
        "XAIError.swift",
        "XAIImageModel.swift",
        "XAIImageOptions.swift",
        "XAIModelIds.swift",
        "XAIPrepareTools.swift",
        "XAIProvider.swift",
        "XAIProviderOptions.swift",
        "XAIResponseMetadata.swift",
        "XAITools.swift",
        "XAIVersion.swift",
        "XAIVideoModel.swift",
        "XAIVideoOptions.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "VercelProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "VercelProviderTests",
      "path" : "Tests/VercelProviderTests",
      "sources" : [
        "VercelProviderTests.swift"
      ],
      "target_dependencies" : [
        "VercelProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "VercelProvider",
      "module_type" : "SwiftTarget",
      "name" : "VercelProvider",
      "path" : "Sources/VercelProvider",
      "product_memberships" : [
        "VercelProvider",
        "playground"
      ],
      "sources" : [
        "VercelModelIds.swift",
        "VercelProvider.swift",
        "VercelVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TogetherAIProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "TogetherAIProviderTests",
      "path" : "Tests/TogetherAIProviderTests",
      "sources" : [
        "TogetherAIImageModelTests.swift",
        "TogetherAIProviderTests.swift",
        "TogetherAIRerankingModelTests.swift"
      ],
      "target_dependencies" : [
        "TogetherAIProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TogetherAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "TogetherAIProvider",
      "path" : "Sources/TogetherAIProvider",
      "product_memberships" : [
        "TogetherAIProvider",
        "playground"
      ],
      "sources" : [
        "Image/TogetherAIImageModel.swift",
        "Reranking/TogetherAIRerankingAPI.swift",
        "Reranking/TogetherAIRerankingModel.swift",
        "Reranking/TogetherAIRerankingOptions.swift",
        "TogetherAIModelIds.swift",
        "TogetherAIProvider.swift",
        "TogetherAIVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftAISDKTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAISDKTests",
      "path" : "Tests/SwiftAISDKTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftAISDKTests/OpenAI/Fixtures",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Agent/AgentTests.swift",
        "Embed/EmbedManyTests.swift",
        "Embed/EmbedTests.swift",
        "Error/VerifyNoObjectGeneratedError.swift",
        "GenerateImage/GenerateImageTests.swift",
        "GenerateObject/GenerateObjectTests.swift",
        "GenerateObject/InjectJSONInstructionTests.swift",
        "GenerateObject/StreamObjectTests.swift",
        "GenerateSpeech/GenerateSpeechTests.swift",
        "GenerateText/CollectToolApprovalsTests.swift",
        "GenerateText/ExecuteToolCallProviderMetadataTests.swift",
        "GenerateText/GenerateTextAdvancedTests.swift",
        "GenerateText/GenerateTextDeferredToolResultsTests.swift",
        "GenerateText/GenerateTextProgrammaticToolCallingTests.swift",
        "GenerateText/GenerateTextResultTests.swift",
        "GenerateText/GenerateTextTests.swift",
        "GenerateText/GenerateTextTimeoutTests.swift",
        "GenerateText/OutputTests.swift",
        "GenerateText/ParseToolCallTests.swift",
        "GenerateText/PrepareStepProviderOptionsTests.swift",
        "GenerateText/RequestObjectDXTests.swift",
        "GenerateText/RunToolsTransformationTests.swift",
        "GenerateText/SmoothStreamTests.swift",
        "GenerateText/StreamTextApprovalIntegrationTests.swift",
        "GenerateText/StreamTextApprovalResolverTests.swift",
        "GenerateText/StreamTextConcurrencyTests.swift",
        "GenerateText/StreamTextDeferredToolResultsTests.swift",
        "GenerateText/StreamTextErrorAndReplayTests.swift",
        "GenerateText/StreamTextEventsTests.swift",
        "GenerateText/StreamTextLoggingTests.swift",
        "GenerateText/StreamTextPrepareStepParityTests.swift",
        "GenerateText/StreamTextProgrammaticToolCallingTests.swift",
        "GenerateText/StreamTextRetentionTests.swift",
        "GenerateText/StreamTextSSEIntegrationTests.swift",
        "GenerateText/StreamTextSSEToolApprovalEncodingTests.swift",
        "GenerateText/StreamTextSSEToolCallEncodingTests.swift",
        "GenerateText/StreamTextSSEToolErrorEncodingTests.swift",
        "GenerateText/StreamTextSSEToolInputEncodingTests.swift",
        "GenerateText/StreamTextTests.swift",
        "GenerateText/StreamTextTimeoutTests.swift",
        "GenerateText/StreamTextToolErrorProviderMetadataTests.swift",
        "GenerateText/ToResponseMessagesTests.swift",
        "GenerateText/ToolTitlePropagationTests.swift",
        "GenerateVideo/GenerateVideoTests.swift",
        "LanguageModelV3FinishReason+TestConvenience.swift",
        "Middleware/AddToolInputExamplesMiddlewareTests.swift",
        "Middleware/DefaultSettingsMiddlewareTests.swift",
        "Middleware/WrapLanguageModelTests.swift",
        "Model/ProviderRegistryTests.swift",
        "Model/ResolveModelTests.swift",
        "OpenAI/OpenAIChatLanguageModelTests.swift",
        "OpenAI/OpenAIChatMessagesConverterTests.swift",
        "OpenAI/OpenAIChatOptionsValidationTests.swift",
        "OpenAI/OpenAIChatPrepareToolsTests.swift",
        "OpenAI/OpenAIChatStreamingTests.swift",
        "OpenAI/OpenAIChatToolResultCrashRegressionTests.swift",
        "OpenAI/OpenAICodeInterpreterInputContractRegressionTests.swift",
        "OpenAI/OpenAICodeInterpreterOutputSchemaTests.swift",
        "OpenAI/OpenAICompletionLanguageModelTests.swift",
        "OpenAI/OpenAICustomToolTests.swift",
        "OpenAI/OpenAIEmbeddingModelTests.swift",
        "OpenAI/OpenAIErrorTests.swift",
        "OpenAI/OpenAIImageModelTests.swift",
        "OpenAI/OpenAIImageOptionsTests.swift",
        "OpenAI/OpenAILanguageModelCapabilitiesTests.swift",
        "OpenAI/OpenAIProviderOptionsParsingTests.swift",
        "OpenAI/OpenAIProviderTests.swift",
        "OpenAI/OpenAIResponsesFixtureTests.swift",
        "OpenAI/OpenAIResponsesInputBuilderTests.swift",
        "OpenAI/OpenAIResponsesLanguageModelTests.swift",
        "OpenAI/OpenAIResponsesPrepareToolsTests.swift",
        "OpenAI/OpenAISpeechModelTests.swift",
        "OpenAI/OpenAITranscriptionModelTests.swift",
        "OpenAI/OpenAIWebSearchToolOutputSchemaTests.swift",
        "Prompt/ConvertToLanguageModelPromptTests.swift",
        "Prompt/CreateToolModelOutputTests.swift",
        "Prompt/PrepareCallSettingsTests.swift",
        "Prompt/PrepareToolsAndToolChoiceTests.swift",
        "Prompt/ResponseMessageConversionsTests.swift",
        "Prompt/StandardizePromptTests.swift",
        "Prompt/WrapGatewayErrorTests.swift",
        "Rerank/RerankTests.swift",
        "Streams/AsyncIterableStreamTests.swift",
        "Streams/CreateTextStreamResponseTests.swift",
        "Streams/PipeTextStreamToResponseTests.swift",
        "Streams/SimulateReadableStreamTests.swift",
        "SwiftAISDKTests.swift",
        "Telemetry/SelectTelemetryAttributesTests.swift",
        "Telemetry/StringifyForTelemetryTests.swift",
        "Test/MockLanguageModelTests.swift",
        "TestSupport/AsyncStreamUtilities.swift",
        "TestSupport/LogWarningsTestLock.swift",
        "TestSupport/MockStreamTextResponseWriter.swift",
        "TestSupport/MockTracer.swift",
        "TestSupport/TestEmbeddingModel.swift",
        "TestSupport/TestEnvironment.swift",
        "Tool/MCP/HttpMCPTransportTests.swift",
        "Tool/MCP/JSONRPCMessageTests.swift",
        "Tool/MCP/MCPClientTests.swift",
        "Tool/MCP/MCPTransportTests.swift",
        "Tool/MCP/MCPTypesTests.swift",
        "Tool/MCP/MockMCPTransportTests.swift",
        "Tool/MCP/OAuthAuthorizationTests.swift",
        "Tool/MCP/OAuthDiscoveryTests.swift",
        "Tool/MCP/OAuthUtilTests.swift",
        "Tool/MCP/SseMCPTransportTests.swift",
        "Tool/MCP/TestURLProtocol.swift",
        "Tool/TypedToolTests.swift",
        "Transcribe/TranscribeTests.swift",
        "UI/ConvertFileListToFileUIPartsTests.swift",
        "UI/ConvertToModelMessagesTests.swift",
        "UI/ProcessTextStreamTests.swift",
        "UI/ProcessUIMessageStreamTests.swift",
        "UI/TransformFullToUIMessageStreamTests.swift",
        "UI/TransformTextToUIMessageStreamTests.swift",
        "UI/UIMessageHelpersTests.swift",
        "UI/ValidateUIMessagesTests.swift",
        "UIMessageStream/CreateUIMessageStreamResponseTests.swift",
        "UIMessageStream/CreateUIMessageStreamTests.swift",
        "UIMessageStream/GetResponseUIMessageIDTests.swift",
        "UIMessageStream/HandleUIMessageStreamFinishTests.swift",
        "UIMessageStream/JsonToSSETransformStreamTests.swift",
        "UIMessageStream/PipeUIMessageStreamToResponseTests.swift",
        "UIMessageStream/ReadUIMessageStreamTests.swift",
        "UIMessageStream/UIMessageStreamOptionsDefaultsTests.swift",
        "UIMessageStream/Writer/UIMessageChunkTests.swift",
        "Util/AsArrayTests.swift",
        "Util/ConsumeStreamTests.swift",
        "Util/CosineSimilarityTests.swift",
        "Util/CreateResolvablePromiseTests.swift",
        "Util/DetectMediaTypeTests.swift",
        "Util/Download/DownloadTests.swift",
        "Util/FixJsonTests.swift",
        "Util/IsDeepEqualDataTests.swift",
        "Util/IsNonEmptyObjectTests.swift",
        "Util/MergeObjectsTests.swift",
        "Util/ParsePartialJsonTests.swift",
        "Util/PrepareHeadersTests.swift",
        "Util/PrepareRetriesTests.swift",
        "Util/SerialJobExecutorTests.swift",
        "Util/SplitArrayTests.swift"
      ],
      "target_dependencies" : [
        "SwiftAISDK",
        "OpenAIProvider",
        "OpenAICompatibleProvider",
        "CohereProvider",
        "AmazonBedrockProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftAISDKPlayground",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAISDKPlayground",
      "path" : "Sources/SwiftAISDKPlayground",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "playground"
      ],
      "sources" : [
        "Commands/ChatCommand.swift",
        "Environment/EnvironmentLoader.swift",
        "Environment/PlaygroundConfiguration.swift",
        "Main.swift",
        "PlaygroundCLI.swift",
        "Providers/Gateway/GatewayLanguageModel.swift",
        "Providers/OpenAI/OpenAILanguageModel.swift",
        "Providers/ProviderFactory.swift",
        "Utils/PlaygroundLogger.swift",
        "Utils/PlaygroundVersion.swift"
      ],
      "target_dependencies" : [
        "SwiftAISDK",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAIProvider",
        "OpenResponsesProvider",
        "GoogleProvider",
        "GoogleVertexProvider",
        "AzureProvider",
        "GroqProvider",
        "MistralProvider",
        "PerplexityProvider",
        "CohereProvider",
        "DeepgramProvider",
        "DeepInfraProvider",
        "MoonshotAIProvider",
        "ByteDanceProvider",
        "AlibabaProvider",
        "KlingAIProvider",
        "ElevenLabsProvider",
        "FalProvider",
        "FireworksProvider",
        "GladiaProvider",
        "HuggingFaceProvider",
        "HumeProvider",
        "AssemblyAIProvider",
        "CerebrasProvider",
        "DeepSeekProvider",
        "BlackForestLabsProvider",
        "ReplicateProvider",
        "LMNTProvider",
        "LumaProvider",
        "TogetherAIProvider",
        "XAIProvider",
        "ProdiaProvider",
        "RevAIProvider",
        "VercelProvider"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SwiftAISDK",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAISDK",
      "path" : "Sources/SwiftAISDK",
      "product_memberships" : [
        "SwiftAISDK",
        "playground"
      ],
      "sources" : [
        "Agent/Agent.swift",
        "Agent/AgentInference.swift",
        "Agent/AgentSettings.swift",
        "Embed/Embed.swift",
        "Embed/EmbedMany.swift",
        "Embed/EmbedManyResult.swift",
        "Embed/EmbedResult.swift",
        "Embed/EmbedShared.swift",
        "Error/InvalidArgumentError.swift",
        "Error/InvalidStreamPartError.swift",
        "Error/InvalidToolInputError.swift",
        "Error/MCPClientError.swift",
        "Error/MCPClientOAuthError.swift",
        "Error/MessageConversionError.swift",
        "Error/NoImageGeneratedError.swift",
        "Error/NoObjectGeneratedError.swift",
        "Error/NoOutputGeneratedError.swift",
        "Error/NoOutputSpecifiedError.swift",
        "Error/NoSpeechGeneratedError.swift",
        "Error/NoSuchToolError.swift",
        "Error/NoTranscriptGeneratedError.swift",
        "Error/NoVideoGeneratedError.swift",
        "Error/ToolCallRepairError.swift",
        "Error/UIMessageStreamError.swift",
        "Error/UnsupportedModelVersionError.swift",
        "GenerateImage/Exports.swift",
        "GenerateImage/GenerateImage.swift",
        "GenerateImage/GenerateImagePrompt.swift",
        "GenerateImage/GenerateImageResult.swift",
        "GenerateObject/GenerateObject.swift",
        "GenerateObject/GenerateObjectInternalOptions.swift",
        "GenerateObject/GenerateObjectOutputKind.swift",
        "GenerateObject/GenerateObjectOutputSpec.swift",
        "GenerateObject/GenerateObjectResult+Encodable.swift",
        "GenerateObject/GenerateObjectResult.swift",
        "GenerateObject/GenerateObjectShared.swift",
        "GenerateObject/GenerateObjectTelemetry.swift",
        "GenerateObject/InjectJSONInstruction.swift",
        "GenerateObject/OutputStrategy.swift",
        "GenerateObject/ParseAndValidate.swift",
        "GenerateObject/RepairText.swift",
        "GenerateObject/StreamObject.swift",
        "GenerateObject/StreamObjectResult.swift",
        "GenerateObject/ValidateObjectGenerationInput.swift",
        "GenerateSpeech/GenerateSpeech.swift",
        "GenerateSpeech/GenerateSpeechResult.swift",
        "GenerateSpeech/GeneratedAudioFile.swift",
        "GenerateSpeech/Index.swift",
        "GenerateText/ApprovalAction.swift",
        "GenerateText/CollectToolApprovals.swift",
        "GenerateText/ExecuteToolCall.swift",
        "GenerateText/ExecuteTools.swift",
        "GenerateText/ExtractReasoningContent.swift",
        "GenerateText/ExtractTextContent.swift",
        "GenerateText/GenerateText.swift",
        "GenerateText/GenerateTextContent.swift",
        "GenerateText/GenerateTextRequest.swift",
        "GenerateText/GenerateTextResult+Encodable.swift",
        "GenerateText/GenerateTextResult.swift",
        "GenerateText/GeneratedFile.swift",
        "GenerateText/IsApprovalNeeded.swift",
        "GenerateText/Output.swift",
        "GenerateText/ParseToolCall.swift",
        "GenerateText/PrepareStep.swift",
        "GenerateText/Reasoning.swift",
        "GenerateText/ReasoningOutput.swift",
        "GenerateText/ResponseMessage.swift",
        "GenerateText/RunToolsTransformation.swift",
        "GenerateText/SingleRequestTextStreamPart.swift",
        "GenerateText/SmoothStream.swift",
        "GenerateText/StepResult.swift",
        "GenerateText/StopCondition.swift",
        "GenerateText/StreamText.swift",
        "GenerateText/StreamTextActor.swift",
        "GenerateText/StreamTextEventRecorder.swift",
        "GenerateText/StreamTextEvents.swift",
        "GenerateText/StreamTextLogging.swift",
        "GenerateText/StreamTextRequest.swift",
        "GenerateText/StreamTextResult.swift",
        "GenerateText/StreamTextSSE.swift",
        "GenerateText/TextStreamPart.swift",
        "GenerateText/ToResponseMessages.swift",
        "GenerateText/ToolApprovalRequestOutput.swift",
        "GenerateText/ToolCall.swift",
        "GenerateText/ToolCallRepairFunction.swift",
        "GenerateText/ToolError.swift",
        "GenerateText/ToolOutput.swift",
        "GenerateText/ToolOutputDenied.swift",
        "GenerateText/ToolOutputHelpers.swift",
        "GenerateText/ToolResult.swift",
        "GenerateText/ToolSet.swift",
        "GenerateVideo/GenerateVideo.swift",
        "GenerateVideo/GenerateVideoExports.swift",
        "GenerateVideo/GenerateVideoResult.swift",
        "JSON/JSONValue+Serialization.swift",
        "LanguageModelConvenience.swift",
        "Logger/LogWarnings.swift",
        "Middleware/AddToolInputExamplesMiddleware.swift",
        "Middleware/DefaultSettingsMiddleware.swift",
        "Middleware/ExtractReasoningMiddleware.swift",
        "Middleware/SimulateStreamingMiddleware.swift",
        "Middleware/WrapLanguageModel.swift",
        "Model/ResolveModel.swift",
        "ModuleExports.swift",
        "Prompt/CallSettings.swift",
        "Prompt/ConvertToLanguageModelPrompt.swift",
        "Prompt/CreateToolModelOutput.swift",
        "Prompt/DataContentUtilities.swift",
        "Prompt/InvalidDataContentError.swift",
        "Prompt/InvalidMessageRoleError.swift",
        "Prompt/ModelMessageConvenience.swift",
        "Prompt/PrepareCallSettings.swift",
        "Prompt/PrepareToolsAndToolChoice.swift",
        "Prompt/Prompt.swift",
        "Prompt/ResponseMessageConversions.swift",
        "Prompt/StandardizePrompt.swift",
        "Prompt/WrapGatewayError.swift",
        "Registry/CustomProvider.swift",
        "Registry/NoSuchProviderError.swift",
        "Registry/ProviderRegistry.swift",
        "Rerank/Rerank.swift",
        "Rerank/RerankResult.swift",
        "Streams/AsyncIterableStream.swift",
        "Streams/AsyncStreamBroadcaster.swift",
        "Streams/CreateTextStreamResponse.swift",
        "Streams/PipeTextStreamToResponse.swift",
        "Streams/SimulateReadableStream.swift",
        "Streams/StitchableStream.swift",
        "Streams/TextStream.swift",
        "SwiftAISDK.swift",
        "Telemetry/AssembleOperationName.swift",
        "Telemetry/GetBaseTelemetryAttributes.swift",
        "Telemetry/GetTracer.swift",
        "Telemetry/NoopTracer.swift",
        "Telemetry/OpenTelemetry/AttributeValue.swift",
        "Telemetry/OpenTelemetry/Span.swift",
        "Telemetry/OpenTelemetry/Tracer.swift",
        "Telemetry/RecordSpan.swift",
        "Telemetry/SelectTelemetryAttributes.swift",
        "Telemetry/StringifyForTelemetry.swift",
        "Telemetry/TelemetrySettings.swift",
        "Test/MockImageModelV3.swift",
        "Test/MockLanguageModelV2.swift",
        "Test/MockLanguageModelV3.swift",
        "Test/MockValues.swift",
        "Test/MockVideoModelV3.swift",
        "Test/NotImplemented.swift",
        "Tool/MCP/HttpMCPTransport.swift",
        "Tool/MCP/JSONRPCMessage.swift",
        "Tool/MCP/MCPClient.swift",
        "Tool/MCP/MCPTransport.swift",
        "Tool/MCP/MCPTypes.swift",
        "Tool/MCP/MockMCPTransport.swift",
        "Tool/MCP/OAuth.swift",
        "Tool/MCP/OAuthTypes.swift",
        "Tool/MCP/OAuthUtil.swift",
        "Tool/MCP/SseMCPTransport.swift",
        "Tool/TypedTool.swift",
        "Transcribe/Transcribe.swift",
        "Transcribe/TranscribeResult.swift",
        "Types/EmbeddingModel.swift",
        "Types/ImageModel.swift",
        "Types/ImageModelResponseMetadata.swift",
        "Types/LanguageModel.swift",
        "Types/LanguageModelRequestMetadata.swift",
        "Types/LanguageModelResponseMetadata.swift",
        "Types/ProviderMetadata.swift",
        "Types/RerankingModel.swift",
        "Types/SpeechModel.swift",
        "Types/SpeechModelResponseMetadata.swift",
        "Types/TranscriptionModel.swift",
        "Types/TranscriptionModelResponseMetadata.swift",
        "Types/Usage.swift",
        "Types/VideoModel.swift",
        "Types/VideoModelResponseMetadata.swift",
        "UI/Processing/ConvertFileListToFileUIParts.swift",
        "UI/Processing/ConvertToModelMessages.swift",
        "UI/Processing/ProcessTextStream.swift",
        "UI/Processing/ProcessUIMessageStream.swift",
        "UI/Transforms/TransformFullToUIMessageStream.swift",
        "UI/Transforms/TransformTextToUIMessageStream.swift",
        "UI/Types/UIMessage.swift",
        "UI/Validation/ValidateUIMessages.swift",
        "UIMessageStream/CreateUIMessageStream.swift",
        "UIMessageStream/CreateUIMessageStreamResponse.swift",
        "UIMessageStream/GetResponseUIMessageID.swift",
        "UIMessageStream/HandleUIMessageStreamFinish.swift",
        "UIMessageStream/JsonToSSETransformStream.swift",
        "UIMessageStream/ReadUIMessageStream.swift",
        "UIMessageStream/TeeAsyncThrowingStream.swift",
        "UIMessageStream/UIMessageChunkEncoding.swift",
        "UIMessageStream/UIMessageStreamOnFinishCallback.swift",
        "UIMessageStream/UIMessageStreamOnStepFinishCallback.swift",
        "UIMessageStream/Writer/UIMessageChunks.swift",
        "UIMessageStream/Writer/UIMessageStreamHeaders.swift",
        "UIMessageStream/Writer/UIMessageStreamWriter.swift",
        "Util/AsArray.swift",
        "Util/ConsumeStream.swift",
        "Util/CosineSimilarity.swift",
        "Util/CreateResolvablePromise.swift",
        "Util/DelayedPromise.swift",
        "Util/DetectMediaType.swift",
        "Util/Download/Download.swift",
        "Util/Download/DownloadError.swift",
        "Util/Download/DownloadFunction.swift",
        "Util/ErrorHandler.swift",
        "Util/FixJson.swift",
        "Util/GetPotentialStartIndex.swift",
        "Util/IsDeepEqualData.swift",
        "Util/IsNonEmptyObject.swift",
        "Util/Job.swift",
        "Util/MergeAbortSignals.swift",
        "Util/MergeObjects.swift",
        "Util/MergeProviderOptions.swift",
        "Util/Now.swift",
        "Util/ParsePartialJson.swift",
        "Util/PrepareHeaders.swift",
        "Util/PrepareRetries.swift",
        "Util/RetryError.swift",
        "Util/RetryFunction.swift",
        "Util/RetryWithExponentialBackoff.swift",
        "Util/SerialJobExecutor.swift",
        "Util/SplitArray.swift",
        "Util/TimeoutAbortSignalController.swift",
        "Version.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "AISDKJSONSchema",
        "EventSourceParser",
        "GatewayProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RevAIProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "RevAIProviderTests",
      "path" : "Tests/RevAIProviderTests",
      "sources" : [
        "RevAIErrorTests.swift",
        "RevAIProviderAuthTests.swift",
        "RevAITranscriptionModelTests.swift"
      ],
      "target_dependencies" : [
        "RevAIProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RevAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "RevAIProvider",
      "path" : "Sources/RevAIProvider",
      "product_memberships" : [
        "RevAIProvider",
        "playground"
      ],
      "sources" : [
        "RevAIConfig.swift",
        "RevAIError.swift",
        "RevAIModelIds.swift",
        "RevAIProvider.swift",
        "RevAITranscriptionModel.swift",
        "RevAIVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ReplicateProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "ReplicateProviderTests",
      "path" : "Tests/ReplicateProviderTests",
      "sources" : [
        "ReplicateImageModelTests.swift",
        "ReplicateProviderTests.swift",
        "ReplicateVideoModelTests.swift"
      ],
      "target_dependencies" : [
        "ReplicateProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ReplicateProvider",
      "module_type" : "SwiftTarget",
      "name" : "ReplicateProvider",
      "path" : "Sources/ReplicateProvider",
      "product_memberships" : [
        "ReplicateProvider",
        "playground"
      ],
      "sources" : [
        "ReplicateError.swift",
        "ReplicateImageModel.swift",
        "ReplicateImageModelId.swift",
        "ReplicateProvider.swift",
        "ReplicateVersion.swift",
        "ReplicateVideoModel.swift",
        "ReplicateVideoModelId.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ProdiaProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "ProdiaProviderTests",
      "path" : "Tests/ProdiaProviderTests",
      "sources" : [
        "ProdiaImageModelTests.swift",
        "ProdiaProviderTests.swift"
      ],
      "target_dependencies" : [
        "ProdiaProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ProdiaProvider",
      "module_type" : "SwiftTarget",
      "name" : "ProdiaProvider",
      "path" : "Sources/ProdiaProvider",
      "product_memberships" : [
        "ProdiaProvider",
        "playground"
      ],
      "sources" : [
        "ProdiaImageModel.swift",
        "ProdiaImageSettings.swift",
        "ProdiaProvider.swift",
        "ProdiaVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PerplexityProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "PerplexityProviderTests",
      "path" : "Tests/PerplexityProviderTests",
      "sources" : [
        "PerplexityLanguageModelTests.swift",
        "PerplexityProviderTests.swift"
      ],
      "target_dependencies" : [
        "PerplexityProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PerplexityProvider",
      "module_type" : "SwiftTarget",
      "name" : "PerplexityProvider",
      "path" : "Sources/PerplexityProvider",
      "product_memberships" : [
        "PerplexityProvider",
        "playground"
      ],
      "sources" : [
        "ConvertToPerplexityMessages.swift",
        "MapPerplexityFinishReason.swift",
        "PerplexityError.swift",
        "PerplexityLanguageModel.swift",
        "PerplexityModelIds.swift",
        "PerplexityPrompt.swift",
        "PerplexityProvider.swift",
        "PerplexityVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OpenResponsesProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "OpenResponsesProviderTests",
      "path" : "Tests/OpenResponsesProviderTests",
      "sources" : [
        "ConvertToOpenResponsesInputTests.swift",
        "MapOpenResponsesFinishReasonTests.swift",
        "OpenResponsesLanguageModelTests.swift"
      ],
      "target_dependencies" : [
        "OpenResponsesProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OpenResponsesProvider",
      "module_type" : "SwiftTarget",
      "name" : "OpenResponsesProvider",
      "path" : "Sources/OpenResponsesProvider",
      "product_memberships" : [
        "OpenResponsesProvider",
        "playground"
      ],
      "sources" : [
        "OpenResponsesProvider.swift",
        "OpenResponsesVersion.swift",
        "Responses/ConvertToOpenResponsesInput.swift",
        "Responses/MapOpenResponsesFinishReason.swift",
        "Responses/OpenResponsesConfig.swift",
        "Responses/OpenResponsesError.swift",
        "Responses/OpenResponsesLanguageModel.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OpenAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "OpenAIProvider",
      "path" : "Sources/OpenAIProvider",
      "product_memberships" : [
        "OpenAIProvider",
        "AzureProvider",
        "playground"
      ],
      "sources" : [
        "Chat/OpenAIChatAPI.swift",
        "Chat/OpenAIChatFinishReason.swift",
        "Chat/OpenAIChatLanguageModel.swift",
        "Chat/OpenAIChatOptions.swift",
        "Chat/OpenAIChatPrepareTools.swift",
        "Chat/OpenAIChatPrompt.swift",
        "Completion/OpenAICompletionAPI.swift",
        "Completion/OpenAICompletionFinishReason.swift",
        "Completion/OpenAICompletionLanguageModel.swift",
        "Completion/OpenAICompletionMetadata.swift",
        "Completion/OpenAICompletionOptions.swift",
        "Completion/OpenAICompletionPrompt.swift",
        "Embedding/OpenAIEmbeddingAPI.swift",
        "Embedding/OpenAIEmbeddingModel.swift",
        "Embedding/OpenAIEmbeddingOptions.swift",
        "Embedding/OpenAIEmbeddingRequestBody.swift",
        "Image/OpenAIImageAPI.swift",
        "Image/OpenAIImageModel.swift",
        "Image/OpenAIImageOptions.swift",
        "OpenAIConfig.swift",
        "OpenAIError.swift",
        "OpenAILanguageModelCapabilities.swift",
        "OpenAIModelIds.swift",
        "OpenAIProvider.swift",
        "OpenAIProviderOptionsFacade.swift",
        "OpenAIProviderOptionsHelpers.swift",
        "OpenAIResponsesAPI.swift",
        "OpenAIResponsesFinishReason.swift",
        "OpenAIResponsesInput.swift",
        "OpenAIResponsesModel.swift",
        "OpenAIResponsesModelConfig.swift",
        "OpenAIResponsesOptions.swift",
        "OpenAIResponsesPrepareTools.swift",
        "OpenAIResponsesRequestBody.swift",
        "OpenAIToolNameMapping.swift",
        "OpenAITools.swift",
        "OpenAIVersion.swift",
        "Speech/OpenAISpeechAPI.swift",
        "Speech/OpenAISpeechModel.swift",
        "Speech/OpenAISpeechOptions.swift",
        "Tool/OpenAIApplyPatchTool.swift",
        "Tool/OpenAICodeInterpreterTool.swift",
        "Tool/OpenAICustomTool.swift",
        "Tool/OpenAIFileSearchTool.swift",
        "Tool/OpenAIImageGenerationTool.swift",
        "Tool/OpenAILocalShellTool.swift",
        "Tool/OpenAIMCPTool.swift",
        "Tool/OpenAIShellTool.swift",
        "Tool/OpenAIWebSearchPreviewTool.swift",
        "Tool/OpenAIWebSearchTool.swift",
        "Transcription/OpenAITranscriptionAPI.swift",
        "Transcription/OpenAITranscriptionModel.swift",
        "Transcription/OpenAITranscriptionOptions.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OpenAICompatibleProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "OpenAICompatibleProviderTests",
      "path" : "Tests/OpenAICompatibleProviderTests",
      "sources" : [
        "OpenAICompatibleChatLanguageModelTests.swift",
        "OpenAICompatibleChatMessagesConverterTests.swift",
        "OpenAICompatibleChatProviderOptionsParityTests.swift",
        "OpenAICompatibleCompletionLanguageModelTests.swift",
        "OpenAICompatibleEmbeddingModelTests.swift",
        "OpenAICompatibleImageModelTests.swift",
        "OpenAICompatibleProviderTests.swift",
        "OpenAICompatibleTransformRequestBodyTests.swift"
      ],
      "target_dependencies" : [
        "OpenAICompatibleProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OpenAICompatibleProvider",
      "module_type" : "SwiftTarget",
      "name" : "OpenAICompatibleProvider",
      "path" : "Sources/OpenAICompatibleProvider",
      "product_memberships" : [
        "OpenAICompatibleProvider",
        "MoonshotAIProvider",
        "DeepInfraProvider",
        "FireworksProvider",
        "CerebrasProvider",
        "DeepSeekProvider",
        "BasetenProvider",
        "XAIProvider",
        "TogetherAIProvider",
        "VercelProvider",
        "playground"
      ],
      "sources" : [
        "Chat/ConvertToOpenAICompatibleChatMessages.swift",
        "Chat/GetResponseMetadata.swift",
        "Chat/MapOpenAICompatibleFinishReason.swift",
        "Chat/OpenAICompatibleChatLanguageModel.swift",
        "Chat/OpenAICompatibleChatOptions.swift",
        "Chat/OpenAICompatibleMetadataExtractor.swift",
        "Chat/OpenAICompatiblePrepareTools.swift",
        "Completion/ConvertToOpenAICompatibleCompletionPrompt.swift",
        "Completion/OpenAICompatibleCompletionLanguageModel.swift",
        "Completion/OpenAICompatibleCompletionOptions.swift",
        "Embedding/OpenAICompatibleEmbeddingModel.swift",
        "Embedding/OpenAICompatibleEmbeddingOptions.swift",
        "Image/OpenAICompatibleImageModel.swift",
        "OpenAICompatibleConfig.swift",
        "OpenAICompatibleError.swift",
        "OpenAICompatibleModelIds.swift",
        "OpenAICompatibleProvider.swift",
        "OpenAICompatibleVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MoonshotAIProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "MoonshotAIProviderTests",
      "path" : "Tests/MoonshotAIProviderTests",
      "sources" : [
        "ConvertMoonshotAIChatUsageTests.swift",
        "MoonshotAIProviderTests.swift"
      ],
      "target_dependencies" : [
        "MoonshotAIProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MoonshotAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "MoonshotAIProvider",
      "path" : "Sources/MoonshotAIProvider",
      "product_memberships" : [
        "MoonshotAIProvider",
        "playground"
      ],
      "sources" : [
        "ConvertMoonshotAIChatUsage.swift",
        "MoonshotAIChatLanguageModel.swift",
        "MoonshotAIChatModelId.swift",
        "MoonshotAIProvider.swift",
        "MoonshotAIVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MistralProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "MistralProviderTests",
      "path" : "Tests/MistralProviderTests",
      "sources" : [
        "ConvertToMistralChatMessagesTests.swift",
        "MistralChatLanguageModelTests.swift",
        "MistralEmbeddingModelTests.swift",
        "MistralProviderTests.swift",
        "TestHelpers.swift"
      ],
      "target_dependencies" : [
        "MistralProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MistralProvider",
      "module_type" : "SwiftTarget",
      "name" : "MistralProvider",
      "path" : "Sources/MistralProvider",
      "product_memberships" : [
        "MistralProvider",
        "playground"
      ],
      "sources" : [
        "ConvertToMistralChatMessages.swift",
        "MapMistralFinishReason.swift",
        "MistralChatLanguageModel.swift",
        "MistralEmbeddingModel.swift",
        "MistralError.swift",
        "MistralModelIds.swift",
        "MistralPrepareTools.swift",
        "MistralProvider.swift",
        "MistralProviderOptions.swift",
        "MistralResponseMetadata.swift",
        "MistralVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LumaProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "LumaProviderTests",
      "path" : "Tests/LumaProviderTests",
      "sources" : [
        "LumaProviderTests.swift"
      ],
      "target_dependencies" : [
        "LumaProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LumaProvider",
      "module_type" : "SwiftTarget",
      "name" : "LumaProvider",
      "path" : "Sources/LumaProvider",
      "product_memberships" : [
        "LumaProvider",
        "playground"
      ],
      "sources" : [
        "LumaError.swift",
        "LumaImageModel.swift",
        "LumaImageSettings.swift",
        "LumaModelIds.swift",
        "LumaProvider.swift",
        "LumaVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LMNTProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "LMNTProviderTests",
      "path" : "Tests/LMNTProviderTests",
      "sources" : [
        "LMNTErrorTests.swift",
        "LMNTSpeechModelTests.swift"
      ],
      "target_dependencies" : [
        "LMNTProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LMNTProvider",
      "module_type" : "SwiftTarget",
      "name" : "LMNTProvider",
      "path" : "Sources/LMNTProvider",
      "product_memberships" : [
        "LMNTProvider",
        "playground"
      ],
      "sources" : [
        "LMNTError.swift",
        "LMNTProvider.swift",
        "LMNTSpeechModel.swift",
        "LMNTSpeechModelId.swift",
        "LMNTVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KlingAIProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "KlingAIProviderTests",
      "path" : "Tests/KlingAIProviderTests",
      "sources" : [
        "KlingAIAuthTests.swift",
        "KlingAIVideoModelTests.swift"
      ],
      "target_dependencies" : [
        "KlingAIProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KlingAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "KlingAIProvider",
      "path" : "Sources/KlingAIProvider",
      "product_memberships" : [
        "KlingAIProvider",
        "playground"
      ],
      "sources" : [
        "KlingAIAuth.swift",
        "KlingAIError.swift",
        "KlingAIProvider.swift",
        "KlingAIVersion.swift",
        "KlingAIVideoModel.swift",
        "KlingAIVideoSettings.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HumeProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "HumeProviderTests",
      "path" : "Tests/HumeProviderTests",
      "sources" : [
        "HumeProviderTests.swift"
      ],
      "target_dependencies" : [
        "HumeProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HumeProvider",
      "module_type" : "SwiftTarget",
      "name" : "HumeProvider",
      "path" : "Sources/HumeProvider",
      "product_memberships" : [
        "HumeProvider",
        "playground"
      ],
      "sources" : [
        "HumeConfig.swift",
        "HumeError.swift",
        "HumeModelIds.swift",
        "HumeProvider.swift",
        "HumeSpeechAPITypes.swift",
        "HumeSpeechModel.swift",
        "HumeVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HuggingFaceProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "HuggingFaceProviderTests",
      "path" : "Tests/HuggingFaceProviderTests",
      "sources" : [
        "HuggingFaceProviderTests.swift"
      ],
      "target_dependencies" : [
        "HuggingFaceProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HuggingFaceProvider",
      "module_type" : "SwiftTarget",
      "name" : "HuggingFaceProvider",
      "path" : "Sources/HuggingFaceProvider",
      "product_memberships" : [
        "HuggingFaceProvider",
        "playground"
      ],
      "sources" : [
        "ConvertToHuggingFaceResponsesMessages.swift",
        "HuggingFaceConfig.swift",
        "HuggingFaceError.swift",
        "HuggingFaceProvider.swift",
        "HuggingFaceResponsesLanguageModel.swift",
        "HuggingFaceResponsesModelId.swift",
        "HuggingFaceResponsesPrepareTools.swift",
        "HuggingFaceResponsesProviderOptions.swift",
        "HuggingFaceVersion.swift",
        "MapHuggingFaceResponsesFinishReason.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GroqProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "GroqProviderTests",
      "path" : "Tests/GroqProviderTests",
      "sources" : [
        "ConvertToGroqChatMessagesTests.swift",
        "GroqChatLanguageModelTests.swift",
        "GroqPrepareToolsTests.swift",
        "GroqProviderTests.swift",
        "GroqTranscriptionModelTests.swift"
      ],
      "target_dependencies" : [
        "GroqProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GroqProvider",
      "module_type" : "SwiftTarget",
      "name" : "GroqProvider",
      "path" : "Sources/GroqProvider",
      "product_memberships" : [
        "GroqProvider",
        "playground"
      ],
      "sources" : [
        "ConvertToGroqChatMessages.swift",
        "GroqChatLanguageModel.swift",
        "GroqError.swift",
        "GroqModelIds.swift",
        "GroqPrepareTools.swift",
        "GroqProvider.swift",
        "GroqProviderOptions.swift",
        "GroqResponseMetadata.swift",
        "GroqTools.swift",
        "GroqTranscriptionModel.swift",
        "GroqVersion.swift",
        "MapGroqFinishReason.swift",
        "Tool/GroqBrowserSearchTool.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GoogleVertexProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "GoogleVertexProviderTests",
      "path" : "Tests/GoogleVertexProviderTests",
      "sources" : [
        "GoogleVertexAuthTests.swift",
        "GoogleVertexChatBaseURLTests.swift",
        "GoogleVertexChatStreamingBaseURLTests.swift",
        "GoogleVertexEmbeddingModelTests.swift",
        "GoogleVertexErrorHandlingTests.swift",
        "GoogleVertexImageEditingTests.swift",
        "GoogleVertexImageModelTests.swift",
        "GoogleVertexProviderExpressModeTests.swift",
        "GoogleVertexProviderVideoTests.swift",
        "GoogleVertexSupportedURLsTests.swift",
        "GoogleVertexVideoModelTests.swift"
      ],
      "target_dependencies" : [
        "GoogleVertexProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GoogleVertexProvider",
      "module_type" : "SwiftTarget",
      "name" : "GoogleVertexProvider",
      "path" : "Sources/GoogleVertexProvider",
      "product_memberships" : [
        "GoogleVertexProvider",
        "playground"
      ],
      "sources" : [
        "GoogleVertexEmbeddingModel.swift",
        "GoogleVertexEmbeddingOptions.swift",
        "GoogleVertexError.swift",
        "GoogleVertexImageModel.swift",
        "GoogleVertexModelIds.swift",
        "GoogleVertexProvider.swift",
        "GoogleVertexTools.swift",
        "GoogleVertexVersion.swift",
        "GoogleVertexVideoModel.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "GoogleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GoogleProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "GoogleProviderTests",
      "path" : "Tests/GoogleProviderTests",
      "sources" : [
        "ConvertJSONSchemaToOpenAPISchemaTests.swift",
        "ConvertToGoogleGenerativeAIMessagesTests.swift",
        "GetModelPathTests.swift",
        "GoogleErrorHandlingTests.swift",
        "GoogleGenerativeAIEmbeddingModelTests.swift",
        "GoogleGenerativeAIImageModelTests.swift",
        "GoogleGenerativeAILanguageModelParityTests.swift",
        "GoogleGenerativeAILanguageModelTests.swift",
        "GoogleGenerativeAIVideoModelTests.swift",
        "GooglePrepareToolsTests.swift",
        "GoogleProviderTests.swift",
        "GoogleSupportedFileURLTests.swift",
        "UtilityFunctionTests.swift"
      ],
      "target_dependencies" : [
        "GoogleProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GoogleProvider",
      "module_type" : "SwiftTarget",
      "name" : "GoogleProvider",
      "path" : "Sources/GoogleProvider",
      "product_memberships" : [
        "GoogleProvider",
        "GoogleVertexProvider",
        "playground"
      ],
      "sources" : [
        "ConvertJSONSchemaToOpenAPISchema.swift",
        "ConvertToGoogleGenerativeAIMessages.swift",
        "GetModelPath.swift",
        "GoogleError.swift",
        "GoogleGenerativeAIEmbeddingModel.swift",
        "GoogleGenerativeAIEmbeddingProviderOptions.swift",
        "GoogleGenerativeAIImageModel.swift",
        "GoogleGenerativeAIImageProviderOptions.swift",
        "GoogleGenerativeAIImageSettings.swift",
        "GoogleGenerativeAILanguageModel.swift",
        "GoogleGenerativeAIPrompt.swift",
        "GoogleGenerativeAIVideoModel.swift",
        "GoogleModelIds.swift",
        "GooglePrepareTools.swift",
        "GoogleProvider.swift",
        "GoogleProviderOptions.swift",
        "GoogleSupportedFileURL.swift",
        "GoogleTools.swift",
        "GoogleVersion.swift",
        "MapGoogleGenerativeAIFinishReason.swift",
        "Tool/GoogleCodeExecutionTool.swift",
        "Tool/GoogleEnterpriseWebSearchTool.swift",
        "Tool/GoogleFileSearchTool.swift",
        "Tool/GoogleGoogleMapsTool.swift",
        "Tool/GoogleSearchTool.swift",
        "Tool/GoogleURLContextTool.swift",
        "Tool/GoogleVertexRAGStoreTool.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GladiaProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "GladiaProviderTests",
      "path" : "Tests/GladiaProviderTests",
      "sources" : [
        "GladiaProviderTests.swift"
      ],
      "target_dependencies" : [
        "GladiaProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GladiaProvider",
      "module_type" : "SwiftTarget",
      "name" : "GladiaProvider",
      "path" : "Sources/GladiaProvider",
      "product_memberships" : [
        "GladiaProvider",
        "playground"
      ],
      "sources" : [
        "GladiaConfig.swift",
        "GladiaError.swift",
        "GladiaProvider.swift",
        "GladiaTranscriptionModel.swift",
        "GladiaTranscriptionOptions.swift",
        "GladiaVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GatewayProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "GatewayProviderTests",
      "path" : "Tests/GatewayProviderTests",
      "sources" : [
        "AsGatewayErrorTests.swift",
        "CreateGatewayErrorFromResponseTests.swift",
        "GatewayAuthTokenTests.swift",
        "GatewayEmbeddingModelTests.swift",
        "GatewayFetchMetadataTests.swift",
        "GatewayImageModelTests.swift",
        "GatewayLanguageModelTests.swift",
        "GatewayO11yHeadersTests.swift",
        "GatewayProviderCreationTests.swift",
        "GatewayToolsTests.swift",
        "GatewayVideoModelTests.swift",
        "VercelEnvironmentTests.swift"
      ],
      "target_dependencies" : [
        "GatewayProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GatewayProvider",
      "module_type" : "SwiftTarget",
      "name" : "GatewayProvider",
      "path" : "Sources/GatewayProvider",
      "product_memberships" : [
        "SwiftAISDK",
        "GatewayProvider",
        "playground"
      ],
      "sources" : [
        "AsGatewayError.swift",
        "ExtractApiCallResponse.swift",
        "GatewayAuthenticationError.swift",
        "GatewayConfig.swift",
        "GatewayEmbeddingModel.swift",
        "GatewayEnvironment.swift",
        "GatewayError.swift",
        "GatewayErrorHandling.swift",
        "GatewayFetchMetadata.swift",
        "GatewayImageModel.swift",
        "GatewayInternalServerError.swift",
        "GatewayInvalidRequestError.swift",
        "GatewayLanguageModel.swift",
        "GatewayModelEntry.swift",
        "GatewayModelIds.swift",
        "GatewayModelNotFoundError.swift",
        "GatewayProvider.swift",
        "GatewayProviderOptions.swift",
        "GatewayRateLimitError.swift",
        "GatewayResponseError.swift",
        "GatewayTimeoutError.swift",
        "GatewayTools.swift",
        "GatewayVersion.swift",
        "GatewayVideoModel.swift",
        "ParseAuthMethod.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "FireworksProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "FireworksProviderTests",
      "path" : "Tests/FireworksProviderTests",
      "sources" : [
        "FireworksProviderTests.swift"
      ],
      "target_dependencies" : [
        "FireworksProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FireworksProvider",
      "module_type" : "SwiftTarget",
      "name" : "FireworksProvider",
      "path" : "Sources/FireworksProvider",
      "product_memberships" : [
        "FireworksProvider",
        "playground"
      ],
      "sources" : [
        "FireworksError.swift",
        "FireworksImageModel.swift",
        "FireworksModelIds.swift",
        "FireworksProvider.swift",
        "FireworksVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "FalProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "FalProviderTests",
      "path" : "Tests/FalProviderTests",
      "sources" : [
        "FalErrorTests.swift",
        "FalImageModelTests.swift",
        "FalProviderTests.swift",
        "FalSpeechModelTests.swift",
        "FalTranscriptionModelTests.swift",
        "FalVideoModelTests.swift"
      ],
      "target_dependencies" : [
        "FalProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FalProvider",
      "module_type" : "SwiftTarget",
      "name" : "FalProvider",
      "path" : "Sources/FalProvider",
      "product_memberships" : [
        "FalProvider",
        "playground"
      ],
      "sources" : [
        "FalApiTypes.swift",
        "FalConfig.swift",
        "FalError.swift",
        "FalImageModel.swift",
        "FalImageOptions.swift",
        "FalModelIds.swift",
        "FalProvider.swift",
        "FalSpeechModel.swift",
        "FalSpeechOptions.swift",
        "FalTranscriptionModel.swift",
        "FalTranscriptionOptions.swift",
        "FalVersion.swift",
        "FalVideoModel.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "EventSourceParserTests",
      "module_type" : "SwiftTarget",
      "name" : "EventSourceParserTests",
      "path" : "Tests/EventSourceParserTests",
      "sources" : [
        "ParserTests.swift",
        "StreamTests.swift"
      ],
      "target_dependencies" : [
        "EventSourceParser"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EventSourceParser",
      "module_type" : "SwiftTarget",
      "name" : "EventSourceParser",
      "path" : "Sources/EventSourceParser",
      "product_memberships" : [
        "AISDKProviderUtils",
        "SwiftAISDK",
        "OpenAIProvider",
        "OpenAICompatibleProvider",
        "MoonshotAIProvider",
        "OpenResponsesProvider",
        "ByteDanceProvider",
        "AlibabaProvider",
        "KlingAIProvider",
        "AnthropicProvider",
        "AmazonBedrockProvider",
        "GatewayProvider",
        "GoogleProvider",
        "GoogleVertexProvider",
        "AzureProvider",
        "GroqProvider",
        "MistralProvider",
        "PerplexityProvider",
        "CohereProvider",
        "DeepgramProvider",
        "DeepInfraProvider",
        "ElevenLabsProvider",
        "FalProvider",
        "FireworksProvider",
        "GladiaProvider",
        "HuggingFaceProvider",
        "HumeProvider",
        "AssemblyAIProvider",
        "CerebrasProvider",
        "DeepSeekProvider",
        "BasetenProvider",
        "BlackForestLabsProvider",
        "ReplicateProvider",
        "XAIProvider",
        "LMNTProvider",
        "LumaProvider",
        "TogetherAIProvider",
        "ProdiaProvider",
        "RevAIProvider",
        "VercelProvider",
        "AISDKJSONSchema",
        "EventSourceParser",
        "playground"
      ],
      "sources" : [
        "Parser.swift",
        "Stream.swift",
        "Types.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ElevenLabsProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "ElevenLabsProviderTests",
      "path" : "Tests/ElevenLabsProviderTests",
      "sources" : [
        "ElevenLabsProviderTests.swift"
      ],
      "target_dependencies" : [
        "ElevenLabsProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ElevenLabsProvider",
      "module_type" : "SwiftTarget",
      "name" : "ElevenLabsProvider",
      "path" : "Sources/ElevenLabsProvider",
      "product_memberships" : [
        "ElevenLabsProvider",
        "playground"
      ],
      "sources" : [
        "ElevenLabsConfig.swift",
        "ElevenLabsError.swift",
        "ElevenLabsModelIds.swift",
        "ElevenLabsProvider.swift",
        "ElevenLabsSpeechModel.swift",
        "ElevenLabsSpeechOptions.swift",
        "ElevenLabsTranscriptionModel.swift",
        "ElevenLabsTranscriptionOptions.swift",
        "ElevenLabsVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DeepgramProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "DeepgramProviderTests",
      "path" : "Tests/DeepgramProviderTests",
      "sources" : [
        "DeepgramProviderTests.swift",
        "DeepgramSpeechModelTests.swift"
      ],
      "target_dependencies" : [
        "DeepgramProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DeepgramProvider",
      "module_type" : "SwiftTarget",
      "name" : "DeepgramProvider",
      "path" : "Sources/DeepgramProvider",
      "product_memberships" : [
        "DeepgramProvider",
        "playground"
      ],
      "sources" : [
        "DeepgramError.swift",
        "DeepgramModelIds.swift",
        "DeepgramProvider.swift",
        "DeepgramSpeechModel.swift",
        "DeepgramSpeechOptions.swift",
        "DeepgramTranscriptionModel.swift",
        "DeepgramTranscriptionOptions.swift",
        "DeepgramVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DeepSeekProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "DeepSeekProviderTests",
      "path" : "Tests/DeepSeekProviderTests",
      "sources" : [
        "DeepSeekMetadataExtractorTests.swift",
        "DeepSeekProviderTests.swift"
      ],
      "target_dependencies" : [
        "DeepSeekProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DeepSeekProvider",
      "module_type" : "SwiftTarget",
      "name" : "DeepSeekProvider",
      "path" : "Sources/DeepSeekProvider",
      "product_memberships" : [
        "DeepSeekProvider",
        "playground"
      ],
      "sources" : [
        "DeepSeekChatModelId.swift",
        "DeepSeekMetadataExtractor.swift",
        "DeepSeekProvider.swift",
        "DeepSeekVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DeepInfraProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "DeepInfraProviderTests",
      "path" : "Tests/DeepInfraProviderTests",
      "sources" : [
        "DeepInfraChatUsageFixTests.swift",
        "DeepInfraImageModelTests.swift",
        "DeepInfraProviderTests.swift"
      ],
      "target_dependencies" : [
        "DeepInfraProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DeepInfraProvider",
      "module_type" : "SwiftTarget",
      "name" : "DeepInfraProvider",
      "path" : "Sources/DeepInfraProvider",
      "product_memberships" : [
        "DeepInfraProvider",
        "playground"
      ],
      "sources" : [
        "DeepInfraImageModel.swift",
        "DeepInfraModelIds.swift",
        "DeepInfraProvider.swift",
        "DeepInfraVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CohereProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "CohereProviderTests",
      "path" : "Tests/CohereProviderTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/CohereProviderTests/__fixtures__",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "CohereChatLanguageModelTests.swift",
        "CohereEmbeddingModelTests.swift",
        "CoherePrepareToolsTests.swift",
        "CohereProviderTests.swift",
        "CohereRerankingModelTests.swift",
        "ConvertToCohereChatPromptTests.swift",
        "TestHelpers.swift"
      ],
      "target_dependencies" : [
        "CohereProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CohereProvider",
      "module_type" : "SwiftTarget",
      "name" : "CohereProvider",
      "path" : "Sources/CohereProvider",
      "product_memberships" : [
        "CohereProvider",
        "playground"
      ],
      "sources" : [
        "CohereChatLanguageModel.swift",
        "CohereChatOptions.swift",
        "CohereChatPrompt.swift",
        "CohereEmbeddingModel.swift",
        "CohereEmbeddingOptions.swift",
        "CohereError.swift",
        "CohereModelIds.swift",
        "CoherePrepareTools.swift",
        "CohereProvider.swift",
        "CohereVersion.swift",
        "ConvertToCohereChatPrompt.swift",
        "MapCohereFinishReason.swift",
        "Reranking/CohereRerankingAPI.swift",
        "Reranking/CohereRerankingModel.swift",
        "Reranking/CohereRerankingOptions.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CerebrasProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "CerebrasProviderTests",
      "path" : "Tests/CerebrasProviderTests",
      "sources" : [
        "CerebrasProviderTests.swift"
      ],
      "target_dependencies" : [
        "CerebrasProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CerebrasProvider",
      "module_type" : "SwiftTarget",
      "name" : "CerebrasProvider",
      "path" : "Sources/CerebrasProvider",
      "product_memberships" : [
        "CerebrasProvider",
        "playground"
      ],
      "sources" : [
        "CerebrasChatModelId.swift",
        "CerebrasError.swift",
        "CerebrasProvider.swift",
        "CerebrasVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ByteDanceProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "ByteDanceProviderTests",
      "path" : "Tests/ByteDanceProviderTests",
      "sources" : [
        "ByteDanceVideoModelTests.swift"
      ],
      "target_dependencies" : [
        "ByteDanceProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ByteDanceProvider",
      "module_type" : "SwiftTarget",
      "name" : "ByteDanceProvider",
      "path" : "Sources/ByteDanceProvider",
      "product_memberships" : [
        "ByteDanceProvider",
        "playground"
      ],
      "sources" : [
        "ByteDanceProvider.swift",
        "ByteDanceVersion.swift",
        "ByteDanceVideoModel.swift",
        "ByteDanceVideoSettings.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "BlackForestLabsProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "BlackForestLabsProviderTests",
      "path" : "Tests/BlackForestLabsProviderTests",
      "sources" : [
        "BlackForestLabsImageModelTests.swift",
        "BlackForestLabsProviderTests.swift"
      ],
      "target_dependencies" : [
        "BlackForestLabsProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "BlackForestLabsProvider",
      "module_type" : "SwiftTarget",
      "name" : "BlackForestLabsProvider",
      "path" : "Sources/BlackForestLabsProvider",
      "product_memberships" : [
        "BlackForestLabsProvider",
        "playground"
      ],
      "sources" : [
        "BlackForestLabsImageModel.swift",
        "BlackForestLabsModelIds.swift",
        "BlackForestLabsProvider.swift",
        "BlackForestLabsVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "BasetenProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "BasetenProviderTests",
      "path" : "Tests/BasetenProviderTests",
      "sources" : [
        "BasetenProviderTests.swift"
      ],
      "target_dependencies" : [
        "BasetenProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "BasetenProvider",
      "module_type" : "SwiftTarget",
      "name" : "BasetenProvider",
      "path" : "Sources/BasetenProvider",
      "product_memberships" : [
        "BasetenProvider"
      ],
      "sources" : [
        "BasetenChatModelId.swift",
        "BasetenEmbeddingModel.swift",
        "BasetenEmbeddingModelId.swift",
        "BasetenError.swift",
        "BasetenProvider.swift",
        "BasetenVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAICompatibleProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AzureProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "AzureProviderTests",
      "path" : "Tests/AzureProviderTests",
      "sources" : [
        "AzureProviderTests.swift"
      ],
      "target_dependencies" : [
        "AzureProvider",
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAIProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AzureProvider",
      "module_type" : "SwiftTarget",
      "name" : "AzureProvider",
      "path" : "Sources/AzureProvider",
      "product_memberships" : [
        "AzureProvider",
        "playground"
      ],
      "sources" : [
        "AzureProvider.swift",
        "AzureTools.swift",
        "AzureVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "OpenAIProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AssemblyAIProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "AssemblyAIProviderTests",
      "path" : "Tests/AssemblyAIProviderTests",
      "sources" : [
        "AssemblyAIProviderTests.swift",
        "AssemblyAITranscriptionModelTests.swift"
      ],
      "target_dependencies" : [
        "AssemblyAIProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AssemblyAIProvider",
      "module_type" : "SwiftTarget",
      "name" : "AssemblyAIProvider",
      "path" : "Sources/AssemblyAIProvider",
      "product_memberships" : [
        "AssemblyAIProvider",
        "playground"
      ],
      "sources" : [
        "AssemblyAIError.swift",
        "AssemblyAIProvider.swift",
        "AssemblyAITranscriptionModel.swift",
        "AssemblyAITranscriptionModelId.swift",
        "AssemblyAITranscriptionOptions.swift",
        "AssemblyAIVersion.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AnthropicProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "AnthropicProviderTests",
      "path" : "Tests/AnthropicProviderTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AnthropicProviderTests/Fixtures",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AnthropicErrorTests.swift",
        "AnthropicMessagesFixtureTests.swift",
        "AnthropicMessagesLanguageModelProviderMetadataTests.swift",
        "AnthropicMessagesLanguageModelProviderOptionsRequestTests.swift",
        "AnthropicMessagesLanguageModelStreamAdvancedTests.swift",
        "AnthropicMessagesLanguageModelTests.swift",
        "AnthropicPrepareToolsTests.swift",
        "AnthropicProviderAuthErrorTests.swift",
        "AnthropicProviderBaseURLTests.swift",
        "AnthropicProviderPlaceholderTests.swift",
        "AnthropicProviderSettingsTests.swift",
        "AnthropicProviderSupportedURLsTests.swift",
        "AnthropicToolSchemasTests.swift",
        "AnthropicWebToolsSchemaTests.swift",
        "ConvertToAnthropicMessagesPromptTests.swift",
        "ForwardAnthropicContainerIdFromLastStepTests.swift",
        "MapAnthropicStopReasonTests.swift"
      ],
      "target_dependencies" : [
        "AnthropicProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AnthropicProvider",
      "module_type" : "SwiftTarget",
      "name" : "AnthropicProvider",
      "path" : "Sources/AnthropicProvider",
      "product_memberships" : [
        "AnthropicProvider",
        "AmazonBedrockProvider"
      ],
      "sources" : [
        "AnthropicError.swift",
        "AnthropicMessagesAPI.swift",
        "AnthropicMessagesLanguageModel.swift",
        "AnthropicModelIds.swift",
        "AnthropicPrepareTools.swift",
        "AnthropicProvider.swift",
        "AnthropicProviderOptions.swift",
        "AnthropicToolNameMapping.swift",
        "AnthropicTools.swift",
        "AnthropicVersion.swift",
        "ConvertToAnthropicMessagesPrompt.swift",
        "ForwardAnthropicContainerIdFromLastStep.swift",
        "GetCacheControl.swift",
        "MapAnthropicStopReason.swift",
        "Tool/AnthropicBashTool.swift",
        "Tool/AnthropicCodeExecution20250825Tool.swift",
        "Tool/AnthropicCodeExecutionTool.swift",
        "Tool/AnthropicComputerTool.swift",
        "Tool/AnthropicMemory20250818Tool.swift",
        "Tool/AnthropicTextEditor20250728.swift",
        "Tool/AnthropicTextEditorTools.swift",
        "Tool/AnthropicToolSearchTools.swift",
        "Tool/AnthropicWebTools.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AmazonBedrockProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "AmazonBedrockProviderTests",
      "path" : "Tests/AmazonBedrockProviderTests",
      "sources" : [
        "BedrockChatLanguageModelTests.swift",
        "BedrockEmbeddingModelTests.swift",
        "BedrockEventStreamResponseHandlerTests.swift",
        "BedrockEventStreamTestHelpers.swift",
        "BedrockImageModelTests.swift",
        "BedrockPrepareToolsTests.swift",
        "BedrockSigV4FetchTests.swift",
        "ConvertToBedrockChatMessagesTests.swift"
      ],
      "target_dependencies" : [
        "AmazonBedrockProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AmazonBedrockProvider",
      "module_type" : "SwiftTarget",
      "name" : "AmazonBedrockProvider",
      "path" : "Sources/AmazonBedrockProvider",
      "product_memberships" : [
        "AmazonBedrockProvider"
      ],
      "sources" : [
        "AmazonBedrockVersion.swift",
        "BedrockChatLanguageModel.swift",
        "BedrockChatOptions.swift",
        "BedrockEmbeddingModel.swift",
        "BedrockEmbeddingOptions.swift",
        "BedrockError.swift",
        "BedrockEventStreamResponseHandler.swift",
        "BedrockImageModel.swift",
        "BedrockImageSettings.swift",
        "BedrockModelIds.swift",
        "BedrockPrepareTools.swift",
        "BedrockProvider.swift",
        "BedrockSigV4Fetch.swift",
        "BedrockURLEncoding.swift",
        "ConvertToBedrockChatMessages.swift",
        "MapBedrockFinishReason.swift",
        "NormalizeToolCallId.swift",
        "Reranking/BedrockRerankingAPI.swift",
        "Reranking/BedrockRerankingModel.swift",
        "Reranking/BedrockRerankingOptions.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "AnthropicProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AlibabaProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "AlibabaProviderTests",
      "path" : "Tests/AlibabaProviderTests",
      "sources" : [
        "AlibabaChatLanguageModelTests.swift",
        "AlibabaProviderTests.swift",
        "AlibabaVideoModelTests.swift",
        "ConvertAlibabaUsageTests.swift",
        "ConvertToAlibabaChatMessagesTests.swift",
        "GetCacheControlTests.swift"
      ],
      "target_dependencies" : [
        "AlibabaProvider",
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AlibabaProvider",
      "module_type" : "SwiftTarget",
      "name" : "AlibabaProvider",
      "path" : "Sources/AlibabaProvider",
      "product_memberships" : [
        "AlibabaProvider",
        "playground"
      ],
      "sources" : [
        "AlibabaChatLanguageModel.swift",
        "AlibabaChatOptions.swift",
        "AlibabaChatPrompt.swift",
        "AlibabaProvider.swift",
        "AlibabaVersion.swift",
        "AlibabaVideoModel.swift",
        "AlibabaVideoSettings.swift",
        "ConvertAlibabaUsage.swift",
        "ConvertToAlibabaChatMessages.swift",
        "GetCacheControl.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKProviderUtils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AISDKZodAdapter",
      "module_type" : "SwiftTarget",
      "name" : "AISDKZodAdapter",
      "path" : "Sources/AISDKZodAdapter",
      "product_memberships" : [
        "AISDKProviderUtils",
        "SwiftAISDK",
        "OpenAIProvider",
        "OpenAICompatibleProvider",
        "MoonshotAIProvider",
        "OpenResponsesProvider",
        "ByteDanceProvider",
        "AlibabaProvider",
        "KlingAIProvider",
        "AnthropicProvider",
        "AmazonBedrockProvider",
        "GatewayProvider",
        "GoogleProvider",
        "GoogleVertexProvider",
        "AzureProvider",
        "GroqProvider",
        "MistralProvider",
        "PerplexityProvider",
        "CohereProvider",
        "DeepgramProvider",
        "DeepInfraProvider",
        "ElevenLabsProvider",
        "FalProvider",
        "FireworksProvider",
        "GladiaProvider",
        "HuggingFaceProvider",
        "HumeProvider",
        "AssemblyAIProvider",
        "CerebrasProvider",
        "DeepSeekProvider",
        "BasetenProvider",
        "BlackForestLabsProvider",
        "ReplicateProvider",
        "XAIProvider",
        "LMNTProvider",
        "LumaProvider",
        "TogetherAIProvider",
        "ProdiaProvider",
        "RevAIProvider",
        "VercelProvider",
        "AISDKJSONSchema",
        "AISDKZodAdapter",
        "playground"
      ],
      "sources" : [
        "ArkTypeToJSONSchema.swift",
        "EffectToJSONSchema.swift",
        "JSONValueCompat.swift",
        "PublicBuilders.swift",
        "ValibotToJSONSchema.swift",
        "ZLikeDSL.swift",
        "Zod3/Zod3Options.swift",
        "Zod3/Zod3ParseDef.swift",
        "Zod3/Zod3Parsers.swift",
        "Zod3/Zod3ToJSONSchema.swift",
        "Zod3/Zod3Types.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AISDKProviderUtilsTests",
      "module_type" : "SwiftTarget",
      "name" : "AISDKProviderUtilsTests",
      "path" : "Tests/AISDKProviderUtilsTests",
      "sources" : [
        "AsyncStreamBridgeTests.swift",
        "CombineHeadersTests.swift",
        "ConvertAsyncIteratorToReadableStreamTests.swift",
        "ConvertImageModelFileToDataURITests.swift",
        "DelayTests.swift",
        "ExecuteToolTests.swift",
        "ExtractResponseHeadersTests.swift",
        "GenerateIDTests.swift",
        "GetFromAPITests.swift",
        "HTTPUtilsTests.swift",
        "IsUrlSupportedTests.swift",
        "JSONSchemaValidatorTests.swift",
        "LoadSettingsTests.swift",
        "MediaTypeToExtensionTests.swift",
        "ModelMessageCodableTests.swift",
        "ParseJSONTests.swift",
        "ParseJsonEventStreamTests.swift",
        "PostToAPITests.swift",
        "ProviderToolFactoryTests.swift",
        "ResponseHandlerTests.swift",
        "SchemaTests.swift",
        "SecureJsonParseTests.swift",
        "ToJSONSchema/ArrayParserTests.swift",
        "ToJSONSchema/BigIntParserTests.swift",
        "ToJSONSchema/BrandedParserTests.swift",
        "ToJSONSchema/CatchParserTests.swift",
        "ToJSONSchema/NumberParserTests.swift",
        "ToJSONSchema/StringParserTests.swift",
        "ToJSONSchema/TestHelpers.swift",
        "ToJSONSchema/ZodTestBuilders.swift",
        "ToolExecutionResultTests.swift",
        "ToolTests.swift",
        "UserAgentTests.swift",
        "ValidateTypesTests.swift"
      ],
      "target_dependencies" : [
        "AISDKProviderUtils",
        "AISDKZodAdapter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AISDKProviderUtils",
      "module_type" : "SwiftTarget",
      "name" : "AISDKProviderUtils",
      "path" : "Sources/AISDKProviderUtils",
      "product_memberships" : [
        "AISDKProviderUtils",
        "SwiftAISDK",
        "OpenAIProvider",
        "OpenAICompatibleProvider",
        "MoonshotAIProvider",
        "OpenResponsesProvider",
        "ByteDanceProvider",
        "AlibabaProvider",
        "KlingAIProvider",
        "AnthropicProvider",
        "AmazonBedrockProvider",
        "GatewayProvider",
        "GoogleProvider",
        "GoogleVertexProvider",
        "AzureProvider",
        "GroqProvider",
        "MistralProvider",
        "PerplexityProvider",
        "CohereProvider",
        "DeepgramProvider",
        "DeepInfraProvider",
        "ElevenLabsProvider",
        "FalProvider",
        "FireworksProvider",
        "GladiaProvider",
        "HuggingFaceProvider",
        "HumeProvider",
        "AssemblyAIProvider",
        "CerebrasProvider",
        "DeepSeekProvider",
        "BasetenProvider",
        "BlackForestLabsProvider",
        "ReplicateProvider",
        "XAIProvider",
        "LMNTProvider",
        "LumaProvider",
        "TogetherAIProvider",
        "ProdiaProvider",
        "RevAIProvider",
        "VercelProvider",
        "AISDKJSONSchema",
        "playground"
      ],
      "sources" : [
        "CombineHeaders.swift",
        "ContentPart.swift",
        "ConvertAsyncIteratorToReadableStream.swift",
        "ConvertImageModelFileToDataURI.swift",
        "DataContent.swift",
        "Delay.swift",
        "ExecuteTool.swift",
        "ExtractResponseHeaders.swift",
        "FetchFunction.swift",
        "GenerateID.swift",
        "GetErrorMessage.swift",
        "GetFromAPI.swift",
        "GetRuntimeEnvironmentUserAgent.swift",
        "HandleFetchError.swift",
        "InjectJSONInstructionIntoMessages.swift",
        "IsAbortError.swift",
        "IsAsyncIterable.swift",
        "IsUrlSupported.swift",
        "JSONValue/JSONValueToFoundation.swift",
        "LoadAPIKey.swift",
        "LoadOptionalSetting.swift",
        "LoadSetting.swift",
        "MediaTypeToExtension.swift",
        "ModelMessage.swift",
        "MultipartFormDataBuilder.swift",
        "ParseJSON.swift",
        "ParseJsonEventStream.swift",
        "ParseProviderOptions.swift",
        "PostToAPI.swift",
        "ProviderHTTPResponse.swift",
        "ProviderToolFactory.swift",
        "RemoveUndefinedEntries.swift",
        "Resolve.swift",
        "ResponseHandler.swift",
        "Schema/JSONSchemaValidator.swift",
        "Schema/Schema.swift",
        "Schema/ZodAdapters.swift",
        "SecureJsonParse.swift",
        "SplitDataUrl.swift",
        "TestSupport/ConvertArrayToAsyncIterable.swift",
        "TestSupport/ConvertArrayToReadableStream.swift",
        "TestSupport/ConvertAsyncIterableToArray.swift",
        "TestSupport/ConvertReadableStreamToArray.swift",
        "TestSupport/ConvertResponseStreamToArray.swift",
        "TestSupport/TestSupportIndex.swift",
        "Tool.swift",
        "Uint8Utils.swift",
        "ValidateTypes.swift",
        "Version.swift",
        "Versioning/SDKReleaseVersion.swift",
        "WithUserAgentSuffix.swift",
        "WithoutTrailingSlash.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider",
        "AISDKZodAdapter",
        "EventSourceParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AISDKProviderTests",
      "module_type" : "SwiftTarget",
      "name" : "AISDKProviderTests",
      "path" : "Tests/AISDKProviderTests",
      "sources" : [
        "JSONValue/IsJSONTests.swift",
        "JSONValueTests.swift",
        "LanguageModelMiddlewareTests.swift",
        "LanguageModelV2CallOptionsTests.swift",
        "LanguageModelV2CallWarningTests.swift",
        "LanguageModelV2ContentTests.swift",
        "LanguageModelV2DataContentTests.swift",
        "LanguageModelV2PromptTests.swift",
        "LanguageModelV2ResponseInfoTests.swift",
        "LanguageModelV2ResponseMetadataTests.swift",
        "LanguageModelV2StreamPartTests.swift",
        "LanguageModelV2ToolTests.swift",
        "LanguageModelV3CallOptionsTests.swift",
        "LanguageModelV3CallWarningTests.swift",
        "LanguageModelV3ContentTests.swift",
        "LanguageModelV3DataContentTests.swift",
        "LanguageModelV3PromptTests.swift",
        "LanguageModelV3ResponseInfoTests.swift",
        "LanguageModelV3ResponseMetadataTests.swift",
        "LanguageModelV3StreamPartTests.swift",
        "LanguageModelV3ToolResultTests.swift",
        "LanguageModelV3ToolTests.swift",
        "ProviderErrorsTests.swift"
      ],
      "target_dependencies" : [
        "AISDKProvider"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AISDKProvider",
      "module_type" : "SwiftTarget",
      "name" : "AISDKProvider",
      "path" : "Sources/AISDKProvider",
      "product_memberships" : [
        "AISDKProvider",
        "AISDKProviderUtils",
        "SwiftAISDK",
        "OpenAIProvider",
        "OpenAICompatibleProvider",
        "MoonshotAIProvider",
        "OpenResponsesProvider",
        "ByteDanceProvider",
        "AlibabaProvider",
        "KlingAIProvider",
        "AnthropicProvider",
        "AmazonBedrockProvider",
        "GatewayProvider",
        "GoogleProvider",
        "GoogleVertexProvider",
        "AzureProvider",
        "GroqProvider",
        "MistralProvider",
        "PerplexityProvider",
        "CohereProvider",
        "DeepgramProvider",
        "DeepInfraProvider",
        "ElevenLabsProvider",
        "FalProvider",
        "FireworksProvider",
        "GladiaProvider",
        "HuggingFaceProvider",
        "HumeProvider",
        "AssemblyAIProvider",
        "CerebrasProvider",
        "DeepSeekProvider",
        "BasetenProvider",
        "BlackForestLabsProvider",
        "ReplicateProvider",
        "XAIProvider",
        "LMNTProvider",
        "LumaProvider",
        "TogetherAIProvider",
        "ProdiaProvider",
        "RevAIProvider",
        "VercelProvider",
        "AISDKJSONSchema",
        "AISDKZodAdapter",
        "playground"
      ],
      "sources" : [
        "EmbeddingModel/EmbeddingModelV2.swift",
        "EmbeddingModel/EmbeddingModelV2Embedding.swift",
        "EmbeddingModel/EmbeddingModelV3.swift",
        "EmbeddingModel/EmbeddingModelV3Embedding.swift",
        "Errors/AISDKError.swift",
        "Errors/APICallError.swift",
        "Errors/EmptyResponseBodyError.swift",
        "Errors/GetErrorMessage.swift",
        "Errors/InvalidArgumentError.swift",
        "Errors/InvalidPromptError.swift",
        "Errors/InvalidResponseDataError.swift",
        "Errors/JSONParseError.swift",
        "Errors/LoadAPIKeyError.swift",
        "Errors/LoadSettingError.swift",
        "Errors/NoContentGeneratedError.swift",
        "Errors/NoSuchModelError.swift",
        "Errors/TooManyEmbeddingValuesForCallError.swift",
        "Errors/TypeValidationError.swift",
        "Errors/UnsupportedFunctionalityError.swift",
        "ImageModel/ImageModelV2.swift",
        "ImageModel/ImageModelV2CallOptions.swift",
        "ImageModel/ImageModelV2CallWarning.swift",
        "ImageModel/ImageModelV3.swift",
        "ImageModel/ImageModelV3CallOptions.swift",
        "ImageModel/ImageModelV3File.swift",
        "ImageModel/ImageModelV3Usage.swift",
        "JSONValue/IsJSON.swift",
        "JSONValue/JSONValue.swift",
        "LanguageModel/Middleware/LanguageModelV2Middleware.swift",
        "LanguageModel/Middleware/LanguageModelV3Middleware.swift",
        "LanguageModel/V2/LanguageModelV2.swift",
        "LanguageModel/V2/LanguageModelV2CallOptions.swift",
        "LanguageModel/V2/LanguageModelV2CallWarning.swift",
        "LanguageModel/V2/LanguageModelV2Content.swift",
        "LanguageModel/V2/LanguageModelV2DataContent.swift",
        "LanguageModel/V2/LanguageModelV2File.swift",
        "LanguageModel/V2/LanguageModelV2FunctionTool.swift",
        "LanguageModel/V2/LanguageModelV2Prompt.swift",
        "LanguageModel/V2/LanguageModelV2ProviderDefinedTool.swift",
        "LanguageModel/V2/LanguageModelV2Reasoning.swift",
        "LanguageModel/V2/LanguageModelV2ResponseMetadata.swift",
        "LanguageModel/V2/LanguageModelV2Source.swift",
        "LanguageModel/V2/LanguageModelV2StreamPart.swift",
        "LanguageModel/V2/LanguageModelV2Text.swift",
        "LanguageModel/V2/LanguageModelV2ToolCall.swift",
        "LanguageModel/V2/LanguageModelV2ToolChoice.swift",
        "LanguageModel/V2/LanguageModelV2ToolResult.swift",
        "LanguageModel/V3/LanguageModelV3.swift",
        "LanguageModel/V3/LanguageModelV3CallOptions.swift",
        "LanguageModel/V3/LanguageModelV3Content.swift",
        "LanguageModel/V3/LanguageModelV3DataContent.swift",
        "LanguageModel/V3/LanguageModelV3File.swift",
        "LanguageModel/V3/LanguageModelV3FinishReason.swift",
        "LanguageModel/V3/LanguageModelV3FunctionTool.swift",
        "LanguageModel/V3/LanguageModelV3Prompt.swift",
        "LanguageModel/V3/LanguageModelV3ProviderTool.swift",
        "LanguageModel/V3/LanguageModelV3Reasoning.swift",
        "LanguageModel/V3/LanguageModelV3ResponseMetadata.swift",
        "LanguageModel/V3/LanguageModelV3Source.swift",
        "LanguageModel/V3/LanguageModelV3StreamPart.swift",
        "LanguageModel/V3/LanguageModelV3Text.swift",
        "LanguageModel/V3/LanguageModelV3Tool.swift",
        "LanguageModel/V3/LanguageModelV3ToolApprovalRequest.swift",
        "LanguageModel/V3/LanguageModelV3ToolCall.swift",
        "LanguageModel/V3/LanguageModelV3ToolChoice.swift",
        "LanguageModel/V3/LanguageModelV3ToolResult.swift",
        "ProviderV2.swift",
        "ProviderV3.swift",
        "RerankingModel/RerankingModelV3.swift",
        "Shared/V2/SharedV2Headers.swift",
        "Shared/V2/SharedV2ProviderMetadata.swift",
        "Shared/V2/SharedV2ProviderOptions.swift",
        "Shared/V3/SharedV3Headers.swift",
        "Shared/V3/SharedV3ProviderMetadata.swift",
        "Shared/V3/SharedV3ProviderOptions.swift",
        "Shared/V3/SharedV3Warning.swift",
        "SpeechModel/SpeechModelV2.swift",
        "SpeechModel/SpeechModelV2CallOptions.swift",
        "SpeechModel/SpeechModelV2CallWarning.swift",
        "SpeechModel/SpeechModelV3.swift",
        "SpeechModel/SpeechModelV3CallOptions.swift",
        "TranscriptionModel/TranscriptionModelV2.swift",
        "TranscriptionModel/TranscriptionModelV2CallOptions.swift",
        "TranscriptionModel/TranscriptionModelV2CallWarning.swift",
        "TranscriptionModel/TranscriptionModelV3.swift",
        "TranscriptionModel/TranscriptionModelV3CallOptions.swift",
        "VideoModel/VideoModelV3.swift",
        "VideoModel/VideoModelV3CallOptions.swift",
        "VideoModel/VideoModelV3File.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AISDKJSONSchemaTests",
      "module_type" : "SwiftTarget",
      "name" : "AISDKJSONSchemaTests",
      "path" : "Tests/AISDKJSONSchemaTests",
      "sources" : [
        "ISO8601DecodingTests.swift",
        "SchemaGeneratorBasicTests.swift"
      ],
      "target_dependencies" : [
        "AISDKJSONSchema",
        "AISDKProviderUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AISDKJSONSchema",
      "module_type" : "SwiftTarget",
      "name" : "AISDKJSONSchema",
      "path" : "Sources/AISDKJSONSchema",
      "product_memberships" : [
        "SwiftAISDK",
        "AISDKJSONSchema",
        "playground"
      ],
      "sources" : [
        "DefaultValueFactory.swift",
        "FlexibleSchema+Auto.swift",
        "JSONSchemaGenerator.swift"
      ],
      "target_dependencies" : [
        "AISDKProviderUtils",
        "AISDKZodAdapter"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.