Build Information
Failed to build TranscriptDebugMenu, reference 2.0.0 (a450ed), with Swift 6.4 for watchOS using Xcode 27.0 on 26 Sep 2026 19:57:46 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 TranscriptDebugMenu -destination generic/platform=watchOSBuild Log
9 | struct TranscriptSection: View {
| `- note: add '@available' attribute to enclosing struct
10 | let transcript: Transcript
11 | var onSelect: (Transcript.Entry) -> Void = { _ in }
12 | var onCopy: (Transcript.Entry) -> Void = { _ in }
13 |
14 | var body: some View {
| `- note: add '@available' attribute to enclosing property
15 | Section("Transcript") {
| |- error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
16 | ForEach(transcript) { entry in
17 | TranscriptEntryRow(entry: entry)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:16:13: error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
7 |
8 | /// Lists transcript entries with accent colors, selection, and copy actions.
9 | struct TranscriptSection: View {
| `- note: add '@available' attribute to enclosing struct
10 | let transcript: Transcript
11 | var onSelect: (Transcript.Entry) -> Void = { _ in }
12 | var onCopy: (Transcript.Entry) -> Void = { _ in }
13 |
14 | var body: some View {
| `- note: add '@available' attribute to enclosing property
15 | Section("Transcript") {
16 | ForEach(transcript) { entry in
| |- error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
17 | TranscriptEntryRow(entry: entry)
18 | .contentShape(Rectangle())
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:16:13: error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
7 |
8 | /// Lists transcript entries with accent colors, selection, and copy actions.
9 | struct TranscriptSection: View {
| `- note: add '@available' attribute to enclosing struct
10 | let transcript: Transcript
11 | var onSelect: (Transcript.Entry) -> Void = { _ in }
12 | var onCopy: (Transcript.Entry) -> Void = { _ in }
13 |
14 | var body: some View {
| `- note: add '@available' attribute to enclosing property
15 | Section("Transcript") {
16 | ForEach(transcript) { entry in
| |- error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
17 | TranscriptEntryRow(entry: entry)
18 | .contentShape(Rectangle())
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:22:22: warning: 'contextMenu(menuItems:)' was deprecated in watchOS 7.0 [#DeprecatedDeclaration]
20 | onSelect(entry)
21 | }
22 | .contextMenu {
| `- warning: 'contextMenu(menuItems:)' was deprecated in watchOS 7.0 [#DeprecatedDeclaration]
23 | Button("Copy") {
24 | onCopy(entry)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:14:25: error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
7 |
8 | /// Lists transcript entries with accent colors, selection, and copy actions.
9 | struct TranscriptSection: View {
| `- note: add '@available' attribute to enclosing struct
10 | let transcript: Transcript
11 | var onSelect: (Transcript.Entry) -> Void = { _ in }
12 | var onCopy: (Transcript.Entry) -> Void = { _ in }
13 |
14 | var body: some View {
| | |- error: conformance of 'Transcript' to 'RandomAccessCollection' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| `- note: add '@available' attribute to enclosing property
15 | Section("Transcript") {
16 | ForEach(transcript) { entry in
macro expansion #Preview:20:51: error: 'Transcript' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:64:2: note: expanded code originates here
58 | }
59 |
60 | #Preview("Single entry") {
| |- note: in expansion of macro 'Preview' here
| |- note: in expansion of macro 'Preview' here
| `- note: in expansion of macro 'Preview' here
61 | List {
62 | TranscriptSection(transcript: Transcript(entries: [.promptMock]))
63 | }
64 | }
+--- macro expansion #Preview ---------------------------------------
|11 | }
|12 |
|13 | @MainActor static func makePreview() throws -> DeveloperToolsSupport.Preview {
| | `- note: add '@available' attribute to enclosing static method
|14 | DeveloperToolsSupport.Preview("Single entry") {
|15 | func __b_buildView(@SwiftUI.ViewBuilder body: () -> any SwiftUI.View) -> any SwiftUI.View {
| :
|18 | return __b_buildView {
|19 | List {
|20 | TranscriptSection(transcript: Transcript(entries: [.promptMock]))
| | |- error: 'Transcript' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|21 | }
|22 | }
+--------------------------------------------------------------------
65 |
66 | #Preview("Empty") {
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TranscriptSection.swift
SwiftCompile normal arm64_32 Compiling\ DebugUtilities.swift,\ FeedbackView.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:16:42: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
13 | #endif
14 |
15 | enum DebugJSON {
| `- note: add '@available' attribute to enclosing enum
16 | static func prettyPrinted(_ content: GeneratedContent) -> String {
| | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
17 | prettyPrinted(jsonString: content.jsonString)
18 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:100:11: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
98 | }
99 |
100 | extension GenerationOptions.SamplingMode {
| | `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
101 | var debugDescription: String {
102 | guard #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) else {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:127:11: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
125 | }
126 |
127 | extension GenerationOptions {
| | `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
128 | var hasInspectableValues: Bool {
129 | if maximumResponseTokens != nil || temperature != nil || samplingMode != nil {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:17:43: error: 'jsonString' is only available in watchOS 27.0 or newer
13 | #endif
14 |
15 | enum DebugJSON {
| `- note: add '@available' attribute to enclosing enum
16 | static func prettyPrinted(_ content: GeneratedContent) -> String {
| `- note: add '@available' attribute to enclosing static method
17 | prettyPrinted(jsonString: content.jsonString)
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
18 | }
19 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:47:9: error: 'UIPasteboard' is unavailable in watchOS
45 | static func copy(_ string: String) {
46 | #if canImport(UIKit)
47 | UIPasteboard.general.string = string
| `- error: 'UIPasteboard' is unavailable in watchOS
48 | #elseif canImport(AppKit)
49 | NSPasteboard.general.clearContents()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:47:30: error: 'string' is unavailable in watchOS
45 | static func copy(_ string: String) {
46 | #if canImport(UIKit)
47 | UIPasteboard.general.string = string
| `- error: 'string' is unavailable in watchOS
48 | #elseif canImport(AppKit)
49 | NSPasteboard.general.clearContents()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:108:46: note: 'string' has been explicitly marked unavailable here
106 | - (void)setItems:(NSArray<NSDictionary<NSString *, id> *> *)items options:(NSDictionary<UIPasteboardOption, id> *)options API_AVAILABLE(ios(10.0));
107 |
108 | @property(nullable,nonatomic,copy) NSString *string API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
| `- note: 'string' has been explicitly marked unavailable here
109 | @property(nullable,nonatomic,copy) NSArray<NSString *> *strings API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos);
110 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:82:10: warning: 'contextMenu(menuItems:)' was deprecated in watchOS 7.0 [#DeprecatedDeclaration]
80 | }
81 | }
82 | .contextMenu {
| `- warning: 'contextMenu(menuItems:)' was deprecated in watchOS 7.0 [#DeprecatedDeclaration]
83 | Button("Copy", systemImage: "document.on.document") {
84 | DebugClipboard.copy(value)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:96:14: error: 'textSelection' is unavailable in watchOS
94 | Text(value)
95 | .foregroundStyle(.secondary)
96 | .textSelection(.enabled)
| `- error: 'textSelection' is unavailable in watchOS
97 | }
98 | }
SwiftUI.View.textSelection:2:25: note: 'textSelection' has been explicitly marked unavailable here
1 | protocol View {
2 | nonisolated public func textSelection<S>(_ selectability: S) -> some View where S : TextSelectability
| `- note: 'textSelection' has been explicitly marked unavailable here
3 | }
4 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:96:29: error: 'enabled' is unavailable in watchOS
94 | Text(value)
95 | .foregroundStyle(.secondary)
96 | .textSelection(.enabled)
| `- error: 'enabled' is unavailable in watchOS
97 | }
98 | }
SwiftUI.TextSelectability.enabled:2:43: note: 'enabled' has been explicitly marked unavailable here
1 | protocol TextSelectability {
2 | @export(implementation) public static var enabled: EnabledTextSelectability { get }}
| `- note: 'enabled' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:110:16: error: 'kind' is only available in watchOS 27.0 or newer
98 | }
99 |
100 | extension GenerationOptions.SamplingMode {
| `- note: add '@available' attribute to enclosing extension
101 | var debugDescription: String {
102 | guard #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) else {
:
107 |
108 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
109 | private var kindDescription: String {
| `- note: add '@available' attribute to enclosing property
110 | switch kind {
| |- error: 'kind' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
111 | case .greedy:
112 | "Greedy"
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:118:32: error: 'kind' is only available in watchOS 27.0 or newer
98 | }
99 |
100 | extension GenerationOptions.SamplingMode {
| `- note: add '@available' attribute to enclosing extension
101 | var debugDescription: String {
102 | guard #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) else {
:
107 |
108 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
109 | private var kindDescription: String {
| `- note: add '@available' attribute to enclosing property
110 | switch kind {
111 | case .greedy:
:
116 | "Random · top-k \(topK)\(seedDescription(seed))"
117 | @unknown default:
118 | String(describing: kind)
| |- error: 'kind' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:129:12: error: 'maximumResponseTokens' is only available in watchOS 27.0 or newer
125 | }
126 |
127 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
128 | var hasInspectableValues: Bool {
| `- note: add '@available' attribute to enclosing property
129 | if maximumResponseTokens != nil || temperature != nil || samplingMode != nil {
| |- error: 'maximumResponseTokens' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
130 | return true
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:129:44: error: 'temperature' is only available in watchOS 27.0 or newer
125 | }
126 |
127 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
128 | var hasInspectableValues: Bool {
| `- note: add '@available' attribute to enclosing property
129 | if maximumResponseTokens != nil || temperature != nil || samplingMode != nil {
| |- error: 'temperature' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
130 | return true
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:129:66: error: 'samplingMode' is only available in watchOS 27.0 or newer
125 | }
126 |
127 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
128 | var hasInspectableValues: Bool {
| `- note: add '@available' attribute to enclosing property
129 | if maximumResponseTokens != nil || temperature != nil || samplingMode != nil {
| |- error: 'samplingMode' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
130 | return true
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift:133:20: error: 'toolCallingMode' is only available in watchOS 27.0 or newer
125 | }
126 |
127 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
128 | var hasInspectableValues: Bool {
| `- note: add '@available' attribute to enclosing property
129 | if maximumResponseTokens != nil || temperature != nil || samplingMode != nil {
130 | return true
131 | }
132 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
133 | return toolCallingMode != nil
| |- error: 'toolCallingMode' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
134 | }
135 | return false
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:37:45: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
6 | import SwiftUI
7 |
8 | struct FeedbackDraft: Equatable {
| `- note: add '@available' attribute to enclosing struct
9 | enum SentimentSelection: String, CaseIterable, Identifiable {
10 | case unspecified
:
35 |
36 | var sentiment: SentimentSelection = .unspecified
37 | var issueDrafts: [FeedbackIssueDraft] = LanguageModelFeedback.Issue.Category.allCases.map {
| `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
38 | FeedbackIssueDraft(category: $0)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:26:20: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
7 |
8 | struct FeedbackDraft: Equatable {
9 | enum SentimentSelection: String, CaseIterable, Identifiable {
| `- note: add '@available' attribute to enclosing enum
10 | case unspecified
11 | case positive
:
24 | }
25 |
26 | var value: LanguageModelFeedback.Sentiment? {
| | `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing property
27 | switch self {
28 | case .unspecified: nil
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:42:18: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
6 | import SwiftUI
7 |
8 | struct FeedbackDraft: Equatable {
| `- note: add '@available' attribute to enclosing struct
9 | enum SentimentSelection: String, CaseIterable, Identifiable {
10 | case unspecified
:
40 | var desiredResponseText = ""
41 |
42 | var issues: [LanguageModelFeedback.Issue] {
| | `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing property
43 | issueDrafts.compactMap { draft in
44 | guard draft.isSelected else { return nil }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:60:19: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
57 | }
58 |
59 | struct FeedbackIssueDraft: Identifiable, Equatable {
| `- note: add '@available' attribute to enclosing struct
60 | let category: LanguageModelFeedback.Issue.Category
| `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
61 | var isSelected = false
62 | var explanation = ""
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:67:19: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
65 | }
66 |
67 | private extension LanguageModelFeedback.Issue.Category {
| | `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
68 | var title: String {
69 | switch self {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:290:39: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
288 | #Preview {
289 | @Previewable @State var isPresented = true
290 | @Previewable @State var session = LanguageModelSession(transcript: .mock)
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
291 |
292 | Button("Show Transcript Menu") {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:290:39: error: 'init(model:tools:transcript:)' is unavailable in watchOS
288 | #Preview {
289 | @Previewable @State var isPresented = true
290 | @Previewable @State var session = LanguageModelSession(transcript: .mock)
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
291 |
292 | Button("Show Transcript Menu") {
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:298:38: error: 'default' is unavailable in watchOS
296 | session,
297 | isPresented: $isPresented,
298 | configuration: .systemModel(.default)
| `- error: 'default' is unavailable in watchOS
299 | )
300 | }
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:304:18: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
302 | #Preview("Transcript") {
303 | TranscriptDebugMenu(
304 | session: LanguageModelSession(transcript: .mock),
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
305 | configuration: .init(contextMetricsProvider: .init { _ in
306 | .init(tokenCount: Mock.contextUsage.tokenCount, contextSize: Mock.contextUsage.contextSize)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:304:18: error: 'init(model:tools:transcript:)' is unavailable in watchOS
302 | #Preview("Transcript") {
303 | TranscriptDebugMenu(
304 | session: LanguageModelSession(transcript: .mock),
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
305 | configuration: .init(contextMetricsProvider: .init { _ in
306 | .init(tokenCount: Mock.contextUsage.tokenCount, contextSize: Mock.contextUsage.contextSize)
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:312:34: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
310 |
311 | #Preview("Empty Transcript") {
312 | TranscriptDebugMenu(session: LanguageModelSession(transcript: Transcript()))
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
313 | }
314 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:312:34: error: 'init(model:tools:transcript:)' is unavailable in watchOS
310 |
311 | #Preview("Empty Transcript") {
312 | TranscriptDebugMenu(session: LanguageModelSession(transcript: Transcript()))
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
313 | }
314 |
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:312:67: error: 'Transcript' is only available in watchOS 27.0 or newer
310 |
311 | #Preview("Empty Transcript") {
312 | TranscriptDebugMenu(session: LanguageModelSession(transcript: Transcript()))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
313 | }
314 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:62:39: error: 'Transcript' is only available in watchOS 27.0 or newer
60 | #Preview("Single entry") {
61 | List {
62 | TranscriptSection(transcript: Transcript(entries: [.promptMock]))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:68:39: error: 'Transcript' is only available in watchOS 27.0 or newer
66 | #Preview("Empty") {
67 | List {
68 | TranscriptSection(transcript: Transcript())
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
69 | }
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:113:23: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
| | `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
114 | input: .init(totalTokenCount: 150, cachedTokenCount: 50),
115 | output: .init(totalTokenCount: 80, reasoningTokenCount: 20),
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:116:32: error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
| `- note: add '@available' attribute to enclosing static property
114 | input: .init(totalTokenCount: 150, cachedTokenCount: 50),
115 | output: .init(totalTokenCount: 80, reasoningTokenCount: 20),
116 | metadata: ["provider": "on-device"]
| `- error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
117 | )
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:46:20: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
6 | import SwiftUI
7 |
8 | struct FeedbackDraft: Equatable {
| `- note: add '@available' attribute to enclosing struct
9 | enum SentimentSelection: String, CaseIterable, Identifiable {
10 | case unspecified
:
40 | var desiredResponseText = ""
41 |
42 | var issues: [LanguageModelFeedback.Issue] {
| `- note: add '@available' attribute to enclosing property
43 | issueDrafts.compactMap { draft in
44 | guard draft.isSelected else { return nil }
45 | let explanation = draft.explanation.trimmingCharacters(in: .whitespacesAndNewlines)
46 | return LanguageModelFeedback.Issue(
| |- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
47 | category: draft.category,
48 | explanation: explanation.isEmpty ? nil : explanation
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/DebugUtilities.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile DebugUtilities.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FeedbackView.swift
SwiftCompile normal arm64_32 Compiling\ Mocks.swift,\ SearchScope.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:10:22: error: 'Transcript' is only available in watchOS 27.0 or newer
7 | import CoreGraphics
8 |
9 | extension Transcript {
| `- note: add '@available' attribute to enclosing extension
10 | static let mock: Transcript = .init(entries: [
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
11 | .instructionsMock,
12 | .promptMock,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:9:11: error: 'Transcript' is only available in watchOS 27.0 or newer
7 | import CoreGraphics
8 |
9 | extension Transcript {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
10 | static let mock: Transcript = .init(entries: [
11 | .instructionsMock,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:20:30: error: 'init(samplingMode:temperature:maximumResponseTokens:)' is only available in watchOS 27.0 or newer
17 | }
18 |
19 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
20 | static let mock: Self = .init(samplingMode: .random(probabilityThreshold: 1), temperature: 1, maximumResponseTokens: 30)
| | `- error: 'init(samplingMode:temperature:maximumResponseTokens:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
21 |
22 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:20:50: error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
17 | }
18 |
19 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
20 | static let mock: Self = .init(samplingMode: .random(probabilityThreshold: 1), temperature: 1, maximumResponseTokens: 30)
| | `- error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
21 |
22 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:23:34: error: 'init(samplingMode:temperature:maximumResponseTokens:toolCallingMode:)' is only available in watchOS 27.0 or newer
17 | }
18 |
19 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
20 | static let mock: Self = .init(samplingMode: .random(probabilityThreshold: 1), temperature: 1, maximumResponseTokens: 30)
21 |
22 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
23 | static let mockFull: Self = .init(
| | `- error: 'init(samplingMode:temperature:maximumResponseTokens:toolCallingMode:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
24 | samplingMode: .random(probabilityThreshold: 1),
25 | temperature: 1,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:24:24: error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
17 | }
18 |
19 | extension GenerationOptions {
| `- note: add '@available' attribute to enclosing extension
20 | static let mock: Self = .init(samplingMode: .random(probabilityThreshold: 1), temperature: 1, maximumResponseTokens: 30)
21 |
22 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
23 | static let mockFull: Self = .init(
| `- note: add '@available' attribute to enclosing static property
24 | samplingMode: .random(probabilityThreshold: 1),
| `- error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
25 | temperature: 1,
26 | maximumResponseTokens: 30,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:19:11: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
17 | }
18 |
19 | extension GenerationOptions {
| | `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
20 | static let mock: Self = .init(samplingMode: .random(probabilityThreshold: 1), temperature: 1, maximumResponseTokens: 30)
21 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:129:6: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
123 | }
124 |
125 | final class MoodTool: Tool {
| `- note: add '@available' attribute to enclosing class
126 | let name = "generateMood"
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
130 | struct Arguments {}
131 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:32:109: error: 'init(tool:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
| | `- error: 'init(tool:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
33 |
34 | static let promptMock: Self = .prompt(.init(segments: Mock.prompt,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:34:44: error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
34 | static let promptMock: Self = .prompt(.init(segments: Mock.prompt,
| | `- error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
35 | options: .mock))
36 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:137:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
135 | }
136 |
137 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
138 | struct Haiku {
139 | let text: String
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:38:48: error: 'init(id:metadata:segments:options:responseFormat:contextOptions:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
36 |
37 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
38 | static let promptMockFull: Self = .prompt(.init(
| | `- error: 'init(id:metadata:segments:options:responseFormat:contextOptions:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
39 | metadata: ["session_id": "abc123", "version": "2"],
40 | segments: Mock.prompt,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:39:34: error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
36 |
37 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
38 | static let promptMockFull: Self = .prompt(.init(
| `- note: add '@available' attribute to enclosing static property
39 | metadata: ["session_id": "abc123", "version": "2"],
| `- error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
40 | segments: Mock.prompt,
41 | options: .mockFull,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:39:55: error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
36 |
37 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
38 | static let promptMockFull: Self = .prompt(.init(
| `- note: add '@available' attribute to enclosing static property
39 | metadata: ["session_id": "abc123", "version": "2"],
| `- error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
40 | segments: Mock.prompt,
41 | options: .mockFull,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:42:26: error: 'init(type:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
36 |
37 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
38 | static let promptMockFull: Self = .prompt(.init(
| `- note: add '@available' attribute to enclosing static property
39 | metadata: ["session_id": "abc123", "version": "2"],
40 | segments: Mock.prompt,
41 | options: .mockFull,
42 | responseFormat: .init(type: Haiku.self),
| `- error: 'init(type:)' is only available in watchOS 27.0 or newer
43 | contextOptions: .init(includeSchemaInPrompt: true, reasoningLevel: .moderate)
44 | ))
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:47:58: error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
45 |
46 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
47 | static let promptMockWithAttachment: Self = .prompt(.init(segments: Mock.attachmentSegments))
| | `- error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
48 |
49 | static let toolCallsMock: Self = {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:50:20: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
47 | static let promptMockWithAttachment: Self = .prompt(.init(segments: Mock.attachmentSegments))
48 |
49 | static let toolCallsMock: Self = {
| `- note: add '@available' attribute to enclosing static property
50 | let call = Transcript.ToolCall(id: "id", toolName: MoodTool().name, arguments: MoodTool.Arguments().generatedContent)
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
51 | return .toolCalls(Transcript.ToolCalls([call]))
52 | }()
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:50:31: error: 'init(id:toolName:arguments:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
47 | static let promptMockWithAttachment: Self = .prompt(.init(segments: Mock.attachmentSegments))
48 |
49 | static let toolCallsMock: Self = {
| `- note: add '@available' attribute to enclosing static property
50 | let call = Transcript.ToolCall(id: "id", toolName: MoodTool().name, arguments: MoodTool.Arguments().generatedContent)
| |- error: 'init(id:toolName:arguments:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
51 | return .toolCalls(Transcript.ToolCalls([call]))
52 | }()
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:51:27: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
47 | static let promptMockWithAttachment: Self = .prompt(.init(segments: Mock.attachmentSegments))
48 |
49 | static let toolCallsMock: Self = {
| `- note: add '@available' attribute to enclosing static property
50 | let call = Transcript.ToolCall(id: "id", toolName: MoodTool().name, arguments: MoodTool.Arguments().generatedContent)
51 | return .toolCalls(Transcript.ToolCalls([call]))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
52 | }()
53 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:56:20: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
53 |
54 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
55 | static let toolCallsMockFull: Self = {
| `- note: add '@available' attribute to enclosing static property
56 | let call = Transcript.ToolCall(
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
57 | id: "call-1",
58 | metadata: ["request_id": "req-42"],
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:56:31: error: 'init(id:metadata:toolName:arguments:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
53 |
54 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
55 | static let toolCallsMockFull: Self = {
| `- note: add '@available' attribute to enclosing static property
56 | let call = Transcript.ToolCall(
| |- error: 'init(id:metadata:toolName:arguments:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
57 | id: "call-1",
58 | metadata: ["request_id": "req-42"],
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:58:38: error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
53 |
54 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
55 | static let toolCallsMockFull: Self = {
| `- note: add '@available' attribute to enclosing static property
56 | let call = Transcript.ToolCall(
57 | id: "call-1",
58 | metadata: ["request_id": "req-42"],
| |- error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
59 | toolName: MoodTool().name,
60 | arguments: MoodTool.Arguments().generatedContent
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:62:27: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
53 |
54 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
55 | static let toolCallsMockFull: Self = {
| `- note: add '@available' attribute to enclosing static property
56 | let call = Transcript.ToolCall(
57 | id: "call-1",
:
60 | arguments: MoodTool.Arguments().generatedContent
61 | )
62 | return .toolCalls(Transcript.ToolCalls([call]))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
63 | }()
64 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:67:48: error: 'init(id:assetIDs:segments:)' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
65 | static let toolOutputMock: Self = .toolOutput(.init(id: "id", toolName: MoodTool().name, segments: Mock.toolOutput))
66 |
67 | static let responseMock: Self = .response(.init(assetIDs: Mock.assetIDs, segments: Mock.response))
| | `- error: 'init(id:assetIDs:segments:)' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
68 |
69 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:70:39: error: 'reasoning' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
68 |
69 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
70 | static let reasoningMock: Self = .reasoning(.init(
| | `- error: 'reasoning' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
71 | metadata: ["thinking_tokens": 512],
72 | segments: Mock.reasoning,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:71:39: error: conformance of 'Int' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
:
68 |
69 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
70 | static let reasoningMock: Self = .reasoning(.init(
| `- note: add '@available' attribute to enclosing static property
71 | metadata: ["thinking_tokens": 512],
| `- error: conformance of 'Int' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
72 | segments: Mock.reasoning,
73 | signature: Data([0x54, 0x44, 0x4D])
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:31:11: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | extension Transcript.Entry {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
32 | static let instructionsMock: Self = .instructions(.init(segments: Mock.instructions, toolDefinitions: [.init(tool: MoodTool())]))
33 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:78:31: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
80 | static let toolOutput: [Transcript.Segment] = [.text(.init(content: #"{"mood": "calm"}"#))]
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:79:25: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
80 | static let toolOutput: [Transcript.Segment] = [.text(.init(content: #"{"mood": "calm"}"#))]
81 | static let response: [Transcript.Segment] = [.text(.init(content: "In Swift's calm embrace,\nCode flows like a gentle stream,\nInnovation blooms."))]
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:80:29: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
80 | static let toolOutput: [Transcript.Segment] = [.text(.init(content: #"{"mood": "calm"}"#))]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
81 | static let response: [Transcript.Segment] = [.text(.init(content: "In Swift's calm embrace,\nCode flows like a gentle stream,\nInnovation blooms."))]
82 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:81:27: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
80 | static let toolOutput: [Transcript.Segment] = [.text(.init(content: #"{"mood": "calm"}"#))]
81 | static let response: [Transcript.Segment] = [.text(.init(content: "In Swift's calm embrace,\nCode flows like a gentle stream,\nInnovation blooms."))]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
82 |
83 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:84:28: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
:
82 |
83 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
84 | static let reasoning: [Transcript.Segment] = [.text(.init(content: "Let me think about how to write a haiku about Swift. A haiku has three lines: 5-7-5 syllables. Swift's key traits are speed, safety, and expressiveness. I'll craft something poetic around these."))]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
85 |
86 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:87:37: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
:
85 |
86 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
87 | static let attachmentSegments: [Transcript.Segment] = {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
88 | var pixels = [UInt8](repeating: 128, count: 4)
89 | let ctx = CGContext(data: &pixels, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4,
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:92:21: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
:
85 |
86 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
87 | static let attachmentSegments: [Transcript.Segment] = {
| `- note: add '@available' attribute to enclosing static property
88 | var pixels = [UInt8](repeating: 128, count: 4)
89 | let ctx = CGContext(data: &pixels, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4,
90 | space: CGColorSpaceCreateDeviceRGB(),
91 | bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue)!
92 | let image = Transcript.ImageAttachment(ctx.makeImage()!)
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
93 | let attachment = Transcript.AttachmentSegment(id: "att1", content: .image(image), label: "haiku-photo")
94 | return [
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:92:32: error: 'init(_:orientation:)' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
:
85 |
86 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
87 | static let attachmentSegments: [Transcript.Segment] = {
| `- note: add '@available' attribute to enclosing static property
88 | var pixels = [UInt8](repeating: 128, count: 4)
89 | let ctx = CGContext(data: &pixels, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4,
90 | space: CGColorSpaceCreateDeviceRGB(),
91 | bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue)!
92 | let image = Transcript.ImageAttachment(ctx.makeImage()!)
| |- error: 'init(_:orientation:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
93 | let attachment = Transcript.AttachmentSegment(id: "att1", content: .image(image), label: "haiku-photo")
94 | return [
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:93:26: error: 'Transcript' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
:
85 |
86 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
87 | static let attachmentSegments: [Transcript.Segment] = {
| `- note: add '@available' attribute to enclosing static property
88 | var pixels = [UInt8](repeating: 128, count: 4)
89 | let ctx = CGContext(data: &pixels, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4,
:
91 | bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue)!
92 | let image = Transcript.ImageAttachment(ctx.makeImage()!)
93 | let attachment = Transcript.AttachmentSegment(id: "att1", content: .image(image), label: "haiku-photo")
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
94 | return [
95 | .text(.init(content: "Here is an image:")),
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:96:14: error: 'attachment' is only available in watchOS 27.0 or newer
75 | }
76 |
77 | enum Mock {
| `- note: add '@available' attribute to enclosing enum
78 | static let instructions: [Transcript.Segment] = [.text(.init(content: "You're a helpful assistant that generates haiku."))]
79 | static let prompt: [Transcript.Segment] = [.text(.init(content: "Generate a haiku about Swift"))]
:
85 |
86 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
87 | static let attachmentSegments: [Transcript.Segment] = {
| `- note: add '@available' attribute to enclosing static property
88 | var pixels = [UInt8](repeating: 128, count: 4)
89 | let ctx = CGContext(data: &pixels, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4,
:
94 | return [
95 | .text(.init(content: "Here is an image:")),
96 | .attachment(attachment)
| |- error: 'attachment' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
97 | ]
98 | }()
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:113:23: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
| | `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
114 | input: .init(totalTokenCount: 150, cachedTokenCount: 50),
115 | output: .init(totalTokenCount: 80, reasoningTokenCount: 20),
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:116:32: error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
| `- note: add '@available' attribute to enclosing static property
114 | input: .init(totalTokenCount: 150, cachedTokenCount: 50),
115 | output: .init(totalTokenCount: 80, reasoningTokenCount: 20),
116 | metadata: ["provider": "on-device"]
| `- error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
117 | )
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:111:11: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| | `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:120:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
118 | }
119 |
120 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
121 | enum Mood: String, CaseIterable {
122 | case happy, sad, thoughtful, excited, calm
macro expansion @Generable:1:59: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:1: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
| `- note: add '@available' attribute to enclosing enum
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
|1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | | `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing static property
|2 | FoundationModels.GenerationSchema(type: Self.self, anyOf: [happy.rawValue, sad.rawValue, thoughtful.rawValue, excited.rawValue, calm.rawValue])
|3 | }
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:5:35: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:1: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
| `- note: add '@available' attribute to enclosing enum
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
|3 | }
|4 |
|5 | nonisolated var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|6 | rawValue.generatedContent
|7 | }
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:120:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
118 | }
119 |
120 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
121 | enum Mood: String, CaseIterable {
| `- note: add '@available' attribute to enclosing enum
122 | case happy, sad, thoughtful, excited, calm
123 | }
macro expansion @Generable:1:59: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | | `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:10:35: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:30:13: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
+--- macro expansion @Generable ------------------------------------
|27 | }
|28 |
|29 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|30 | var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|31 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
|32 | self.id = content.id ?? GenerationID()
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:31:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
+--- macro expansion @Generable ------------------------------------
|27 | }
|28 |
|29 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|30 | var id: GenerationID
|31 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|32 | self.id = content.id ?? GenerationID()
|33 | }
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:29:20: warning: protocol 'Identifiable' requires 'GenerationID' to be available in watchOS 26.0 and newer; this will be an error in a future Swift language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
+--- macro expansion @Generable ------------------------------------
|27 | }
|28 |
|29 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- warning: protocol 'Identifiable' requires 'GenerationID' to be available in watchOS 26.0 and newer; this will be an error in a future Swift language mode
|30 | var id: GenerationID
|31 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
FoundationModels.GenerationID:3:15: note: 'GenerationID' declared here
1 | @available(iOS 26.0, macOS 26.0, watchOS 27.0, *)
2 | @available(tvOS, unavailable)
3 | public struct GenerationID : Sendable, Hashable {
| `- note: 'GenerationID' declared here
4 | public static func == (a: GenerationID, b: GenerationID) -> Bool
5 | public func hash(into hasher: inout Hasher)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:129:6: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
130 | struct Arguments {}
| |- note: add '@available' attribute to enclosing struct
| `- note: add '@available' attribute to enclosing struct
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:1:59: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | | `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
+-------------------------------------------------------------------
141 |
macro expansion @Generable:10:35: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
+-------------------------------------------------------------------
141 |
macro expansion @Generable:31:13: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|32 | var text: String.PartiallyGenerated?
|33 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
+-------------------------------------------------------------------
141 |
macro expansion @Generable:32:22: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | var id: GenerationID
|32 | var text: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|33 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
|34 | self.id = content.id ?? GenerationID()
+-------------------------------------------------------------------
141 |
macro expansion @Generable:33:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | var id: GenerationID
|32 | var text: String.PartiallyGenerated?
|33 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|34 | self.id = content.id ?? GenerationID()
|35 | self.text = try content.value(forProperty: "text")
+-------------------------------------------------------------------
141 |
macro expansion @Generable:30:20: warning: protocol 'Identifiable' requires 'GenerationID' to be available in watchOS 26.0 and newer; this will be an error in a future Swift language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- warning: protocol 'Identifiable' requires 'GenerationID' to be available in watchOS 26.0 and newer; this will be an error in a future Swift language mode
|31 | var id: GenerationID
|32 | var text: String.PartiallyGenerated?
+-------------------------------------------------------------------
141 |
FoundationModels.GenerationID:3:15: note: 'GenerationID' declared here
1 | @available(iOS 26.0, macOS 26.0, watchOS 27.0, *)
2 | @available(tvOS, unavailable)
3 | public struct GenerationID : Sendable, Hashable {
| `- note: 'GenerationID' declared here
4 | public static func == (a: GenerationID, b: GenerationID) -> Bool
5 | public func hash(into hasher: inout Hasher)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:137:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
135 | }
136 |
137 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
macro expansion @Generable:2:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:2: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension Haiku: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.text = try content.value(forProperty: "text")
|4 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:2:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:135:2: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
131 |
:
133 | .allCases.randomElement()
134 | }
135 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension MoodTool.Arguments: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|3 | }
|4 | }
+-------------------------------------------------------------------
136 |
137 | @Generable
macro expansion @Generable:2:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:2: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
| 1 | extension Mood: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
| 2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
| 3 | let rawValue = try content.value(String.self)
| 4 | if let value = Self(rawValue: rawValue) {
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:2:22: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:1: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
| `- note: add '@available' attribute to enclosing enum
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
|1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
|2 | FoundationModels.GenerationSchema(type: Self.self, anyOf: [happy.rawValue, sad.rawValue, thoughtful.rawValue, excited.rawValue, calm.rawValue])
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|3 | }
|4 |
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:2:22: error: 'init(type:description:anyOf:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:1: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
| `- note: add '@available' attribute to enclosing enum
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
|1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
|2 | FoundationModels.GenerationSchema(type: Self.self, anyOf: [happy.rawValue, sad.rawValue, thoughtful.rawValue, excited.rawValue, calm.rawValue])
| | |- error: 'init(type:description:anyOf:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|3 | }
|4 |
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:6:14: error: 'generatedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:1: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
| `- note: add '@available' attribute to enclosing enum
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
|3 | }
|4 |
|5 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|6 | rawValue.generatedContent
| | |- error: 'generatedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|7 | }
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:2:22: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | properties: [
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:2:22: error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | properties: [
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:12:49: error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| | |- error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|13 | return GeneratedContent(
|14 | properties: properties,
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:13:12: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|13 | return GeneratedContent(
| | |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|14 | properties: properties,
|15 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:13:12: error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|13 | return GeneratedContent(
| | |- error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|14 | properties: properties,
|15 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:19:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|17 | }
|18 | )
|19 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|20 | properties.append((name: name, value: value))
|21 | }
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:19:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|17 | }
|18 | )
|19 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|20 | properties.append((name: name, value: value))
|21 | }
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:22:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|20 | properties.append((name: name, value: value))
|21 | }
|22 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|23 | if explicitNil || value != nil {
|24 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:22:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|20 | properties.append((name: name, value: value))
|21 | }
|22 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|23 | if explicitNil || value != nil {
|24 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:24:47: error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
| `- note: add '@available' attribute to enclosing struct
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|22 | func addProperty(name: String, value: (some Generable)?) {
|23 | if explicitNil || value != nil {
|24 | properties.append((name: name, value: value))
| | |- error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|25 | }
|26 | }
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:32:33: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
+--- macro expansion @Generable ------------------------------------
|27 | }
|28 |
|29 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|30 | var id: GenerationID
|31 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|32 | self.id = content.id ?? GenerationID()
| | |- error: 'GenerationID' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|33 | }
|34 | }
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:32:33: error: 'init()' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:130:23: note: expanded code originates here
127 | let description = "Generates a random mood for haiku"
128 |
129 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| |- note: in expansion of macro 'Generable' on struct 'Arguments' here
| `- note: in expansion of macro 'Generable' on struct 'Arguments' here
130 | struct Arguments {}
+--- macro expansion @Generable ------------------------------------
|27 | }
|28 |
|29 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|30 | var id: GenerationID
|31 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|32 | self.id = content.id ?? GenerationID()
| | |- error: 'init()' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|33 | }
|34 | }
+-------------------------------------------------------------------
131 |
132 | func call(arguments: Arguments) async throws -> Mood? {
macro expansion @Generable:2:22: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | properties: [
+-------------------------------------------------------------------
141 |
macro expansion @Generable:2:22: error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | properties: [
+-------------------------------------------------------------------
141 |
macro expansion @Generable:5:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| 4 | properties: [
| 5 | FoundationModels.GenerationSchema.Property(name: "text", type: String.self)
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 6 | ]
| 7 | )
+-------------------------------------------------------------------
141 |
macro expansion @Generable:5:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| 4 | properties: [
| 5 | FoundationModels.GenerationSchema.Property(name: "text", type: String.self)
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 6 | ]
| 7 | )
+-------------------------------------------------------------------
141 |
macro expansion @Generable:12:49: error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| | |- error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|13 | addProperty(name: "text", value: self.text)
|14 | return GeneratedContent(
+-------------------------------------------------------------------
141 |
macro expansion @Generable:13:5: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|13 | addProperty(name: "text", value: self.text)
| | |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|14 | return GeneratedContent(
|15 | properties: properties,
+-------------------------------------------------------------------
141 |
macro expansion @Generable:14:12: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|13 | addProperty(name: "text", value: self.text)
|14 | return GeneratedContent(
| | |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|15 | properties: properties,
|16 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
141 |
macro expansion @Generable:14:12: error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|13 | addProperty(name: "text", value: self.text)
|14 | return GeneratedContent(
| | |- error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|15 | properties: properties,
|16 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
141 |
macro expansion @Generable:20:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|18 | }
|19 | )
|20 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|21 | properties.append((name: name, value: value))
|22 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:20:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|18 | }
|19 | )
|20 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|21 | properties.append((name: name, value: value))
|22 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:23:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|21 | properties.append((name: name, value: value))
|22 | }
|23 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|24 | if explicitNil || value != nil {
|25 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
141 |
macro expansion @Generable:23:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|21 | properties.append((name: name, value: value))
|22 | }
|23 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|24 | if explicitNil || value != nil {
|25 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
141 |
macro expansion @Generable:25:47: error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
| `- note: add '@available' attribute to enclosing struct
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
| 8 | }
| 9 |
|10 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|11 | let explicitNil = false
|12 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|23 | func addProperty(name: String, value: (some Generable)?) {
|24 | if explicitNil || value != nil {
|25 | properties.append((name: name, value: value))
| | |- error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|26 | }
|27 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:34:33: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | var id: GenerationID
|32 | var text: String.PartiallyGenerated?
|33 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|34 | self.id = content.id ?? GenerationID()
| | |- error: 'GenerationID' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|35 | self.text = try content.value(forProperty: "text")
|36 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:34:33: error: 'init()' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | var id: GenerationID
|32 | var text: String.PartiallyGenerated?
|33 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|34 | self.id = content.id ?? GenerationID()
| | |- error: 'init()' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|35 | self.text = try content.value(forProperty: "text")
|36 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:35:33: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:1: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|28 | }
|29 |
|30 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | var id: GenerationID
|32 | var text: String.PartiallyGenerated?
|33 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|34 | self.id = content.id ?? GenerationID()
|35 | self.text = try content.value(forProperty: "text")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|36 | }
|37 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:3:33: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:140:2: note: expanded code originates here
135 | }
136 |
137 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| |- note: in expansion of macro 'Generable' on struct 'Haiku' here
| `- note: in expansion of macro 'Generable' on struct 'Haiku' here
138 | struct Haiku {
139 | let text: String
140 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension Haiku: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.text = try content.value(forProperty: "text")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|4 | }
|5 | }
+-------------------------------------------------------------------
141 |
macro expansion @Generable:3:36: error: 'value' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:2: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
| 1 | extension Mood: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
| 2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
| 3 | let rawValue = try content.value(String.self)
| | |- error: 'value' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 4 | if let value = Self(rawValue: rawValue) {
| 5 | self = value
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:7:36: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:2: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
| 1 | extension Mood: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
| 2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
| 3 | let rawValue = try content.value(String.self)
| 4 | if let value = Self(rawValue: rawValue) {
| 5 | self = value
| 6 | } else {
| 7 | throw FoundationModels.GeneratedContent.ParsingError(rawContent: content.jsonString, debugDescription: "Unexpected rawValue \"\(rawValue)\" for \(Self.self)")
| | |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 8 | }
| 9 | }
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
macro expansion @Generable:7:86: error: 'jsonString' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:123:2: note: expanded code originates here
118 | }
119 |
120 | @Generable
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| |- note: in expansion of macro 'Generable' on enum 'Mood' here
| `- note: in expansion of macro 'Generable' on enum 'Mood' here
121 | enum Mood: String, CaseIterable {
122 | case happy, sad, thoughtful, excited, calm
123 | }
+--- macro expansion @Generable ------------------------------------
| 1 | extension Mood: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
| 2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
| 3 | let rawValue = try content.value(String.self)
| 4 | if let value = Self(rawValue: rawValue) {
| 5 | self = value
| 6 | } else {
| 7 | throw FoundationModels.GeneratedContent.ParsingError(rawContent: content.jsonString, debugDescription: "Unexpected rawValue \"\(rawValue)\" for \(Self.self)")
| | |- error: 'jsonString' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 8 | }
| 9 | }
+-------------------------------------------------------------------
124 |
125 | final class MoodTool: Tool {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:33:23: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | enum TranscriptFilter {
| `- note: add '@available' attribute to enclosing enum
32 | static func filter(
| `- note: add '@available' attribute to enclosing static method
33 | _ transcript: Transcript,
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
34 | searchText: String,
35 | scope: SearchScope
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:36:10: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | enum TranscriptFilter {
| `- note: add '@available' attribute to enclosing enum
32 | static func filter(
| `- note: add '@available' attribute to enclosing static method
33 | _ transcript: Transcript,
34 | searchText: String,
35 | scope: SearchScope
36 | ) -> Transcript {
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
37 | guard !searchText.isEmpty else { return transcript }
38 | let entries = transcript.filter { entry in
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:46:28: error: 'Transcript' is only available in watchOS 27.0 or newer
43 | }
44 |
45 | private extension SearchScope {
| `- note: add '@available' attribute to enclosing extension
46 | func includes(_ entry: Transcript.Entry) -> Bool {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
47 | switch self {
48 | case .all:
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:115:57: error: 'Transcript' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
72 | var values = [id, description]
:
113 | }
114 |
115 | private static func searchableValues(for segments: [Transcript.Segment]) -> [String] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
116 | segments.flatMap { segment -> [String] in
117 | switch segment {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:70:11: error: 'Transcript' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
72 | var values = [id, description]
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:38:34: error: conformance of 'Transcript' to 'RangeReplaceableCollection' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | enum TranscriptFilter {
| `- note: add '@available' attribute to enclosing enum
32 | static func filter(
| `- note: add '@available' attribute to enclosing static method
33 | _ transcript: Transcript,
34 | searchText: String,
:
36 | ) -> Transcript {
37 | guard !searchText.isEmpty else { return transcript }
38 | let entries = transcript.filter { entry in
| |- error: conformance of 'Transcript' to 'RangeReplaceableCollection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
39 | scope.includes(entry) && entry.searchableText.localizedCaseInsensitiveContains(searchText)
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:41:16: error: 'Transcript' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | enum TranscriptFilter {
| `- note: add '@available' attribute to enclosing enum
32 | static func filter(
| `- note: add '@available' attribute to enclosing static method
33 | _ transcript: Transcript,
34 | searchText: String,
:
39 | scope.includes(entry) && entry.searchableText.localizedCaseInsensitiveContains(searchText)
40 | }
41 | return Transcript(entries: entries)
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
42 | }
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:41:16: error: conformance of 'Transcript' to 'Sequence' is only available in watchOS 27.0 or newer
29 | }
30 |
31 | enum TranscriptFilter {
| `- note: add '@available' attribute to enclosing enum
32 | static func filter(
| `- note: add '@available' attribute to enclosing static method
33 | _ transcript: Transcript,
34 | searchText: String,
:
39 | scope.includes(entry) && entry.searchableText.localizedCaseInsensitiveContains(searchText)
40 | }
41 | return Transcript(entries: entries)
| |- error: conformance of 'Transcript' to 'Sequence' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
42 | }
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:72:23: error: 'id' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
| |- error: 'id' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
73 | switch self {
74 | case .instructions(let instructions):
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:72:27: error: 'description' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
| |- error: 'description' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
73 | switch self {
74 | case .instructions(let instructions):
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:79:45: error: conformance of 'GenerationSchema' to 'Encodable' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
77 | values.append(contentsOf: [tool.name, tool.description])
78 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
79 | values.append(DebugJSON.prettyPrinted(tool.parameters))
| |- error: conformance of 'GenerationSchema' to 'Encodable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
80 | }
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:79:64: error: 'parameters' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
77 | values.append(contentsOf: [tool.name, tool.description])
78 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
79 | values.append(DebugJSON.prettyPrinted(tool.parameters))
| |- error: 'parameters' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
80 | }
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:86:51: error: 'name' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
84 | values.append(String(describing: prompt.options))
85 | if let format = prompt.responseFormat {
86 | values.append(contentsOf: [format.name, format.description])
| |- error: 'name' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
87 | }
88 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:86:64: error: 'description' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
84 | values.append(String(describing: prompt.options))
85 | if let format = prompt.responseFormat {
86 | values.append(contentsOf: [format.name, format.description])
| |- error: 'description' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
87 | }
88 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:89:50: error: 'metadata' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
87 | }
88 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
89 | values.append(contentsOf: prompt.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'metadata' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
90 | values.append(String(describing: prompt.contextOptions))
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:89:87: error: 'jsonString' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
87 | }
88 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
89 | values.append(contentsOf: prompt.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
90 | values.append(String(describing: prompt.contextOptions))
91 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:90:57: error: 'contextOptions' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
88 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
89 | values.append(contentsOf: prompt.metadata.map { "\($0.key) \($0.value.jsonString)" })
90 | values.append(String(describing: prompt.contextOptions))
| |- error: 'contextOptions' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
91 | }
92 | case .toolCalls(let calls):
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:94:83: error: 'jsonString' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
92 | case .toolCalls(let calls):
93 | for call in calls {
94 | values.append(contentsOf: [call.id, call.toolName, call.arguments.jsonString])
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
95 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
96 | values.append(contentsOf: call.metadata.map { "\($0.key) \($0.value.jsonString)" })
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:96:52: error: 'metadata' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
94 | values.append(contentsOf: [call.id, call.toolName, call.arguments.jsonString])
95 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
96 | values.append(contentsOf: call.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'metadata' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:96:89: error: 'jsonString' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
94 | values.append(contentsOf: [call.id, call.toolName, call.arguments.jsonString])
95 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
96 | values.append(contentsOf: call.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:104:48: error: 'metadata' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
102 | case .response(let response):
103 | values.append(contentsOf: response.assetIDs)
104 | values.append(contentsOf: response.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'metadata' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
105 | values.append(contentsOf: Self.searchableValues(for: response.segments))
106 | default:
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:104:85: error: 'jsonString' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
102 | case .response(let response):
103 | values.append(contentsOf: response.assetIDs)
104 | values.append(contentsOf: response.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
105 | values.append(contentsOf: Self.searchableValues(for: response.segments))
106 | default:
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Mocks.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SearchScope.swift
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:108:90: error: 'jsonString' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
106 | default:
107 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *), case .reasoning(let reasoning) = self {
108 | values.append(contentsOf: reasoning.metadata.map { "\($0.key) \($0.value.jsonString)" })
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
109 | values.append(contentsOf: Self.searchableValues(for: reasoning.segments))
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:93:13: error: for-in loop requires 'Transcript.ToolCalls' to conform to 'Sequence', which is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
| `- note: add '@available' attribute to enclosing property
72 | var values = [id, description]
73 | switch self {
:
91 | }
92 | case .toolCalls(let calls):
93 | for call in calls {
| |- error: for-in loop requires 'Transcript.ToolCalls' to conform to 'Sequence', which is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
94 | values.append(contentsOf: [call.id, call.toolName, call.arguments.jsonString])
95 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:121:41: error: 'schemaName' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
72 | var values = [id, description]
:
113 | }
114 |
115 | private static func searchableValues(for segments: [Transcript.Segment]) -> [String] {
| `- note: add '@available' attribute to enclosing static method
116 | segments.flatMap { segment -> [String] in
117 | switch segment {
:
119 | return [value.id, value.content]
120 | case .structure(let value):
121 | return [value.id, value.schemaName, value.content.jsonString]
| |- error: 'schemaName' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
122 | default:
123 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *), case .attachment(let value) = segment {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:121:67: error: 'jsonString' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
72 | var values = [id, description]
:
113 | }
114 |
115 | private static func searchableValues(for segments: [Transcript.Segment]) -> [String] {
| `- note: add '@available' attribute to enclosing static method
116 | segments.flatMap { segment -> [String] in
117 | switch segment {
:
119 | return [value.id, value.content]
120 | case .structure(let value):
121 | return [value.id, value.schemaName, value.content.jsonString]
| |- error: 'jsonString' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
122 | default:
123 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *), case .attachment(let value) = segment {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/SearchScope.swift:125:80: error: 'url' is only available in watchOS 27.0 or newer
68 | }
69 |
70 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
71 | var searchableText: String {
72 | var values = [id, description]
:
113 | }
114 |
115 | private static func searchableValues(for segments: [Transcript.Segment]) -> [String] {
| `- note: add '@available' attribute to enclosing static method
116 | segments.flatMap { segment -> [String] in
117 | switch segment {
:
123 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *), case .attachment(let value) = segment {
124 | var result = [value.id, value.label ?? "", String(describing: value.content)]
125 | if case .image(let image) = value.content, let url = image.url {
| |- error: 'url' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
126 | result.append(url.absoluteString)
127 | }
SwiftCompile normal arm64_32 Compiling\ TokenCounter.swift,\ Transcript.Entry+AccentColor.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TokenCounter.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:44:46: error: 'Transcript' is only available in watchOS 27.0 or newer
11 | #endif
12 |
13 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
14 | var title: String {
15 | switch self {
:
42 | }
43 |
44 | private static func text(from segments: [Transcript.Segment]) -> String {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
45 | segments.compactMap { segment -> String? in
46 | switch segment {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:13:11: error: 'Transcript' is only available in watchOS 27.0 or newer
11 | #endif
12 |
13 | extension Transcript.Entry {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
14 | var title: String {
15 | switch self {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:82:45: error: 'systemGray' is unavailable in watchOS
80 | private extension Color {
81 | #if canImport(UIKit)
82 | static let systemGray = Color(uiColor: .systemGray)
| `- error: 'systemGray' is unavailable in watchOS
83 | static let systemBlue = Color(uiColor: .systemBlue)
84 | static let systemGreen = Color(uiColor: .systemGreen)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:136:49: note: 'systemGray' has been explicitly marked unavailable here
134 | /* Shades of gray. systemGray is the base gray color.
135 | */
136 | @property (class, nonatomic, readonly) UIColor *systemGrayColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemGray' has been explicitly marked unavailable here
137 |
138 | /* The numbered variations, systemGray2 through systemGray6, are grays which increasingly
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:83:45: error: 'systemBlue' is unavailable in watchOS
81 | #if canImport(UIKit)
82 | static let systemGray = Color(uiColor: .systemGray)
83 | static let systemBlue = Color(uiColor: .systemBlue)
| `- error: 'systemBlue' is unavailable in watchOS
84 | static let systemGreen = Color(uiColor: .systemGreen)
85 | static let systemOrange = Color(uiColor: .systemOrange)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:123:49: note: 'systemBlue' has been explicitly marked unavailable here
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemBlue' has been explicitly marked unavailable here
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
125 | @property (class, nonatomic, readonly) UIColor *systemYellowColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:84:46: error: 'systemGreen' is unavailable in watchOS
82 | static let systemGray = Color(uiColor: .systemGray)
83 | static let systemBlue = Color(uiColor: .systemBlue)
84 | static let systemGreen = Color(uiColor: .systemGreen)
| `- error: 'systemGreen' is unavailable in watchOS
85 | static let systemOrange = Color(uiColor: .systemOrange)
86 | static let systemIndigo = Color(uiColor: .systemIndigo)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:122:49: note: 'systemGreen' has been explicitly marked unavailable here
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemGreen' has been explicitly marked unavailable here
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:85:47: error: 'systemOrange' is unavailable in watchOS
83 | static let systemBlue = Color(uiColor: .systemBlue)
84 | static let systemGreen = Color(uiColor: .systemGreen)
85 | static let systemOrange = Color(uiColor: .systemOrange)
| `- error: 'systemOrange' is unavailable in watchOS
86 | static let systemIndigo = Color(uiColor: .systemIndigo)
87 | static let systemPurple = Color(uiColor: .systemPurple)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:124:49: note: 'systemOrange' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemOrange' has been explicitly marked unavailable here
125 | @property (class, nonatomic, readonly) UIColor *systemYellowColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
126 | @property (class, nonatomic, readonly) UIColor *systemPinkColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:86:47: error: 'systemIndigo' is unavailable in watchOS
84 | static let systemGreen = Color(uiColor: .systemGreen)
85 | static let systemOrange = Color(uiColor: .systemOrange)
86 | static let systemIndigo = Color(uiColor: .systemIndigo)
| `- error: 'systemIndigo' is unavailable in watchOS
87 | static let systemPurple = Color(uiColor: .systemPurple)
88 | #elseif canImport(AppKit)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:129:49: note: 'systemIndigo' has been explicitly marked unavailable here
127 | @property (class, nonatomic, readonly) UIColor *systemPurpleColor API_AVAILABLE(ios(9.0), tvos(9.0)) API_UNAVAILABLE(watchos);
128 | @property (class, nonatomic, readonly) UIColor *systemTealColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
129 | @property (class, nonatomic, readonly) UIColor *systemIndigoColor API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemIndigo' has been explicitly marked unavailable here
130 | @property (class, nonatomic, readonly) UIColor *systemBrownColor API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
131 | @property (class, nonatomic, readonly) UIColor *systemMintColor API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:87:47: error: 'systemPurple' is unavailable in watchOS
85 | static let systemOrange = Color(uiColor: .systemOrange)
86 | static let systemIndigo = Color(uiColor: .systemIndigo)
87 | static let systemPurple = Color(uiColor: .systemPurple)
| `- error: 'systemPurple' is unavailable in watchOS
88 | #elseif canImport(AppKit)
89 | static let systemGray = Color(nsColor: .systemGray)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:127:49: note: 'systemPurple' has been explicitly marked unavailable here
125 | @property (class, nonatomic, readonly) UIColor *systemYellowColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
126 | @property (class, nonatomic, readonly) UIColor *systemPinkColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
127 | @property (class, nonatomic, readonly) UIColor *systemPurpleColor API_AVAILABLE(ios(9.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemPurple' has been explicitly marked unavailable here
128 | @property (class, nonatomic, readonly) UIColor *systemTealColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
129 | @property (class, nonatomic, readonly) UIColor *systemIndigoColor API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift:35:42: error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
11 | #endif
12 |
13 | extension Transcript.Entry {
| `- note: add '@available' attribute to enclosing extension
14 | var title: String {
15 | switch self {
:
27 | }
28 |
29 | var preview: String {
| `- note: add '@available' attribute to enclosing property
30 | switch self {
31 | case .instructions(let v): return Self.text(from: v.segments)
:
33 | case .response(let v): return Self.text(from: v.segments)
34 | case .toolOutput(let v): return Self.text(from: v.segments)
35 | case .toolCalls(let v): return v.map(\.toolName).joined(separator: ", ")
| |- error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
36 | default:
37 | if #available(iOS 27.0, macOS 27.0, visionOS 27.0, *), case .reasoning(let v) = self {
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TokenCounter.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TokenCounter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Transcript.Entry+AccentColor.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Transcript.Entry+AccentColor.swift
SwiftCompile normal arm64_32 Compiling\ View+TranscriptDebugMenu.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/View+TranscriptDebugMenu.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/View+TranscriptDebugMenu.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile View+TranscriptDebugMenu.swift
SwiftCompile normal arm64_32 Compiling\ TranscriptDebugMenu+Configuration.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:22:49: error: 'SystemLanguageModel' is unavailable in watchOS
20 |
21 | /// Creates a configuration for a system language model.
22 | public static func systemModel(_ model: SystemLanguageModel) -> Self {
| `- error: 'SystemLanguageModel' is unavailable in watchOS
23 | Self(contextMetricsProvider: .systemModel(model))
24 | }
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/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:48:43: error: 'Transcript' is only available in watchOS 27.0 or newer
44 | /// The menu supplies either the complete transcript or a transcript containing
45 | /// a single entry for its detail view. Keep custom providers stable across view updates.
46 | struct ContextMetricsProvider: Sendable {
| `- note: add '@available' attribute to enclosing struct
47 | var id: ContextMetricsProviderID = .custom(UUID())
48 | private let calculate: @Sendable (Transcript) async throws -> ContextMetrics
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
49 |
50 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:51:45: error: 'Transcript' is only available in watchOS 27.0 or newer
44 | /// The menu supplies either the complete transcript or a transcript containing
45 | /// a single entry for its detail view. Keep custom providers stable across view updates.
46 | struct ContextMetricsProvider: Sendable {
| `- note: add '@available' attribute to enclosing struct
47 | var id: ContextMetricsProviderID = .custom(UUID())
48 | private let calculate: @Sendable (Transcript) async throws -> ContextMetrics
49 |
50 | public init(
| `- note: add '@available' attribute to enclosing initializer
51 | calculate: @escaping @Sendable (Transcript) async throws -> ContextMetrics
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
52 | ) {
53 | self.calculate = calculate
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:57:49: error: 'SystemLanguageModel' is unavailable in watchOS
55 |
56 | /// Creates a provider backed by a system language model's tokenizer.
57 | public static func systemModel(_ model: SystemLanguageModel) -> Self {
| `- error: 'SystemLanguageModel' is unavailable in watchOS
58 | var provider = Self { transcript in
59 | guard #available(iOS 26.4, macOS 26.4, macCatalyst 26.4, visionOS 26.4, *) else {
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/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:69:38: error: 'Transcript' is only available in watchOS 27.0 or newer
44 | /// The menu supplies either the complete transcript or a transcript containing
45 | /// a single entry for its detail view. Keep custom providers stable across view updates.
46 | struct ContextMetricsProvider: Sendable {
| `- note: add '@available' attribute to enclosing struct
47 | var id: ContextMetricsProviderID = .custom(UUID())
48 | private let calculate: @Sendable (Transcript) async throws -> ContextMetrics
:
67 | }
68 |
69 | func metrics(for transcript: Transcript) async throws -> ContextMetrics {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | try await calculate(transcript)
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:77:21: error: 'Transcript' is only available in watchOS 27.0 or newer
74 |
75 | /// Restarts diagnostics when either the transcript or its configured counter changes.
76 | struct ContextMetricsRequest: Equatable {
| `- note: add '@available' attribute to enclosing struct
77 | let transcript: Transcript
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
78 | let providerID: ContextMetricsProviderID?
79 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift:62:50: error: 'tokenCount(for:)' is unavailable in watchOS
60 | throw ContextMetricsUnavailableError()
61 | }
62 | let tokenCount = try await model.tokenCount(for: transcript)
| `- error: 'tokenCount(for:)' is unavailable in watchOS
63 | return ContextMetrics(tokenCount: tokenCount, contextSize: model.contextSize)
64 | }
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 |
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu+Configuration.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TranscriptDebugMenu+Configuration.swift
SwiftCompile normal arm64_32 Compiling\ UsageSection.swift /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/UsageSection.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/UsageSection.swift:11:16: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
8 | /// Displays session token usage breakdown (input, cached, output, reasoning).
9 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
10 | struct UsageSection: View {
| `- note: add '@available' attribute to enclosing struct
11 | let usage: LanguageModelSession.Usage
| `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
12 | @State private var isExpanded = false
13 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:113:23: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
| | `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static property
114 | input: .init(totalTokenCount: 150, cachedTokenCount: 50),
115 | output: .init(totalTokenCount: 80, reasoningTokenCount: 20),
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/Mocks.swift:116:32: error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
109 |
110 | @available(iOS 27.0, macOS 27.0, visionOS 27.0, *)
111 | extension LanguageModelSession.Usage {
| `- note: add '@available' attribute to enclosing extension
112 | /// Mock usage for previews and independent section testing.
113 | static let mock = LanguageModelSession.Usage(
| `- note: add '@available' attribute to enclosing static property
114 | input: .init(totalTokenCount: 150, cachedTokenCount: 50),
115 | output: .init(totalTokenCount: 80, reasoningTokenCount: 20),
116 | metadata: ["provider": "on-device"]
| `- error: conformance of 'String' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
117 | )
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/FeedbackView.swift:37:45: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
6 | import SwiftUI
7 |
8 | struct FeedbackDraft: Equatable {
| `- note: add '@available' attribute to enclosing struct
9 | enum SentimentSelection: String, CaseIterable, Identifiable {
10 | case unspecified
:
35 |
36 | var sentiment: SentimentSelection = .unspecified
37 | var issueDrafts: [FeedbackIssueDraft] = LanguageModelFeedback.Issue.Category.allCases.map {
| `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
38 | FeedbackIssueDraft(category: $0)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:290:39: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
288 | #Preview {
289 | @Previewable @State var isPresented = true
290 | @Previewable @State var session = LanguageModelSession(transcript: .mock)
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
291 |
292 | Button("Show Transcript Menu") {
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:290:39: error: 'init(model:tools:transcript:)' is unavailable in watchOS
288 | #Preview {
289 | @Previewable @State var isPresented = true
290 | @Previewable @State var session = LanguageModelSession(transcript: .mock)
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
291 |
292 | Button("Show Transcript Menu") {
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:298:38: error: 'default' is unavailable in watchOS
296 | session,
297 | isPresented: $isPresented,
298 | configuration: .systemModel(.default)
| `- error: 'default' is unavailable in watchOS
299 | )
300 | }
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:304:18: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
302 | #Preview("Transcript") {
303 | TranscriptDebugMenu(
304 | session: LanguageModelSession(transcript: .mock),
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
305 | configuration: .init(contextMetricsProvider: .init { _ in
306 | .init(tokenCount: Mock.contextUsage.tokenCount, contextSize: Mock.contextUsage.contextSize)
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:304:18: error: 'init(model:tools:transcript:)' is unavailable in watchOS
302 | #Preview("Transcript") {
303 | TranscriptDebugMenu(
304 | session: LanguageModelSession(transcript: .mock),
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
305 | configuration: .init(contextMetricsProvider: .init { _ in
306 | .init(tokenCount: Mock.contextUsage.tokenCount, contextSize: Mock.contextUsage.contextSize)
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:312:34: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
310 |
311 | #Preview("Empty Transcript") {
312 | TranscriptDebugMenu(session: LanguageModelSession(transcript: Transcript()))
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
313 | }
314 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptDebugMenu.swift:312:34: error: 'init(model:tools:transcript:)' is unavailable in watchOS
310 |
311 | #Preview("Empty Transcript") {
312 | TranscriptDebugMenu(session: LanguageModelSession(transcript: Transcript()))
| `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
313 | }
314 |
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/TranscriptDebugMenu/TranscriptDebugMenu.swift:312:67: error: 'Transcript' is only available in watchOS 27.0 or newer
310 |
311 | #Preview("Empty Transcript") {
312 | TranscriptDebugMenu(session: LanguageModelSession(transcript: Transcript()))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
313 | }
314 |
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:62:39: error: 'Transcript' is only available in watchOS 27.0 or newer
60 | #Preview("Single entry") {
61 | List {
62 | TranscriptSection(transcript: Transcript(entries: [.promptMock]))
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/TranscriptSection.swift:68:39: error: 'Transcript' is only available in watchOS 27.0 or newer
66 | #Preview("Empty") {
67 | List {
68 | TranscriptSection(transcript: Transcript())
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
69 | }
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/UsageSection.swift:16:13: error: 'DisclosureGroup' is unavailable in watchOS
14 | var body: some View {
15 | Section {
16 | DisclosureGroup(isExpanded: $isExpanded) {
| `- error: 'DisclosureGroup' is unavailable in watchOS
17 | LabeledContent("Input", value: usage.input.totalTokenCount, format: .number)
18 | LabeledContent("Cached input", value: usage.input.cachedTokenCount, format: .number)
SwiftUI.DisclosureGroup:4:27: note: 'DisclosureGroup' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | nonisolated public struct DisclosureGroup<Label, Content> : View, ~Sendable where Label : View, Content : View {
| `- note: 'DisclosureGroup' has been explicitly marked unavailable here
5 | nonisolated public init(@ContentBuilder content: @escaping () -> Content, @ContentBuilder label: () -> Label)
6 | nonisolated public init(isExpanded: Binding<Bool>, @ContentBuilder content: @escaping () -> Content, @ContentBuilder label: () -> Label)
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TranscriptDebugMenu/UsageSection.swift (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UsageSection.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ TranscriptDebugMenu (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
SwiftCompile normal arm64 (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
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-26 15:57:44.961 xcodebuild[854:4983] [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 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ TranscriptDebugMenu (in target 'TranscriptDebugMenu' from project 'TranscriptDebugMenu')
Building workspace TranscriptDebugMenu with scheme TranscriptDebugMenu
(3 failures)
BUILD FAILURE 6.4 watchOS