Build Information
Failed to build Arbiter, reference v0.2.0 (dcf1e7), with Swift 6.4 for watchOS using Xcode 27.0 on 27 Sep 2026 20:03:33 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme Arbiter -destination generic/platform=watchOSBuild Log
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
27 | /// a transcript-built session with no definitions in its instructions would register
28 | /// executors the model was never told about.
29 | static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
| | `- error: 'Tool' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
30 | let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
31 | return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:29:89: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
27 | /// a transcript-built session with no definitions in its instructions would register
28 | /// executors the model was never told about.
29 | static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
30 | let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
31 | return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:36:27: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
37 | ) throws -> Transcript.Entry {
38 | switch source {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:37:17: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
37 | ) throws -> Transcript.Entry {
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
38 | switch source {
39 | case .instructions(let segments, _):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:75:67: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
73 | }
74 |
75 | private static func segment(from source: FMSegment) throws -> Transcript.Segment {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
76 | switch source {
77 | case .text(let text):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:87:66: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
85 | }
86 |
87 | private static func generatedContent(json: String) throws -> GeneratedContent {
| | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
88 | do {
89 | return try GeneratedContent(json: json)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:97:75: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
95 | }
96 |
97 | static func generationOptions(from settings: FMGenerationSettings) -> GenerationOptions {
| | `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
98 | GenerationOptions(
99 | sampling: settings.sampling.map(samplingMode(from:)),
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:105:71: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
103 | }
104 |
105 | private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
| | `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
106 | switch source {
107 | case .greedy:
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:121:69: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
119 | /// duplicate type names and undefined references — which is reported as a bad request,
120 | /// since that is what it is.
121 | static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
| | `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
122 | do {
123 | return try GenerationSchema(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:134:67: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| | `- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:196:70: error: 'GenerationGuide' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
194 | /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 | /// type — there is no protocol tying them together to be generic over.
196 | private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
| | `- error: 'GenerationGuide' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
197 | switch (minimum, maximum) {
198 | case (let low?, let high?) where low <= high: [.range(low...high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:205:76: error: 'GenerationGuide' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
203 | }
204 |
205 | private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
| | `- error: 'GenerationGuide' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
206 | switch (minimum, maximum) {
207 | case (let low?, let high?) where low <= high: [.range(low...high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:214:62: error: 'SystemLanguageModel' is unavailable in watchOS
212 | }
213 |
214 | static func model(for options: AppleFMOptions) throws -> SystemLanguageModel {
| `- error: 'SystemLanguageModel' is unavailable in watchOS
215 | let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
216 | case .default: .default
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:246:10: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
242 | }
243 |
244 | static func sentiment(
| `- note: add '@available' attribute to enclosing static method
245 | from source: AppleFMFeedbackSentiment
246 | ) -> LanguageModelFeedback.Sentiment {
| `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
247 | switch source {
248 | case .positive: .positive
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:254:61: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
252 | }
253 |
254 | static func issue(from source: AppleFMFeedbackIssue) -> LanguageModelFeedback.Issue {
| | `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
255 | let category: LanguageModelFeedback.Issue.Category = switch source.category {
256 | case .unhelpful: .unhelpful
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:275:41: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
273 | /// including them would make every comparison fail, since the forward direction mints
274 | /// fresh identifiers.
275 | static func transcript(from source: Transcript) -> FMTranscript {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
276 | FMTranscript(entries: source.map(entry(from:)))
277 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:279:44: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
277 | }
278 |
279 | private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
280 | switch source {
281 | case .instructions(let instructions):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:307:46: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
305 | }
306 |
307 | private static func segment(from source: Transcript.Segment) -> FMSegment {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
308 | switch source {
309 | case .text(let text):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:19:9: error: 'SystemLanguageModel' is unavailable in watchOS
17 | /// always the live value rather than a hardcoded 4096.
18 | static var contextSize: Int {
19 | SystemLanguageModel.default.contextSize
| `- error: 'SystemLanguageModel' is unavailable in watchOS
20 | }
21 |
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:19:29: error: 'default' is unavailable in watchOS
17 | /// always the live value rather than a hardcoded 4096.
18 | static var contextSize: Int {
19 | SystemLanguageModel.default.contextSize
| `- error: 'default' is unavailable in watchOS
20 | }
21 |
FoundationModels.SystemLanguageModel.default:5:20: note: 'default' has been explicitly marked unavailable here
3 | @available(tvOS, unavailable)
4 | @available(watchOS, unavailable)
5 | public class var `default`: SystemLanguageModel { get }}
| `- note: 'default' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:19:37: error: 'contextSize' is unavailable in watchOS
17 | /// always the live value rather than a hardcoded 4096.
18 | static var contextSize: Int {
19 | SystemLanguageModel.default.contextSize
| `- error: 'contextSize' is unavailable in watchOS
20 | }
21 |
FoundationModels.SystemLanguageModel.contextSize:6:20: note: 'contextSize' has been explicitly marked unavailable here
4 | @available(tvOS, unavailable)
5 | @available(watchOS, unavailable)
6 | final public var contextSize: Int { get }}
| `- note: 'contextSize' has been explicitly marked unavailable here
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:30:39: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
27 | /// a transcript-built session with no definitions in its instructions would register
28 | /// executors the model was never told about.
29 | static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
| `- note: add '@available' attribute to enclosing static method
30 | let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
31 | return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:30:50: error: 'init(tool:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
27 | /// a transcript-built session with no definitions in its instructions would register
28 | /// executors the model was never told about.
29 | static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
| `- note: add '@available' attribute to enclosing static method
30 | let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
| |- error: 'init(tool:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
31 | return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:31:16: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
27 | /// a transcript-built session with no definitions in its instructions would register
28 | /// executors the model was never told about.
29 | static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
| `- note: add '@available' attribute to enclosing static method
30 | let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
31 | return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
32 | }
33 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:43:34: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
41 | // was produced with; what the session needs is the full definition, which only
42 | // the bound tools carry.
43 | return .instructions(Transcript.Instructions(
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
44 | segments: try segments.map(segment(from:)),
45 | toolDefinitions: toolDefinitions
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:49:28: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
47 |
48 | case .prompt(let segments):
49 | return .prompt(Transcript.Prompt(segments: try segments.map(segment(from:))))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
50 |
51 | case .response(let segments):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:49:39: error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
47 |
48 | case .prompt(let segments):
49 | return .prompt(Transcript.Prompt(segments: try segments.map(segment(from:))))
| |- error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
50 |
51 | case .response(let segments):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:52:30: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
50 |
51 | case .response(let segments):
52 | return .response(Transcript.Response(
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
53 | assetIDs: [],
54 | segments: try segments.map(segment(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:52:41: error: 'init(id:assetIDs:segments:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
50 |
51 | case .response(let segments):
52 | return .response(Transcript.Response(
| |- error: 'init(id:assetIDs:segments:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
53 | assetIDs: [],
54 | segments: try segments.map(segment(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:58:31: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
56 |
57 | case .toolCalls(let calls):
58 | return .toolCalls(Transcript.ToolCalls(try calls.map { call in
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
59 | Transcript.ToolCall(
60 | id: call.id,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:59:17: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
57 | case .toolCalls(let calls):
58 | return .toolCalls(Transcript.ToolCalls(try calls.map { call in
59 | Transcript.ToolCall(
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
60 | id: call.id,
61 | toolName: call.toolName,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:59:28: error: 'init(id:toolName:arguments:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
57 | case .toolCalls(let calls):
58 | return .toolCalls(Transcript.ToolCalls(try calls.map { call in
59 | Transcript.ToolCall(
| |- error: 'init(id:toolName:arguments:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
60 | id: call.id,
61 | toolName: call.toolName,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:67:32: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
32 | }
33 |
34 | private static func entry(
| `- note: add '@available' attribute to enclosing static method
35 | from source: FMTranscriptEntry,
36 | toolDefinitions: [Transcript.ToolDefinition]
:
65 |
66 | case .toolOutput(let id, let toolName, let segments):
67 | return .toolOutput(Transcript.ToolOutput(
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
68 | id: id,
69 | toolName: toolName,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:78:26: error: 'Transcript' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
73 | }
74 |
75 | private static func segment(from source: FMSegment) throws -> Transcript.Segment {
| `- note: add '@available' attribute to enclosing static method
76 | switch source {
77 | case .text(let text):
78 | return .text(Transcript.TextSegment(content: text))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
79 | case .structured(let source, let json):
80 | return .structure(Transcript.StructuredSegment(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:81:25: error: extra argument 'source' in call
79 | case .structured(let source, let json):
80 | return .structure(Transcript.StructuredSegment(
81 | source: source,
| `- error: extra argument 'source' in call
82 | content: try generatedContent(json: json)
83 | ))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:81:31: error: missing argument for parameter 'schemaName' in call
79 | case .structured(let source, let json):
80 | return .structure(Transcript.StructuredSegment(
81 | source: source,
| `- error: missing argument for parameter 'schemaName' in call
82 | content: try generatedContent(json: json)
83 | ))
FoundationModels.Transcript.StructuredSegment.init:4:12: note: 'init(id:schemaName:content:)' declared here
2 | struct StructuredSegment {
3 | @available(iOS 26.0, macOS 26.0, watchOS 27.0, *)
4 | public init(id: String = UUID().uuidString, schemaName: String, content: GeneratedContent) }
| `- note: 'init(id:schemaName:content:)' declared here
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:89:24: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
85 | }
86 |
87 | private static func generatedContent(json: String) throws -> GeneratedContent {
| `- note: add '@available' attribute to enclosing static method
88 | do {
89 | return try GeneratedContent(json: json)
| |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
90 | } catch {
91 | throw ArbiterError.invalidRequest(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:89:24: error: 'init(json:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
85 | }
86 |
87 | private static func generatedContent(json: String) throws -> GeneratedContent {
| `- note: add '@available' attribute to enclosing static method
88 | do {
89 | return try GeneratedContent(json: json)
| |- error: 'init(json:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
90 | } catch {
91 | throw ArbiterError.invalidRequest(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:98:9: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
95 | }
96 |
97 | static func generationOptions(from settings: FMGenerationSettings) -> GenerationOptions {
| `- note: add '@available' attribute to enclosing static method
98 | GenerationOptions(
| |- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
99 | sampling: settings.sampling.map(samplingMode(from:)),
100 | temperature: settings.temperature,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:98:9: error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
96 |
97 | static func generationOptions(from settings: FMGenerationSettings) -> GenerationOptions {
98 | GenerationOptions(
| `- error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
99 | sampling: settings.sampling.map(samplingMode(from:)),
100 | temperature: settings.temperature,
FoundationModels.GenerationOptions.init:6:10: note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
4 | @available(tvOS, unavailable)
5 | @available(watchOS, unavailable)
6 | public init(sampling: GenerationOptions.SamplingMode?, temperature: Double? = nil, maximumResponseTokens: Int? = nil)}
| `- note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:108:14: error: 'greedy' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
103 | }
104 |
105 | private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
| `- note: add '@available' attribute to enclosing static method
106 | switch source {
107 | case .greedy:
108 | .greedy
| |- error: 'greedy' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
109 | case .randomTop(let k, let seed):
110 | .random(top: k, seed: seed)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:110:14: error: 'random(top:seed:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
103 | }
104 |
105 | private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
| `- note: add '@available' attribute to enclosing static method
106 | switch source {
107 | case .greedy:
108 | .greedy
109 | case .randomTop(let k, let seed):
110 | .random(top: k, seed: seed)
| |- error: 'random(top:seed:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
111 | case .randomThreshold(let probability, let seed):
112 | .random(probabilityThreshold: probability, seed: seed)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:112:14: error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
103 | }
104 |
105 | private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
| `- note: add '@available' attribute to enclosing static method
106 | switch source {
107 | case .greedy:
:
110 | .random(top: k, seed: seed)
111 | case .randomThreshold(let probability, let seed):
112 | .random(probabilityThreshold: probability, seed: seed)
| |- error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
113 | }
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:123:24: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
119 | /// duplicate type names and undefined references — which is reported as a bad request,
120 | /// since that is what it is.
121 | static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
| `- note: add '@available' attribute to enclosing static method
122 | do {
123 | return try GenerationSchema(
| |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
124 | root: dynamicSchema(from: tree.root),
125 | dependencies: tree.dependencies.map(dynamicSchema(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:123:24: error: 'init(root:dependencies:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
119 | /// duplicate type names and undefined references — which is reported as a bad request,
120 | /// since that is what it is.
121 | static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
| `- note: add '@available' attribute to enclosing static method
122 | do {
123 | return try GenerationSchema(
| |- error: 'init(root:dependencies:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
124 | root: dynamicSchema(from: tree.root),
125 | dependencies: tree.dependencies.map(dynamicSchema(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:127:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
119 | /// duplicate type names and undefined references — which is reported as a bad request,
120 | /// since that is what it is.
121 | static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
| `- note: add '@available' attribute to enclosing static method
122 | do {
123 | return try GenerationSchema(
:
125 | dependencies: tree.dependencies.map(dynamicSchema(from:))
126 | )
127 | } catch let error as GenerationSchema.SchemaError {
| |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
128 | throw ArbiterError.invalidRequest(
129 | reason: "Apple Foundation Models rejected the schema: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:127:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
119 | /// duplicate type names and undefined references — which is reported as a bad request,
120 | /// since that is what it is.
121 | static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
| `- note: add '@available' attribute to enclosing static method
122 | do {
123 | return try GenerationSchema(
:
125 | dependencies: tree.dependencies.map(dynamicSchema(from:))
126 | )
127 | } catch let error as GenerationSchema.SchemaError {
| |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
128 | throw ArbiterError.invalidRequest(
129 | reason: "Apple Foundation Models rejected the schema: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:137:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
137 | return DynamicGenerationSchema(
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
138 | name: name,
139 | description: description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:137:20: error: 'init(name:description:properties:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
137 | return DynamicGenerationSchema(
| |- error: 'init(name:description:properties:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
138 | name: name,
139 | description: description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:141:21: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
139 | description: description,
140 | properties: properties.map {
141 | DynamicGenerationSchema.Property(
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
142 | name: $0.name,
143 | description: $0.description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:141:45: error: 'init(name:description:schema:isOptional:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
139 | description: description,
140 | properties: properties.map {
141 | DynamicGenerationSchema.Property(
| |- error: 'init(name:description:schema:isOptional:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
142 | name: $0.name,
143 | description: $0.description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:151:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
149 |
150 | case .stringEnum(let name, let description, let choices):
151 | return DynamicGenerationSchema(name: name, description: description, anyOf: choices)
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
152 |
153 | case .anyOf(let name, let description, let choices):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:151:20: error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
149 |
150 | case .stringEnum(let name, let description, let choices):
151 | return DynamicGenerationSchema(name: name, description: description, anyOf: choices)
| |- error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
152 |
153 | case .anyOf(let name, let description, let choices):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:154:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
152 |
153 | case .anyOf(let name, let description, let choices):
154 | return DynamicGenerationSchema(
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
155 | name: name, description: description, anyOf: choices.map(dynamicSchema(from:))
156 | )
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:154:20: error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
152 |
153 | case .anyOf(let name, let description, let choices):
154 | return DynamicGenerationSchema(
| |- error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
155 | name: name, description: description, anyOf: choices.map(dynamicSchema(from:))
156 | )
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:159:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
157 |
158 | case .array(let item, let minimum, let maximum):
159 | return DynamicGenerationSchema(
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
160 | arrayOf: dynamicSchema(from: item),
161 | minimumElements: minimum,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:159:20: error: 'init(arrayOf:minimumElements:maximumElements:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
157 |
158 | case .array(let item, let minimum, let maximum):
159 | return DynamicGenerationSchema(
| |- error: 'init(arrayOf:minimumElements:maximumElements:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
160 | arrayOf: dynamicSchema(from: item),
161 | minimumElements: minimum,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:166:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
164 |
165 | case .reference(let name):
166 | return DynamicGenerationSchema(referenceTo: name)
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
167 |
168 | case .string(let constant, let pattern):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:166:20: error: 'init(referenceTo:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
164 |
165 | case .reference(let name):
166 | return DynamicGenerationSchema(referenceTo: name)
| |- error: 'init(referenceTo:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
167 |
168 | case .string(let constant, let pattern):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:169:26: error: 'GenerationGuide' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
167 |
168 | case .string(let constant, let pattern):
169 | var guides: [GenerationGuide<String>] = []
| |- error: 'GenerationGuide' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
170 | if let constant {
171 | guides.append(.constant(constant))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:171:32: error: 'constant' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
169 | var guides: [GenerationGuide<String>] = []
170 | if let constant {
171 | guides.append(.constant(constant))
| |- error: 'constant' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
172 | } else if let pattern, let regex = try? Regex(pattern) {
173 | // The converter already dropped patterns that will not compile; this second
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:175:32: error: 'pattern' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
173 | // The converter already dropped patterns that will not compile; this second
174 | // attempt is what makes the failure impossible rather than merely unlikely.
175 | guides.append(.pattern(regex))
| |- error: 'pattern' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
176 | }
177 | return DynamicGenerationSchema(type: String.self, guides: guides)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:177:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
175 | guides.append(.pattern(regex))
176 | }
177 | return DynamicGenerationSchema(type: String.self, guides: guides)
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
178 |
179 | case .integer(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:177:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
175 | guides.append(.pattern(regex))
176 | }
177 | return DynamicGenerationSchema(type: String.self, guides: guides)
| |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
178 |
179 | case .integer(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:180:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
178 |
179 | case .integer(let minimum, let maximum):
180 | return DynamicGenerationSchema(type: Int.self, guides: bounds(minimum, maximum))
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
181 |
182 | case .number(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:180:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
178 |
179 | case .integer(let minimum, let maximum):
180 | return DynamicGenerationSchema(type: Int.self, guides: bounds(minimum, maximum))
| |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
181 |
182 | case .number(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:183:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
181 |
182 | case .number(let minimum, let maximum):
183 | return DynamicGenerationSchema(type: Double.self, guides: bounds(minimum, maximum))
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
184 |
185 | case .boolean:
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:183:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
181 |
182 | case .number(let minimum, let maximum):
183 | return DynamicGenerationSchema(type: Double.self, guides: bounds(minimum, maximum))
| |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
184 |
185 | case .boolean:
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:186:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
184 |
185 | case .boolean:
186 | return DynamicGenerationSchema(type: Bool.self)
| |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
187 | }
188 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:186:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
132 | }
133 |
134 | private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
| `- note: add '@available' attribute to enclosing static method
135 | switch node {
136 | case .object(let name, let description, let properties):
:
184 |
185 | case .boolean:
186 | return DynamicGenerationSchema(type: Bool.self)
| |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
187 | }
188 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:198:57: error: 'range' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
194 | /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 | /// type — there is no protocol tying them together to be generic over.
196 | private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
| `- note: add '@available' attribute to enclosing static method
197 | switch (minimum, maximum) {
198 | case (let low?, let high?) where low <= high: [.range(low...high)]
| |- error: 'range' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
199 | case (let low?, _): [.minimum(low)]
200 | case (nil, let high?): [.maximum(high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:199:31: error: 'minimum' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
194 | /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 | /// type — there is no protocol tying them together to be generic over.
196 | private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
| `- note: add '@available' attribute to enclosing static method
197 | switch (minimum, maximum) {
198 | case (let low?, let high?) where low <= high: [.range(low...high)]
199 | case (let low?, _): [.minimum(low)]
| |- error: 'minimum' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
200 | case (nil, let high?): [.maximum(high)]
201 | case (nil, nil): []
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:200:34: error: 'maximum' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
194 | /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 | /// type — there is no protocol tying them together to be generic over.
196 | private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
| `- note: add '@available' attribute to enclosing static method
197 | switch (minimum, maximum) {
198 | case (let low?, let high?) where low <= high: [.range(low...high)]
199 | case (let low?, _): [.minimum(low)]
200 | case (nil, let high?): [.maximum(high)]
| |- error: 'maximum' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
201 | case (nil, nil): []
202 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:207:57: error: 'range' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
203 | }
204 |
205 | private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
| `- note: add '@available' attribute to enclosing static method
206 | switch (minimum, maximum) {
207 | case (let low?, let high?) where low <= high: [.range(low...high)]
| |- error: 'range' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
208 | case (let low?, _): [.minimum(low)]
209 | case (nil, let high?): [.maximum(high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:208:31: error: 'minimum' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
203 | }
204 |
205 | private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
| `- note: add '@available' attribute to enclosing static method
206 | switch (minimum, maximum) {
207 | case (let low?, let high?) where low <= high: [.range(low...high)]
208 | case (let low?, _): [.minimum(low)]
| |- error: 'minimum' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
209 | case (nil, let high?): [.maximum(high)]
210 | case (nil, nil): []
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:209:34: error: 'maximum' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
203 | }
204 |
205 | private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
| `- note: add '@available' attribute to enclosing static method
206 | switch (minimum, maximum) {
207 | case (let low?, let high?) where low <= high: [.range(low...high)]
208 | case (let low?, _): [.minimum(low)]
209 | case (nil, let high?): [.maximum(high)]
| |- error: 'maximum' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
210 | case (nil, nil): []
211 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:215:25: error: 'SystemLanguageModel' is unavailable in watchOS
213 |
214 | static func model(for options: AppleFMOptions) throws -> SystemLanguageModel {
215 | let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
| `- error: 'SystemLanguageModel' is unavailable in watchOS
216 | case .default: .default
217 | case .permissiveContentTransformations: .permissiveContentTransformations
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:216:25: error: 'default' is unavailable in watchOS
214 | static func model(for options: AppleFMOptions) throws -> SystemLanguageModel {
215 | let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
216 | case .default: .default
| `- error: 'default' is unavailable in watchOS
217 | case .permissiveContentTransformations: .permissiveContentTransformations
218 | }
FoundationModels.SystemLanguageModel.Guardrails.default:3:19: note: 'default' has been explicitly marked unavailable here
1 | class SystemLanguageModel {
2 | struct Guardrails {
3 | public static let `default`: SystemLanguageModel.Guardrails }
| `- note: 'default' has been explicitly marked unavailable here
4 | }
5 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:217:50: error: 'permissiveContentTransformations' is unavailable in watchOS
215 | let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
216 | case .default: .default
217 | case .permissiveContentTransformations: .permissiveContentTransformations
| `- error: 'permissiveContentTransformations' is unavailable in watchOS
218 | }
219 |
FoundationModels.SystemLanguageModel.Guardrails.permissiveContentTransformations:3:19: note: 'permissiveContentTransformations' has been explicitly marked unavailable here
1 | class SystemLanguageModel {
2 | struct Guardrails {
3 | public static let permissiveContentTransformations: SystemLanguageModel.Guardrails }
| `- note: 'permissiveContentTransformations' has been explicitly marked unavailable here
4 | }
5 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:221:26: error: 'SystemLanguageModel' is unavailable in watchOS
219 |
220 | guard let adapterSource = options.adapter else {
221 | let useCase: SystemLanguageModel.UseCase = switch options.useCase {
| `- error: 'SystemLanguageModel' is unavailable in watchOS
222 | case .general: .general
223 | case .contentTagging: .contentTagging
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:225:20: error: 'SystemLanguageModel' is unavailable in watchOS
223 | case .contentTagging: .contentTagging
224 | }
225 | return SystemLanguageModel(useCase: useCase, guardrails: guardrails)
| `- error: 'SystemLanguageModel' is unavailable in watchOS
226 | }
227 |
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:225:20: error: 'init(useCase:guardrails:)' is unavailable in watchOS
223 | case .contentTagging: .contentTagging
224 | }
225 | return SystemLanguageModel(useCase: useCase, guardrails: guardrails)
| `- error: 'init(useCase:guardrails:)' is unavailable in watchOS
226 | }
227 |
FoundationModels.SystemLanguageModel.init:5:22: note: 'init(useCase:guardrails:)' has been explicitly marked unavailable here
3 | @available(tvOS, unavailable)
4 | @available(watchOS, unavailable)
5 | public convenience init(useCase: SystemLanguageModel.UseCase = .general, guardrails: SystemLanguageModel.Guardrails = Guardrails.default)}
| `- note: 'init(useCase:guardrails:)' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:230:66: error: incorrect argument label in call (have 'name:', expected 'fileURL:')
228 | do {
229 | let adapter = switch adapterSource {
230 | case .name(let name): try SystemLanguageModel.Adapter(name: name)
| `- error: incorrect argument label in call (have 'name:', expected 'fileURL:')
231 | case .fileURL(let url): try SystemLanguageModel.Adapter(fileURL: url)
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:230:73: error: cannot convert value of type 'String' to expected argument type 'URL'
228 | do {
229 | let adapter = switch adapterSource {
230 | case .name(let name): try SystemLanguageModel.Adapter(name: name)
| `- error: cannot convert value of type 'String' to expected argument type 'URL'
231 | case .fileURL(let url): try SystemLanguageModel.Adapter(fileURL: url)
232 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:255:23: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
252 | }
253 |
254 | static func issue(from source: AppleFMFeedbackIssue) -> LanguageModelFeedback.Issue {
| `- note: add '@available' attribute to enclosing static method
255 | let category: LanguageModelFeedback.Issue.Category = switch source.category {
| |- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
256 | case .unhelpful: .unhelpful
257 | case .tooVerbose: .tooVerbose
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:265:16: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
252 | }
253 |
254 | static func issue(from source: AppleFMFeedbackIssue) -> LanguageModelFeedback.Issue {
| `- note: add '@available' attribute to enclosing static method
255 | let category: LanguageModelFeedback.Issue.Category = switch source.category {
256 | case .unhelpful: .unhelpful
:
263 | case .triggeredGuardrailUnexpectedly: .triggeredGuardrailUnexpectedly
264 | }
265 | return LanguageModelFeedback.Issue(category: category, explanation: source.explanation)
| |- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
266 | }
267 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:276:38: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
273 | /// including them would make every comparison fail, since the forward direction mints
274 | /// fresh identifiers.
275 | static func transcript(from source: Transcript) -> FMTranscript {
| `- note: add '@available' attribute to enclosing static method
276 | FMTranscript(entries: source.map(entry(from:)))
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
277 | }
278 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:280:9: warning: switch must be exhaustive
278 |
279 | private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
280 | switch source {
| |- warning: switch must be exhaustive
| `- note: add missing case: '.reasoning(_)'
281 | case .instructions(let instructions):
282 | .instructions(
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMFeedback.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AppleFMFeedback.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMOptions.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AppleFMOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMSessionStore.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AppleFMSessionStore.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFoundationProvider.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AppleFoundationProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AvailabilityChecker.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AvailabilityChecker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMBridge.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMErrorKind.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMErrorKind.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMSchema.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMSchema.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMSessionRunning.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMSessionRunning.swift
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:291:30: error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
277 | }
278 |
279 | private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
| `- note: add '@available' attribute to enclosing static method
280 | switch source {
281 | case .instructions(let instructions):
:
289 | .response(segments: response.segments.map(segment(from:)))
290 | case .toolCalls(let calls):
291 | .toolCalls(calls.map {
| |- error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
292 | FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
293 | })
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:292:90: error: 'jsonString' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
277 | }
278 |
279 | private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
| `- note: add '@available' attribute to enclosing static method
280 | switch source {
281 | case .instructions(let instructions):
:
290 | case .toolCalls(let calls):
291 | .toolCalls(calls.map {
292 | FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
293 | })
294 | case .toolOutput(let output):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:312:44: error: value of type 'Transcript.StructuredSegment' has no member 'source'
310 | .text(text.content)
311 | case .structure(let structured):
312 | .structured(source: structured.source, json: structured.content.jsonString)
| `- error: value of type 'Transcript.StructuredSegment' has no member 'source'
313 | @unknown default:
314 | .text("\u{0}unknown-segment-\(UUID().uuidString)")
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:326:42: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
13 | /// is also the part with nothing to get wrong.
14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
15 | enum FMBridge {
| `- note: add '@available' attribute to enclosing enum
16 | /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
17 | /// always the live value rather than a hardcoded 4096.
:
321 | /// it is never awaited here — the refusal's context description is used instead.
322 | /// `CancellationError` is returned as `nil` so callers rethrow it untouched.
323 | static func errorKind(for error: any Error) -> FMErrorKind? {
| `- note: add '@available' attribute to enclosing static method
324 | if error is CancellationError { return nil }
325 |
326 | if let toolCallError = error as? LanguageModelSession.ToolCallError {
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
327 | // Apple wraps whatever the executor threw, cancellation included. Unwrapped
328 | // first, or a tool that was cancelled would be reported as a bad request and
SwiftCompile normal arm64_32 Compiling\ OpenAIResponsesMapper.swift,\ CapabilityMatcher.swift,\ ConnectivityMonitor.swift,\ CostTracker.swift,\ DeviceAssessor.swift,\ LexicalSignals.swift,\ PIIDetector.swift,\ PrivacyGuard.swift,\ PrivacyReport.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIResponsesMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CapabilityMatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ConnectivityMonitor.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CostTracker.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/DeviceAssessor.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/LexicalSignals.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PIIDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyGuard.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyReport.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIResponsesMapper.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OpenAIResponsesMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CapabilityMatcher.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CapabilityMatcher.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ConnectivityMonitor.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ConnectivityMonitor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CostTracker.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CostTracker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/DeviceAssessor.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile DeviceAssessor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/LexicalSignals.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile LexicalSignals.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PIIDetector.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PIIDetector.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyGuard.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PrivacyGuard.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyReport.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PrivacyReport.swift
SwiftCompile normal arm64_32 Compiling\ SecureKeyStorage.swift,\ SpendingGuard.swift,\ ConversationSession.swift,\ ArbiterChatView.swift,\ ArbiterLifecycleModifier.swift,\ ProviderPicker.swift,\ RoutingDebugView.swift,\ UsageDashboard.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SecureKeyStorage.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SpendingGuard.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Session/ConversationSession.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterChatView.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterLifecycleModifier.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ProviderPicker.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/RoutingDebugView.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/UsageDashboard.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SecureKeyStorage.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SecureKeyStorage.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SpendingGuard.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SpendingGuard.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Session/ConversationSession.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ConversationSession.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterChatView.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ArbiterChatView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterLifecycleModifier.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ArbiterLifecycleModifier.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ProviderPicker.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ProviderPicker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/RoutingDebugView.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RoutingDebugView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/UsageDashboard.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UsageDashboard.swift
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftUI-E6XJI4PF1Q2HPTXKL91GWARU6.pcm
SwiftCompile normal arm64_32 Compiling\ LoggingMiddleware.swift,\ RequestSanitiserMiddleware.swift,\ ProviderFactory.swift,\ AnthropicImageResolver.swift,\ AnthropicMapper.swift,\ AnthropicModels.swift,\ AnthropicOptions.swift,\ AnthropicProvider.swift,\ AppleFMAvailability.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/LoggingMiddleware.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/RequestSanitiserMiddleware.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/ProviderFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicImageResolver.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicModels.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMAvailability.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/LoggingMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile LoggingMiddleware.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/RequestSanitiserMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RequestSanitiserMiddleware.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/ProviderFactory.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ProviderFactory.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicImageResolver.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AnthropicImageResolver.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicMapper.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AnthropicMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicModels.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AnthropicModels.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicOptions.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AnthropicOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicProvider.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AnthropicProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMAvailability.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AppleFMAvailability.swift
SwiftCompile normal arm64_32 Compiling\ MLXModelRegistry.swift,\ MLXProvider.swift,\ OllamaMapper.swift,\ OllamaOptions.swift,\ OllamaProvider.swift,\ OpenAIMapper.swift,\ OpenAIModels.swift,\ OpenAIOptions.swift,\ OpenAIProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXModelRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIModels.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIProvider.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXModelRegistry.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MLXModelRegistry.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXProvider.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MLXProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaMapper.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OllamaMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaOptions.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OllamaOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaProvider.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OllamaProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIMapper.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OpenAIMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIModels.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OpenAIModels.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIOptions.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OpenAIOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIProvider.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OpenAIProvider.swift
SwiftCompile normal arm64_32 Compiling\ FMToolAdapter.swift,\ FMTranscript.swift,\ FMTranscriptBuilder.swift,\ LiveFMSession.swift,\ GeminiMapper.swift,\ GeminiModels.swift,\ GeminiOptions.swift,\ GeminiProvider.swift,\ MLXChatText.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscript.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscriptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiModels.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXChatText.swift (in target 'Arbiter' from project 'Arbiter')
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:19:27: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
| `- note: add '@available' attribute to enclosing struct
19 | typealias Arguments = GeneratedContent
| | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing type alias
20 | typealias Output = String
21 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:24:21: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
| `- note: add '@available' attribute to enclosing struct
19 | typealias Arguments = GeneratedContent
20 | typealias Output = String
:
22 | let name: String
23 | let description: String
24 | let parameters: GenerationSchema
| `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
25 |
26 | private let execute: @Sendable (JSONValue) async throws -> String
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:43:26: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
| `- note: add '@available' attribute to enclosing struct
19 | typealias Arguments = GeneratedContent
20 | typealias Output = String
:
41 | /// keeps generating from. A throw here reaches Arbiter as `ToolCallError`, which maps to
42 | /// `ArbiterError.invalidRequest` naming the tool.
43 | func call(arguments: GeneratedContent) async throws -> String {
| | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
44 | try await execute(Self.jsonValue(from: arguments))
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:52:49: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
| `- note: add '@available' attribute to enclosing struct
19 | typealias Arguments = GeneratedContent
20 | typealias Output = String
:
50 | /// bridging gap, and handing the executor an empty argument set lets it report the
51 | /// problem in terms its caller understands.
52 | private static func jsonValue(from content: GeneratedContent) -> JSONValue {
| | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
53 | guard let data = content.jsonString.data(using: .utf8),
54 | let value = try? JSONDecoder().decode(JSONValue.self, from: data)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:65:67: error: 'Tool' is only available in watchOS 27.0 or newer
61 |
62 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
63 | extension FMBoundTool {
| `- note: add '@available' attribute to enclosing extension
64 | /// Builds the tool list a session is constructed with.
65 | static func tools(for options: AppleFMOptions) throws -> [any Tool] {
| | `- error: 'Tool' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
66 | try options.tools.map { try FMBoundTool(binding: $0) }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:53:34: error: 'jsonString' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
| `- note: add '@available' attribute to enclosing struct
19 | typealias Arguments = GeneratedContent
20 | typealias Output = String
:
50 | /// bridging gap, and handing the executor an empty argument set lets it report the
51 | /// problem in terms its caller understands.
52 | private static func jsonValue(from content: GeneratedContent) -> JSONValue {
| `- note: add '@available' attribute to enclosing static method
53 | guard let data = content.jsonString.data(using: .utf8),
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
54 | let value = try? JSONDecoder().decode(JSONValue.self, from: data)
55 | else {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:22:26: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
21 | // `SystemLanguageModel`, which is `Sendable`. This type adds no mutable state of its own.
22 | private let session: LanguageModelSession
| `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
23 | /// Kept because `tokenCount(for:)` is declared on the *model*, not the session, and
24 | /// token accounting needs the same model this session was built against — a session
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:26:24: error: 'SystemLanguageModel' is unavailable in watchOS
24 | /// token accounting needs the same model this session was built against — a session
25 | /// running a custom adapter does not tokenise like the stock one.
26 | private let model: SystemLanguageModel
| `- error: 'SystemLanguageModel' is unavailable in watchOS
27 |
28 | init(transcript: FMTranscript, options: AppleFMOptions) throws {
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:205:37: error: 'Transcript' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
203 |
204 | @available(iOS 26.4, macOS 26.4, visionOS 26.4, *)
205 | private func count(of entries: [Transcript.Entry]) async throws -> Int {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
206 | // Short-circuited rather than asked: `tokenCount(for:)` charges 1 token for an
207 | // empty collection, which is framing, not content.
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:212:61: error: 'Transcript' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
210 |
211 | /// Reads the tool calls out of the entries a turn appended.
212 | private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
213 | entries.flatMap { entry -> [FMToolCall] in
214 | guard case .toolCalls(let calls) = entry else { return [] }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:212:61: error: 'Transcript' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
210 |
211 | /// Reads the tool calls out of the entries a turn appended.
212 | private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
213 | entries.flatMap { entry -> [FMToolCall] in
214 | guard case .toolCalls(let calls) = entry else { return [] }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:238:27: error: 'Generable' is only available in watchOS 27.0 or newer
235 | /// session cache and error mapping still apply, and a test double simply does not conform.
236 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
237 | protocol FMGenerableRunning: FMSessionRunning {
| `- note: add '@available' attribute to enclosing protocol
238 | func respond<Content: Generable>(
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
239 | to prompt: String,
240 | generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:248:26: error: 'Generable' is only available in watchOS 27.0 or newer
235 | /// session cache and error mapping still apply, and a test double simply does not conform.
236 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
237 | protocol FMGenerableRunning: FMSessionRunning {
| `- note: add '@available' attribute to enclosing protocol
238 | func respond<Content: Generable>(
239 | to prompt: String,
:
246 | /// partial value out through an `AsyncThrowingStream` needs the conformance spelled
247 | /// out. The `@Generable` macro provides it; a hand-rolled conformance may not.
248 | func stream<Content: Generable>(
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
249 | to prompt: String,
250 | generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:258:27: error: 'Generable' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
| `- note: add '@available' attribute to enclosing extension
258 | func respond<Content: Generable>(
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
259 | to prompt: String,
260 | generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:275:26: error: 'Generable' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
| `- note: add '@available' attribute to enclosing extension
258 | func respond<Content: Generable>(
259 | to prompt: String,
:
273 | }
274 |
275 | func stream<Content: Generable>(
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
276 | to prompt: String,
277 | generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:32:19: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
26 | private let model: SystemLanguageModel
27 |
28 | init(transcript: FMTranscript, options: AppleFMOptions) throws {
| `- note: add '@available' attribute to enclosing initializer
29 | let model = try FMBridge.model(for: options)
30 | self.model = model
31 | let tools = try FMBoundTool.tools(for: options)
32 | session = LanguageModelSession(
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
33 | model: model,
34 | tools: tools,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:32:19: error: 'init(model:tools:transcript:)' is unavailable in watchOS
30 | self.model = model
31 | let tools = try FMBoundTool.tools(for: options)
32 | session = LanguageModelSession(
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
33 | model: model,
34 | tools: tools,
FoundationModels.LanguageModelSession.init:2:20: note: 'init(model:tools:transcript:)' has been explicitly marked unavailable here
1 | class LanguageModelSession {
2 | public convenience init(model: SystemLanguageModel = .default, tools: [any Tool] = [], transcript: Transcript)}
| `- note: 'init(model:tools:transcript:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:41:63: error: 'Prompt' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
26 | private let model: SystemLanguageModel
27 |
28 | init(transcript: FMTranscript, options: AppleFMOptions) throws {
| `- note: add '@available' attribute to enclosing initializer
29 | let model = try FMBridge.model(for: options)
30 | self.model = model
:
39 |
40 | if options.prewarm {
41 | let prefix = options.promptPrefixForPrewarm.map { Prompt($0) }
| |- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
42 | session.prewarm(promptPrefix: prefix)
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:41:63: error: 'init(_:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
26 | private let model: SystemLanguageModel
27 |
28 | init(transcript: FMTranscript, options: AppleFMOptions) throws {
| `- note: add '@available' attribute to enclosing initializer
29 | let model = try FMBridge.model(for: options)
30 | self.model = model
:
39 |
40 | if options.prewarm {
41 | let prefix = options.promptPrefixForPrewarm.map { Prompt($0) }
| |- error: 'init(_:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
42 | session.prewarm(promptPrefix: prefix)
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:42:21: error: 'prewarm(promptPrefix:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
26 | private let model: SystemLanguageModel
27 |
28 | init(transcript: FMTranscript, options: AppleFMOptions) throws {
| `- note: add '@available' attribute to enclosing initializer
29 | let model = try FMBridge.model(for: options)
30 | self.model = model
:
40 | if options.prewarm {
41 | let prefix = options.promptPrefixForPrewarm.map { Prompt($0) }
42 | session.prewarm(promptPrefix: prefix)
| |- error: 'prewarm(promptPrefix:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:46:38: error: 'isResponding' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
44 | }
45 |
46 | var isResponding: Bool { session.isResponding }
| | |- error: 'isResponding' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| `- note: add '@available' attribute to enclosing property
47 |
48 | var transcriptFingerprint: String {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:57:43: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
55 | // Everything this turn adds — the prompt entry the framework appends, any tool
56 | // round trips, the answer — lives past this mark.
57 | let mark = session.transcript.count
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
58 | guard let tree = settings.schema else {
59 | let response = try await session.respond(to: prompt, options: options)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:59:50: error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
:
57 | let mark = session.transcript.count
58 | guard let tree = settings.schema else {
59 | let response = try await session.respond(to: prompt, options: options)
| |- error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
60 | return FMRunResult(
61 | text: response.content,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:59:21: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
:
57 | let mark = session.transcript.count
58 | guard let tree = settings.schema else {
59 | let response = try await session.respond(to: prompt, options: options)
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
60 | return FMRunResult(
61 | text: response.content,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:61:36: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
:
59 | let response = try await session.respond(to: prompt, options: options)
60 | return FMRunResult(
61 | text: response.content,
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
62 | toolCalls: Self.toolCalls(in: response.transcriptEntries),
63 | usage: await usage(after: mark, settings: settings)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:62:60: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
:
60 | return FMRunResult(
61 | text: response.content,
62 | toolCalls: Self.toolCalls(in: response.transcriptEntries),
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
63 | usage: await usage(after: mark, settings: settings)
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:71:46: error: 'respond(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
:
69 | // which is the caller's minus the keywords Apple cannot express — see
70 | // `FMSchemaConverter` for exactly what is dropped.
71 | let response = try await session.respond(
| |- error: 'respond(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
72 | to: prompt,
73 | schema: try FMBridge.generationSchema(from: tree),
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:78:40: error: 'jsonString' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
50 | }
51 |
52 | func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
| `- note: add '@available' attribute to enclosing instance method
53 | do {
54 | let options = FMBridge.generationOptions(from: settings)
:
76 | )
77 | return FMRunResult(
78 | text: response.content.jsonString,
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
79 | toolCalls: Self.toolCalls(in: response.transcriptEntries),
80 | usage: await usage(after: mark, settings: settings)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:96:51: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
94 | // Everything the session appends during this turn — including the tool
95 | // calls it makes on the way — lives past this mark.
96 | let mark = session.transcript.count
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
97 | let options = FMBridge.generationOptions(from: settings)
98 | var latest = ""
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:102:59: error: 'streamResponse(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
100 | if let tree = settings.schema {
101 | let schema = try FMBridge.generationSchema(from: tree)
102 | for try await snapshot in session.streamResponse(
| |- error: 'streamResponse(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
103 | to: prompt,
104 | schema: schema,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:111:55: error: 'jsonString' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
109 | // A partial structure serialises as partial JSON, which is what a
110 | // caller streaming a structured answer expects to accumulate.
111 | latest = snapshot.content.jsonString
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
112 | continuation.yield(FMStreamSnapshot(content: latest))
113 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:115:59: error: 'streamResponse(to:options:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
113 | }
114 | } else {
115 | for try await snapshot in session.streamResponse(to: prompt, options: options) {
| |- error: 'streamResponse(to:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
116 | try Task.checkCancellation()
117 | latest = snapshot.content
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:117:47: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
115 | for try await snapshot in session.streamResponse(to: prompt, options: options) {
116 | try Task.checkCancellation()
117 | latest = snapshot.content
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
118 | continuation.yield(FMStreamSnapshot(content: latest))
119 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:126:38: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
124 | // cost. Yielded as one final snapshot with unchanged content, so it adds
125 | // a record without adding text.
126 | let calls = Self.toolCalls(in: session.transcript.dropFirst(mark))
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
127 | let measured = await usage(after: mark, settings: settings)
128 | if !calls.isEmpty || measured != nil {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:126:71: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
124 | // cost. Yielded as one final snapshot with unchanged content, so it adds
125 | // a record without adding text.
126 | let calls = Self.toolCalls(in: session.transcript.dropFirst(mark))
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
127 | let measured = await usage(after: mark, settings: settings)
128 | if !calls.isEmpty || measured != nil {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:102:25: error: for-in loop requires 'LanguageModelSession.ResponseStream<GeneratedContent>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
100 | if let tree = settings.schema {
101 | let schema = try FMBridge.generationSchema(from: tree)
102 | for try await snapshot in session.streamResponse(
| |- error: for-in loop requires 'LanguageModelSession.ResponseStream<GeneratedContent>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
103 | to: prompt,
104 | schema: schema,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:115:25: error: for-in loop requires 'LanguageModelSession.ResponseStream<String>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
85 | }
86 |
87 | func stream(
| `- note: add '@available' attribute to enclosing instance method
88 | to prompt: String,
89 | settings: FMGenerationSettings
:
113 | }
114 | } else {
115 | for try await snapshot in session.streamResponse(to: prompt, options: options) {
| |- error: for-in loop requires 'LanguageModelSession.ResponseStream<String>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
116 | try Task.checkCancellation()
117 | latest = snapshot.content
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:146:17: error: 'logFeedbackAttachment(sentiment:issues:desiredOutput:)' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
140 | }
141 |
142 | func feedbackAttachment(
| `- note: add '@available' attribute to enclosing instance method
143 | sentiment: AppleFMFeedbackSentiment?,
144 | issues: [AppleFMFeedbackIssue]
145 | ) -> Data {
146 | session.logFeedbackAttachment(
| |- error: 'logFeedbackAttachment(sentiment:issues:desiredOutput:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
147 | sentiment: sentiment.map(FMBridge.sentiment(from:)),
148 | issues: issues.map(FMBridge.issue(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:184:19: error: 'Transcript' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
182 | }
183 |
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
185 | var generated: [Transcript.Entry] = []
186 | for entry in session.transcript.dropFirst(mark) {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:184:39: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
182 | }
183 |
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
185 | var generated: [Transcript.Entry] = []
186 | for entry in session.transcript.dropFirst(mark) {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:184:64: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
182 | }
183 |
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
185 | var generated: [Transcript.Entry] = []
186 | for entry in session.transcript.dropFirst(mark) {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:185:25: error: 'Transcript' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
183 |
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 | var generated: [Transcript.Entry] = []
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
186 | for entry in session.transcript.dropFirst(mark) {
187 | switch entry {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:186:41: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 | var generated: [Transcript.Entry] = []
186 | for entry in session.transcript.dropFirst(mark) {
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
187 | switch entry {
188 | case .response, .toolCalls: generated.append(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:186:9: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 | var generated: [Transcript.Entry] = []
186 | for entry in session.transcript.dropFirst(mark) {
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
187 | switch entry {
188 | case .response, .toolCalls: generated.append(entry)
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMToolAdapter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscript.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMTranscript.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscriptBuilder.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FMTranscriptBuilder.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile LiveFMSession.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiMapper.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiModels.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiModels.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiOptions.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiProvider.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GeminiProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXChatText.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MLXChatText.swift
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:186:9: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
174 | /// Never throws: usage is reporting, and losing a completed answer because counting it
175 | /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 | private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
| `- note: add '@available' attribute to enclosing instance method
177 | guard settings.reportTokenUsage else { return nil }
178 | guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
:
184 | var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 | var generated: [Transcript.Entry] = []
186 | for entry in session.transcript.dropFirst(mark) {
| |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
187 | switch entry {
188 | case .response, .toolCalls: generated.append(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:208:47: error: 'tokenCount(for:)' is unavailable in watchOS
206 | // Short-circuited rather than asked: `tokenCount(for:)` charges 1 token for an
207 | // empty collection, which is framing, not content.
208 | entries.isEmpty ? 0 : try await model.tokenCount(for: entries)
| `- error: 'tokenCount(for:)' is unavailable in watchOS
209 | }
210 |
FoundationModels.SystemLanguageModel.tokenCount:5:45: note: 'tokenCount(for:)' has been explicitly marked unavailable here
3 | @available(tvOS, unavailable)
4 | @available(watchOS, unavailable)
5 | nonisolated(nonsending) final public func tokenCount(for transcriptEntries: some Collection<Transcript.Entry>) async throws -> Int}
| `- note: 'tokenCount(for:)' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:215:26: error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
210 |
211 | /// Reads the tool calls out of the entries a turn appended.
212 | private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
| `- note: add '@available' attribute to enclosing static method
213 | entries.flatMap { entry -> [FMToolCall] in
214 | guard case .toolCalls(let calls) = entry else { return [] }
215 | return calls.map {
| |- error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
216 | FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:216:90: error: 'jsonString' is only available in watchOS 27.0 or newer
16 | /// stays testable with a double.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
19 | // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
20 | // `@unchecked Sendable` itself and which serialises its own generation state, and
:
210 |
211 | /// Reads the tool calls out of the entries a turn appended.
212 | private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
| `- note: add '@available' attribute to enclosing static method
213 | entries.flatMap { entry -> [FMToolCall] in
214 | guard case .toolCalls(let calls) = entry else { return [] }
215 | return calls.map {
216 | FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
217 | }
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:264:38: error: 'respond(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
| `- note: add '@available' attribute to enclosing extension
258 | func respond<Content: Generable>(
| `- note: add '@available' attribute to enclosing instance method
259 | to prompt: String,
260 | generating type: Content.Type,
:
262 | ) async throws -> Content {
263 | do {
264 | return try await session.respond(
| |- error: 'respond(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
265 | to: prompt,
266 | generating: type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:284:55: error: 'streamResponse(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
| `- note: add '@available' attribute to enclosing extension
258 | func respond<Content: Generable>(
259 | to prompt: String,
:
273 | }
274 |
275 | func stream<Content: Generable>(
| `- note: add '@available' attribute to enclosing instance method
276 | to prompt: String,
277 | generating type: Content.Type,
:
282 | let task = Task {
283 | do {
284 | for try await snapshot in session.streamResponse(
| |- error: 'streamResponse(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
285 | to: prompt,
286 | generating: type,
SwiftCompile normal arm64_32 Compiling\ ProviderHealthMonitor.swift,\ ProviderPerformanceTracker.swift,\ RequestAnalyser.swift,\ RoutingDecision.swift,\ RoutingPolicy.swift,\ SmartRouter.swift,\ ArbiterRun.swift,\ ArbiterTool.swift,\ ExecutionPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderHealthMonitor.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderPerformanceTracker.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RequestAnalyser.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingDecision.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/SmartRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterRun.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterTool.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ExecutionPolicy.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderHealthMonitor.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ProviderHealthMonitor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderPerformanceTracker.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ProviderPerformanceTracker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RequestAnalyser.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RequestAnalyser.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingDecision.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RoutingDecision.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingPolicy.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RoutingPolicy.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/SmartRouter.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SmartRouter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterRun.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ArbiterRun.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterTool.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ArbiterTool.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ExecutionPolicy.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ExecutionPolicy.swift
SwiftCompile normal arm64_32 Compiling\ FallbackChain.swift,\ LifecycleManager.swift,\ ResponseCache.swift,\ ResponseValidator.swift,\ RetryEngine.swift,\ ToolApproval.swift,\ ToolLoop.swift,\ UsageAnalytics.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/FallbackChain.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/LifecycleManager.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseCache.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseValidator.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/RetryEngine.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolApproval.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolLoop.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/UsageAnalytics.swift (in target 'Arbiter' from project 'Arbiter')
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/LifecycleManager.swift:65:19: error: 'UIApplication' is unavailable in watchOS
63 | self,
64 | selector: #selector(onMemoryWarning),
65 | name: UIApplication.didReceiveMemoryWarningNotification,
| `- error: 'UIApplication' is unavailable in watchOS
66 | object: nil
67 | )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
83 |
84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
85 | @interface UIApplication : UIResponder
| `- note: 'UIApplication' has been explicitly marked unavailable here
86 |
87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/FallbackChain.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FallbackChain.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/LifecycleManager.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile LifecycleManager.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseCache.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ResponseCache.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseValidator.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ResponseValidator.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/RetryEngine.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RetryEngine.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolApproval.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ToolApproval.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolLoop.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ToolLoop.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/UsageAnalytics.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UsageAnalytics.swift
SwiftCompile normal arm64_32 Compiling\ JSONValue.swift,\ Message.swift,\ ProviderCapabilities.swift,\ ProviderID.swift,\ RequestTag.swift,\ SchemaProbe.swift,\ StructuredOutput.swift,\ TokenBudgetPlanner.swift,\ AIMiddleware.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/JSONValue.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/Message.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderCapabilities.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderID.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/RequestTag.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/SchemaProbe.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/StructuredOutput.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/TokenBudgetPlanner.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/AIMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/JSONValue.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile JSONValue.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/Message.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Message.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderCapabilities.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ProviderCapabilities.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderID.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ProviderID.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/RequestTag.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RequestTag.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/SchemaProbe.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SchemaProbe.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/StructuredOutput.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StructuredOutput.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/TokenBudgetPlanner.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TokenBudgetPlanner.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/AIMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AIMiddleware.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ Arbiter (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64 (in target 'Arbiter' from project 'Arbiter')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-27 16:03:31.210 xcodebuild[1629:9018] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64_32 (in target 'Arbiter' from project 'Arbiter')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ Arbiter (in target 'Arbiter' from project 'Arbiter')
Building workspace Arbiter with scheme Arbiter
(3 failures)
BUILD FAILURE 6.4 watchOS