Build Information
Failed to build swift-context-management, reference main (d87f52), with Swift 6.4 for watchOS using Xcode 27.0 on 24 Sep 2026 01:15:37 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 swift-context-management -destination generic/platform=watchOSBuild Log
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
258 | var instructions: [Transcript.Entry] = []
259 | var conversations: [Transcript.Entry] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextualSession.swift:257:129: error: 'Transcript' is only available in watchOS 27.0 or newer
123 | }
124 |
125 | private extension ContextualSession {
| `- note: add '@available' attribute to enclosing extension
126 | func executeStreamWithRetry(
127 | prompt: String,
:
255 | }
256 |
257 | func extractInstructionsAndConversations(from transcript: Transcript) -> (instructions: [Transcript.Entry], conversations: [Transcript.Entry]) {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
258 | var instructions: [Transcript.Entry] = []
259 | var conversations: [Transcript.Entry] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ContextReductionLogger.swift:16:19: error: 'Transcript' is only available in watchOS 27.0 or newer
3 |
4 | /// Helper for logging context reduction operations.
5 | enum ContextReductionLogger {
| `- note: add '@available' attribute to enclosing enum
6 | private static let logger = Logger(subsystem: "SwiftContextManagement", category: "ContextReduction")
7 |
:
13 | /// - reducer: The name of the reducer that performed the reduction.
14 | /// - logLevel: The level of detail to log.
15 | static func log(
| `- note: add '@available' attribute to enclosing static method
16 | original: Transcript,
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
17 | reduced: Transcript,
18 | reducer: String,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ContextReductionLogger.swift:17:18: error: 'Transcript' is only available in watchOS 27.0 or newer
3 |
4 | /// Helper for logging context reduction operations.
5 | enum ContextReductionLogger {
| `- note: add '@available' attribute to enclosing enum
6 | private static let logger = Logger(subsystem: "SwiftContextManagement", category: "ContextReduction")
7 |
:
13 | /// - reducer: The name of the reducer that performed the reduction.
14 | /// - logLevel: The level of detail to log.
15 | static func log(
| `- note: add '@available' attribute to enclosing static method
16 | original: Transcript,
17 | reduced: Transcript,
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
18 | reducer: String,
19 | logLevel: ContextReductionLogLevel
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift:19:21: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Utility for chunking conversation entries with token limits and overlap.
4 | struct ConversationChunker {
| `- note: add '@available' attribute to enclosing struct
5 | /// Default maximum tokens per chunk (1000 tokens).
6 | static let defaultMaxTokensPerChunk: Int = 1000
:
16 | /// - overlapTokens: Number of tokens to overlap between chunks. Defaults to 200 (20%).
17 | /// - Returns: An array of entry chunks, where each chunk fits within the token limit.
18 | static func chunkEntries(
| `- note: add '@available' attribute to enclosing static method
19 | _ entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
20 | maxTokensPerChunk: Int = defaultMaxTokensPerChunk,
21 | overlapTokens: Int = defaultOverlapTokens
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift:22:12: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Utility for chunking conversation entries with token limits and overlap.
4 | struct ConversationChunker {
| `- note: add '@available' attribute to enclosing struct
5 | /// Default maximum tokens per chunk (1000 tokens).
6 | static let defaultMaxTokensPerChunk: Int = 1000
:
16 | /// - overlapTokens: Number of tokens to overlap between chunks. Defaults to 200 (20%).
17 | /// - Returns: An array of entry chunks, where each chunk fits within the token limit.
18 | static func chunkEntries(
| `- note: add '@available' attribute to enclosing static method
19 | _ entries: [Transcript.Entry],
20 | maxTokensPerChunk: Int = defaultMaxTokensPerChunk,
21 | overlapTokens: Int = defaultOverlapTokens
22 | ) -> [[Transcript.Entry]] {
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
23 | guard !entries.isEmpty else { return [] }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift:69:56: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Utility for chunking conversation entries with token limits and overlap.
4 | struct ConversationChunker {
| `- note: add '@available' attribute to enclosing struct
5 | /// Default maximum tokens per chunk (1000 tokens).
6 | static let defaultMaxTokensPerChunk: Int = 1000
:
67 | /// - Parameter entries: The entries to estimate.
68 | /// - Returns: Total estimated token count.
69 | public static func estimateTotalTokens(_ entries: [Transcript.Entry]) -> Int {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
70 | entries.reduce(0) { $0 + TranscriptHelpers.estimateTokens(for: $1) }
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift:80:22: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Utility for chunking conversation entries with token limits and overlap.
4 | struct ConversationChunker {
| `- note: add '@available' attribute to enclosing struct
5 | /// Default maximum tokens per chunk (1000 tokens).
6 | static let defaultMaxTokensPerChunk: Int = 1000
:
77 | /// - newEntry: The new entry to be added.
78 | /// - Returns: `true` if the transcript plus new entry fits within the limit, `false` otherwise.
79 | static func fitsInContextWindow(
| `- note: add '@available' attribute to enclosing static method
80 | transcript: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
81 | newEntry: Transcript.Entry
82 | ) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift:81:19: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Utility for chunking conversation entries with token limits and overlap.
4 | struct ConversationChunker {
| `- note: add '@available' attribute to enclosing struct
5 | /// Default maximum tokens per chunk (1000 tokens).
6 | static let defaultMaxTokensPerChunk: Int = 1000
:
77 | /// - newEntry: The new entry to be added.
78 | /// - Returns: `true` if the transcript plus new entry fits within the limit, `false` otherwise.
79 | static func fitsInContextWindow(
| `- note: add '@available' attribute to enclosing static method
80 | transcript: [Transcript.Entry],
81 | newEntry: Transcript.Entry
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
82 | ) -> Bool {
83 | let currentTokens = estimateTotalTokens(transcript)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift:94:22: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Utility for chunking conversation entries with token limits and overlap.
4 | struct ConversationChunker {
| `- note: add '@available' attribute to enclosing struct
5 | /// Default maximum tokens per chunk (1000 tokens).
6 | static let defaultMaxTokensPerChunk: Int = 1000
:
91 | /// - transcript: The transcript entries to check.
92 | /// - Returns: `true` if the transcript fits within the limit, `false` otherwise.
93 | static func fitsInContextWindow(
| `- note: add '@available' attribute to enclosing static method
94 | transcript: [Transcript.Entry]
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
95 | ) -> Bool {
96 | let totalTokens = estimateTotalTokens(transcript)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/Extensions/Transcript+Extensions.swift:4:18: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Convenience extensions for Transcript.
4 | public extension Transcript {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing extension
5 | /// Pretty prints the transcript with the given prefix count.
6 | ///
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/TranscriptHelpers.swift:13:48: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Helper functions for working with Transcript entries, useful for logging and debugging.
4 | public enum TranscriptHelpers {
| `- note: add '@available' attribute to enclosing enum
5 | /// Extracts text content from a transcript entry.
6 | ///
:
11 | /// - Returns: A string containing all text content from the entry, or `nil` if no text segments are found
12 | /// or the entry type doesn't contain text (e.g., tool calls, tool outputs).
13 | public static func extractText(from entry: Transcript.Entry) -> String? {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
14 | switch entry {
15 | case .instructions(let instructions):
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/TranscriptHelpers.swift:54:43: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Helper functions for working with Transcript entries, useful for logging and debugging.
4 | public enum TranscriptHelpers {
| `- note: add '@available' attribute to enclosing enum
5 | /// Extracts text content from a transcript entry.
6 | ///
:
52 | /// - Parameter entry: The entry to estimate.
53 | /// - Returns: Estimated token count.
54 | static func estimateTokens(for entry: Transcript.Entry) -> Int {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
55 | guard let text = extractText(from: entry) else {
56 | return 0
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ReductionInfo.swift:23:36: error: 'Transcript' is only available in watchOS 27.0 or newer
19 | /// }
20 | /// ```
21 | public struct ReductionInfo: Sendable {
| `- note: add '@available' attribute to enclosing struct
22 | /// The transcript before reduction was applied.
23 | public let originalTranscript: Transcript
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
24 |
25 | /// The transcript after reduction was applied.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ReductionInfo.swift:26:35: error: 'Transcript' is only available in watchOS 27.0 or newer
19 | /// }
20 | /// ```
21 | public struct ReductionInfo: Sendable {
| `- note: add '@available' attribute to enclosing struct
22 | /// The transcript before reduction was applied.
23 | public let originalTranscript: Transcript
24 |
25 | /// The transcript after reduction was applied.
26 | public let reducedTranscript: Transcript
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
27 |
28 | /// The name of the reducer that performed the reduction.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/CustomStateExtractor.swift:7:46: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A state extractor implementation that uses a custom extraction function.
5 | /// This allows users to provide their own state extraction logic.
6 | public struct CustomStateExtractor: StateExtractor {
| `- note: add '@available' attribute to enclosing struct
7 | private let extractFunction: @Sendable ([Transcript.Entry]) async throws -> StructuredState
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
8 |
9 | /// Creates a custom state extractor with a user-provided extraction function.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/CustomStateExtractor.swift:13:48: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A state extractor implementation that uses a custom extraction function.
5 | /// This allows users to provide their own state extraction logic.
6 | public struct CustomStateExtractor: StateExtractor {
| `- note: add '@available' attribute to enclosing struct
7 | private let extractFunction: @Sendable ([Transcript.Entry]) async throws -> StructuredState
8 |
:
10 | ///
11 | /// - Parameter extractFunction: An async function that takes conversation entries and returns a `StructuredState`.
12 | public init(
| `- note: add '@available' attribute to enclosing initializer
13 | extractFunction: @escaping @Sendable ([Transcript.Entry]) async throws -> StructuredState
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
14 | ) {
15 | self.extractFunction = extractFunction
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/CustomStateExtractor.swift:18:45: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A state extractor implementation that uses a custom extraction function.
5 | /// This allows users to provide their own state extraction logic.
6 | public struct CustomStateExtractor: StateExtractor {
| `- note: add '@available' attribute to enclosing struct
7 | private let extractFunction: @Sendable ([Transcript.Entry]) async throws -> StructuredState
8 |
:
16 | }
17 |
18 | public func extractState(from entries: [Transcript.Entry]) async throws -> StructuredState {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
19 | return try await extractFunction(entries)
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/FoundationModelsStateExtractor.swift:15:45: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// A state extractor that uses FoundationModels to extract structured state.
4 | public struct FoundationModelsStateExtractor: StateExtractor {
| `- note: add '@available' attribute to enclosing struct
5 | public init() {}
6 |
:
13 | /// - Returns: A structured state containing extracted information.
14 | /// - Throws: An error if state extraction fails.
15 | public func extractState(from entries: [Transcript.Entry]) async throws -> StructuredState {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
16 | guard !entries.isEmpty else {
17 | return StructuredState(information: [])
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/FoundationModelsStateExtractor.swift:29:42: error: 'Transcript' is only available in watchOS 27.0 or newer
22 | }
23 |
24 | private extension FoundationModelsStateExtractor {
| `- note: add '@available' attribute to enclosing extension
25 | /// Attempts to extract state, automatically splitting if context window is exceeded.
26 | ///
27 | /// - Parameter entries: The entries to extract state from.
28 | /// - Returns: A structured state.
29 | func extractStateWithRetry(entries: [Transcript.Entry]) async throws -> StructuredState {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
30 | do {
31 | return try await extractStateDirectly(entries: entries)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/FoundationModelsStateExtractor.swift:41:41: error: 'Transcript' is only available in watchOS 27.0 or newer
22 | }
23 |
24 | private extension FoundationModelsStateExtractor {
| `- note: add '@available' attribute to enclosing extension
25 | /// Attempts to extract state, automatically splitting if context window is exceeded.
26 | ///
:
39 |
40 | /// Extracts state directly in a single LLM call.
41 | func extractStateDirectly(entries: [Transcript.Entry]) async throws -> StructuredState {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
42 | let conversationText = entries.enumerated().map { index, entry in
43 | if let text = TranscriptHelpers.extractText(from: entry) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/FoundationModelsStateExtractor.swift:73:40: error: 'Transcript' is only available in watchOS 27.0 or newer
22 | }
23 |
24 | private extension FoundationModelsStateExtractor {
| `- note: add '@available' attribute to enclosing extension
25 | /// Attempts to extract state, automatically splitting if context window is exceeded.
26 | ///
:
71 |
72 | /// Splits entries into parts, extracts state from each part, then combines the results.
73 | func extractStateInParts(entries: [Transcript.Entry]) async throws -> StructuredState {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
74 | guard entries.count > 1 else {
75 | return try await extractStateFromSingleEntry(entries[0])
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/FoundationModelsStateExtractor.swift:89:47: error: 'Transcript' is only available in watchOS 27.0 or newer
22 | }
23 |
24 | private extension FoundationModelsStateExtractor {
| `- note: add '@available' attribute to enclosing extension
25 | /// Attempts to extract state, automatically splitting if context window is exceeded.
26 | ///
:
87 |
88 | /// Handles a single entry that is too large by extracting from its text.
89 | func extractStateFromSingleEntry(_ entry: Transcript.Entry) async throws -> StructuredState {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
90 | guard let text = TranscriptHelpers.extractText(from: entry) else {
91 | return StructuredState(information: [])
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:4:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:6:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
5 | public struct ExtractedFact: Sendable {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
7 | public let key: String
8 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:9:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
5 | public struct ExtractedFact: Sendable {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
7 | public let key: String
8 |
9 | @Guide(description: "The value of this piece of information")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
10 | public let value: String
11 | }
macro expansion @Generable:1:66: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
7 | public let key: String
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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,
+--------------------------------------------------------------------
12 |
13 | @Generable
macro expansion @Generable:11:42: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
7 | public let key: String
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
+--------------------------------------------------------------------
12 |
13 | @Generable
macro expansion @Generable:33:20: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|34 | public var key: String.PartiallyGenerated?
|35 | public var value: String.PartiallyGenerated?
+--------------------------------------------------------------------
12 |
13 | @Generable
macro expansion @Generable:34:28: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var key: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|35 | public var value: String.PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
+--------------------------------------------------------------------
12 |
13 | @Generable
macro expansion @Generable:35:30: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var key: String.PartiallyGenerated?
|35 | public var value: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
|37 | self.id = content.id ?? GenerationID()
+--------------------------------------------------------------------
12 |
13 | @Generable
macro expansion @Generable:36:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var key: String.PartiallyGenerated?
|35 | public var value: String.PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
|38 | self.key = try content.value(forProperty: "key")
+--------------------------------------------------------------------
12 |
13 | @Generable
macro expansion @Generable:32:27: 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/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:1: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public 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
|33 | public var id: GenerationID
|34 | public var key: String.PartiallyGenerated?
+--------------------------------------------------------------------
12 |
13 | @Generable
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/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:4:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
5 | public struct ExtractedFact: Sendable {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
7 | public let key: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:15:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
12 |
13 | @Generable
14 | public struct StructuredState: Sendable {
| `- note: add '@available' attribute to enclosing struct
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
16 | public let information: [ExtractedFact]
17 | }
macro expansion @Generable:1:66: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:1: note: expanded code originates here
11 | }
12 |
13 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
| `- note: add '@available' attribute to enclosing struct
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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,
+--------------------------------------------------------------------
18 |
macro expansion @Generable:10:42: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:1: note: expanded code originates here
11 | }
12 |
13 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
| `- note: add '@available' attribute to enclosing struct
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
| 8 | }
| 9 |
|10 | nonisolated public 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)]()
+--------------------------------------------------------------------
18 |
macro expansion @Generable:31:20: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:1: note: expanded code originates here
11 | }
12 |
13 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
|28 | }
|29 |
|30 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | public var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|32 | public var information: [ExtractedFact].PartiallyGenerated?
|33 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
+--------------------------------------------------------------------
18 |
macro expansion @Generable:32:45: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:1: note: expanded code originates here
11 | }
12 |
13 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
|28 | }
|29 |
|30 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | public var id: GenerationID
|32 | public var information: [ExtractedFact].PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|33 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
|34 | self.id = content.id ?? GenerationID()
+--------------------------------------------------------------------
18 |
macro expansion @Generable:33:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:1: note: expanded code originates here
11 | }
12 |
13 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
|28 | }
|29 |
|30 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|31 | public var id: GenerationID
|32 | public var information: [ExtractedFact].PartiallyGenerated?
|33 | nonisolated public 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.information = try content.value(forProperty: "information")
+--------------------------------------------------------------------
18 |
macro expansion @Generable:30:27: 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/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:1: note: expanded code originates here
11 | }
12 |
13 | @Generable
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
|28 | }
|29 |
|30 | nonisolated public 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 | public var id: GenerationID
|32 | public var information: [ExtractedFact].PartiallyGenerated?
+--------------------------------------------------------------------
18 |
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/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:13:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
11 | }
12 |
13 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
14 | public struct StructuredState: Sendable {
| `- note: add '@available' attribute to enclosing struct
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
macro expansion @Generable:2:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:17:2: note: expanded code originates here
11 | }
12 |
13 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| |- note: in expansion of macro 'Generable' on struct 'StructuredState' here
| `- note: in expansion of macro 'Generable' on struct 'StructuredState' here
14 | public struct StructuredState: Sendable {
15 | @Guide(description: "Extract all important information as key-value pairs. Use descriptive keys that indicate the type of information.")
16 | public let information: [ExtractedFact]
17 | }
+--- macro expansion @Generable -------------------------------------
|1 | extension StructuredState: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated public 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.information = try content.value(forProperty: "information")
|4 | }
+--------------------------------------------------------------------
18 |
macro expansion @Generable:2:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift:11:2: note: expanded code originates here
2 |
3 | /// A key-value fact extracted from conversation history.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| |- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
| `- note: in expansion of macro 'Generable' on struct 'ExtractedFact' here
5 | public struct ExtractedFact: Sendable {
6 | @Guide(description: "The key or name of this piece of information (e.g., 'name', 'date', 'constraint_quiet_table')")
:
9 | @Guide(description: "The value of this piece of information")
10 | public let value: String
11 | }
+--- macro expansion @Generable -------------------------------------
|1 | extension ExtractedFact: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated public 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.key = try content.value(forProperty: "key")
|4 | self.value = try content.value(forProperty: "value")
+--------------------------------------------------------------------
12 |
13 | @Generable
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/StateExtractor.swift:9:38: error: 'Transcript' is only available in watchOS 27.0 or newer
2 |
3 | /// Protocol for extracting structured state from conversation history.
4 | public protocol StateExtractor: Sendable {
| `- note: add '@available' attribute to enclosing protocol
5 | /// Extracts a structured state from the given conversation entries.
6 | ///
7 | /// - Parameter entries: The conversation entries to analyze.
8 | /// - Returns: A `StructuredState` containing important facts, constraints, and decisions.
9 | func extractState(from entries: [Transcript.Entry]) async throws -> StructuredState
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
10 | }
11 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift:7:48: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A summarizer implementation that uses a custom LLM function.
5 | /// This allows users to provide their own summarization logic.
6 | public struct CustomLLMSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
7 | private let summarizeFunction: @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
8 |
9 | /// Creates a custom LLM summarizer with a user-provided summarization function.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift:13:50: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A summarizer implementation that uses a custom LLM function.
5 | /// This allows users to provide their own summarization logic.
6 | public struct CustomLLMSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
7 | private let summarizeFunction: @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
8 |
:
10 | ///
11 | /// - Parameter summarizeFunction: An async function that takes conversation entries, optional instructions, and locale, and returns a summary string.
12 | public init(
| `- note: add '@available' attribute to enclosing initializer
13 | summarizeFunction: @escaping @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
14 | ) {
15 | self.summarizeFunction = summarizeFunction
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift:19:19: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A summarizer implementation that uses a custom LLM function.
5 | /// This allows users to provide their own summarization logic.
6 | public struct CustomLLMSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
7 | private let summarizeFunction: @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
8 |
:
16 | }
17 |
18 | public func summarize(
| `- note: add '@available' attribute to enclosing instance method
19 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
20 | instructions: String?,
21 | locale: Locale
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:31:19: error: 'Transcript' is only available in watchOS 27.0 or newer
9 |
10 | /// A default summarizer implementation using FoundationModels.
11 | public struct FoundationModelsSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
12 | private static let defaultSummarizationInstructions = """
13 | Summarize the following conversation briefly, preserving only essential facts and decisions. Remove examples, repetition, and implementation details. Provide only the summary content directly without any introductory phrases, explanations, or meta-commentary. Start immediately with the summary.
:
28 | /// - Returns: A summary of the conversation.
29 | /// - Throws: An error if the summarization fails.
30 | public func summarize(
| `- note: add '@available' attribute to enclosing instance method
31 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
32 | instructions: String?,
33 | locale: Locale = .enUS
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:56:19: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
53 | /// - instructions: The summarization instructions.
54 | /// - Returns: A summary string.
55 | func summarizeWithRetry(
| `- note: add '@available' attribute to enclosing instance method
56 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
57 | instructions: String
58 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:74:19: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
71 |
72 | /// Summarizes entries directly in a single LLM call.
73 | func summarizeDirectly(
| `- note: add '@available' attribute to enclosing instance method
74 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
75 | instructions: String
76 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:97:19: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
94 |
95 | /// Splits entries into parts, summarizes each part, then combines the summaries.
96 | func summarizeInParts(
| `- note: add '@available' attribute to enclosing instance method
97 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
98 | instructions: String
99 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:120:18: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
117 |
118 | /// Handles the edge case of a single entry that's too large for the context window.
119 | func summarizeLargeEntry(
| `- note: add '@available' attribute to enclosing instance method
120 | _ entry: Transcript.Entry,
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
121 | instructions: String
122 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Summarizer.swift:16:19: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A protocol for summarizing conversation history.
5 | /// Implementations can use different models or strategies for summarization.
6 | public protocol Summarizer: Sendable {
| `- note: add '@available' attribute to enclosing protocol
7 | /// Summarizes a collection of conversation entries.
8 | ///
:
13 | /// - Returns: A summary string of the conversation entries.
14 | /// - Throws: An error if summarization fails.
15 | func summarize(
| `- note: add '@available' attribute to enclosing instance method
16 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
17 | instructions: String?,
18 | locale: Locale
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:6:26: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
| `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
7 |
8 | /// Creates a FoundationModels topic detector.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:11:26: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
9 | ///
10 | /// - Parameter session: An optional LanguageModelSession. If `nil`, creates a new session.
11 | public init(session: LanguageModelSession? = nil) {
| | `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session ?? LanguageModelSession()
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:15:43: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:15:80: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:4:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:63:19: error: 'Transcript' is only available in watchOS 27.0 or newer
51 | }
52 |
53 | private extension FoundationModelsTopicDetector {
| `- note: add '@available' attribute to enclosing extension
54 | /// Groups entries based on topic detection results.
55 | ///
:
59 | /// - Returns: An array of entry groups, where each group represents a topic.
60 | /// - Throws: An error if grouping fails (e.g., invalid indices).
61 | func groupEntriesByTopics(
| `- note: add '@available' attribute to enclosing instance method
62 | results: [TopicDetectionResult],
63 | entries: [Transcript.Entry]
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
64 | ) throws -> [[Transcript.Entry]] {
65 | var topicGroups: [[Transcript.Entry]] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:64:19: error: 'Transcript' is only available in watchOS 27.0 or newer
51 | }
52 |
53 | private extension FoundationModelsTopicDetector {
| `- note: add '@available' attribute to enclosing extension
54 | /// Groups entries based on topic detection results.
55 | ///
:
59 | /// - Returns: An array of entry groups, where each group represents a topic.
60 | /// - Throws: An error if grouping fails (e.g., invalid indices).
61 | func groupEntriesByTopics(
| `- note: add '@available' attribute to enclosing instance method
62 | results: [TopicDetectionResult],
63 | entries: [Transcript.Entry]
64 | ) throws -> [[Transcript.Entry]] {
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
65 | var topicGroups: [[Transcript.Entry]] = []
66 | var usedIndices = Set<Int>()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:6:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
7 | public let topic: String
8 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:9:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
8 |
9 | @Guide(description: "The indices of the entries that are related to the topic")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
10 | public let entryIndices: [Int]
11 | }
macro expansion @Generable:1:66: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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,
+--------------------------------------------------------------------
12 |
macro expansion @Generable:11:42: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
+--------------------------------------------------------------------
12 |
macro expansion @Generable:33:20: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
+--------------------------------------------------------------------
12 |
macro expansion @Generable:34:30: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
+--------------------------------------------------------------------
12 |
macro expansion @Generable:35:36: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
|37 | self.id = content.id ?? GenerationID()
+--------------------------------------------------------------------
12 |
macro expansion @Generable:36:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
|38 | self.topic = try content.value(forProperty: "topic")
+--------------------------------------------------------------------
12 |
macro expansion @Generable:32:27: 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/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public 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
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
+--------------------------------------------------------------------
12 |
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/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:4:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
macro expansion @Generable:2:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:2: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|1 | extension TopicDetectionResult: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated public 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.topic = try content.value(forProperty: "topic")
|4 | self.entryIndices = try content.value(forProperty: "entryIndices")
+--------------------------------------------------------------------
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/TopicDetector.swift:11:36: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A protocol for detecting topics in conversation history.
4 | /// Implementations can use different strategies to group entries by topic.
5 | public protocol TopicDetector: Sendable {
| `- note: add '@available' attribute to enclosing protocol
6 | /// Detects topics in conversation entries and groups them accordingly.
7 | ///
:
9 | /// - Returns: An array of topic groups, where each group contains entries that belong to the same topic. Each group is represented as an array of entries.
10 | /// - Throws: An error if topic detection fails.
11 | func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/TopicDetector.swift:11:73: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A protocol for detecting topics in conversation history.
4 | /// Implementations can use different strategies to group entries by topic.
5 | public protocol TopicDetector: Sendable {
| `- note: add '@available' attribute to enclosing protocol
6 | /// Detects topics in conversation entries and groups them accordingly.
7 | ///
:
9 | /// - Returns: An array of topic groups, where each group contains entries that belong to the same topic. Each group is represented as an array of entries.
10 | /// - Throws: An error if topic detection fails.
11 | func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
12 | }
13 |
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/ContextReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/HeadTailWindowReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/HierarchicalSummaryReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/NoOpReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/RollingSummaryReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/SlidingWindowReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReducers/StructuredStateReducer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReductionEngine.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReductionLogLevel.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReductionObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextReductionPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ContextualSession.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/Constants.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ContextReductionLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/ConversationChunker.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/Extensions/Locale+Extensions.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/Extensions/Transcript+Extensions.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Helpers/TranscriptHelpers.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/ReductionInfo.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/CustomStateExtractor.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/FoundationModelsStateExtractor.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredState.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/Models/StructuredStateConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/StateExtraction/StateExtractor.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Models/HierarchicalSummaryConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Models/RollingSummaryConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Models/SummaryGranularity.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Summarizer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/TopicDetector.swift -target arm64-apple-watchos26.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationModelsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationModelsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement-dependencies-2.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=5 -profile-generate -profile-coverage-mapping -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name SwiftContextManagement -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swift-context-management.build/Debug-watchos/SwiftContextManagement-t.build/Objects-normal/arm64/SwiftContextManagement.abi.json
SwiftCompile normal arm64 (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64_32 Compiling\ FoundationModelsTopicDetector.swift,\ TopicDetectionResult.swift,\ TopicDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/TopicDetector.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:6:26: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
| `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
7 |
8 | /// Creates a FoundationModels topic detector.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:11:26: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
9 | ///
10 | /// - Parameter session: An optional LanguageModelSession. If `nil`, creates a new session.
11 | public init(session: LanguageModelSession? = nil) {
| | `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session ?? LanguageModelSession()
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:15:43: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:15:80: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:4:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:63:19: error: 'Transcript' is only available in watchOS 27.0 or newer
51 | }
52 |
53 | private extension FoundationModelsTopicDetector {
| `- note: add '@available' attribute to enclosing extension
54 | /// Groups entries based on topic detection results.
55 | ///
:
59 | /// - Returns: An array of entry groups, where each group represents a topic.
60 | /// - Throws: An error if grouping fails (e.g., invalid indices).
61 | func groupEntriesByTopics(
| `- note: add '@available' attribute to enclosing instance method
62 | results: [TopicDetectionResult],
63 | entries: [Transcript.Entry]
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
64 | ) throws -> [[Transcript.Entry]] {
65 | var topicGroups: [[Transcript.Entry]] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:64:19: error: 'Transcript' is only available in watchOS 27.0 or newer
51 | }
52 |
53 | private extension FoundationModelsTopicDetector {
| `- note: add '@available' attribute to enclosing extension
54 | /// Groups entries based on topic detection results.
55 | ///
:
59 | /// - Returns: An array of entry groups, where each group represents a topic.
60 | /// - Throws: An error if grouping fails (e.g., invalid indices).
61 | func groupEntriesByTopics(
| `- note: add '@available' attribute to enclosing instance method
62 | results: [TopicDetectionResult],
63 | entries: [Transcript.Entry]
64 | ) throws -> [[Transcript.Entry]] {
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
65 | var topicGroups: [[Transcript.Entry]] = []
66 | var usedIndices = Set<Int>()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:12:35: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
9 | ///
10 | /// - Parameter session: An optional LanguageModelSession. If `nil`, creates a new session.
11 | public init(session: LanguageModelSession? = nil) {
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session ?? LanguageModelSession()
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:12:35: error: 'init(model:tools:instructions:)' is unavailable in watchOS
10 | /// - Parameter session: An optional LanguageModelSession. If `nil`, creates a new session.
11 | public init(session: LanguageModelSession? = nil) {
12 | self.session = session ?? LanguageModelSession()
| `- error: 'init(model:tools:instructions:)' is unavailable in watchOS
13 | }
14 |
FoundationModels.LanguageModelSession.init:2:20: note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
1 | class LanguageModelSession {
2 | public convenience init(model: SystemLanguageModel = .default, tools: [any Tool] = [], instructions: Instructions? = nil)}
| `- note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:45:42: error: 'respond(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
:
43 | """
44 |
45 | let response = try await session.respond(to: topicDetectionPrompt, generating: [TopicDetectionResult].self)
| |- error: 'respond(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
46 | return try groupEntriesByTopics(
47 | results: response.content,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:45:13: error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
:
43 | """
44 |
45 | let response = try await session.respond(to: topicDetectionPrompt, generating: [TopicDetectionResult].self)
| |- error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
46 | return try groupEntriesByTopics(
47 | results: response.content,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:47:31: error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
3 | /// A default topic detector implementation using FoundationModels.
4 | /// Uses the LLM to identify topics and group conversation entries accordingly.
5 | public struct FoundationModelsTopicDetector: TopicDetector {
| `- note: add '@available' attribute to enclosing struct
6 | private let session: LanguageModelSession
7 |
:
13 | }
14 |
15 | public func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]] {
| `- note: add '@available' attribute to enclosing instance method
16 | let conversationText = entries.enumerated().map { index, entry in
17 | if let text = TranscriptHelpers.extractText(from: entry) {
:
45 | let response = try await session.respond(to: topicDetectionPrompt, generating: [TopicDetectionResult].self)
46 | return try groupEntriesByTopics(
47 | results: response.content,
| |- error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
48 | entries: entries
49 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:65:28: error: 'Transcript' is only available in watchOS 27.0 or newer
51 | }
52 |
53 | private extension FoundationModelsTopicDetector {
| `- note: add '@available' attribute to enclosing extension
54 | /// Groups entries based on topic detection results.
55 | ///
:
59 | /// - Returns: An array of entry groups, where each group represents a topic.
60 | /// - Throws: An error if grouping fails (e.g., invalid indices).
61 | func groupEntriesByTopics(
| `- note: add '@available' attribute to enclosing instance method
62 | results: [TopicDetectionResult],
63 | entries: [Transcript.Entry]
64 | ) throws -> [[Transcript.Entry]] {
65 | var topicGroups: [[Transcript.Entry]] = []
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
66 | var usedIndices = Set<Int>()
67 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:9:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
8 |
9 | @Guide(description: "The indices of the entries that are related to the topic")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
10 | public let entryIndices: [Int]
11 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift:69:74: error: 'Transcript' is only available in watchOS 27.0 or newer
51 | }
52 |
53 | private extension FoundationModelsTopicDetector {
| `- note: add '@available' attribute to enclosing extension
54 | /// Groups entries based on topic detection results.
55 | ///
:
59 | /// - Returns: An array of entry groups, where each group represents a topic.
60 | /// - Throws: An error if grouping fails (e.g., invalid indices).
61 | func groupEntriesByTopics(
| `- note: add '@available' attribute to enclosing instance method
62 | results: [TopicDetectionResult],
63 | entries: [Transcript.Entry]
:
67 |
68 | for result in results {
69 | let groupEntries = result.entryIndices.compactMap { index -> Transcript.Entry? in
| |- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
70 | guard index >= 0 && index < entries.count else {
71 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:6:6: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
7 | public let topic: String
8 |
macro expansion @Generable:1:66: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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,
+--------------------------------------------------------------------
12 |
macro expansion @Generable:11:42: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
+--------------------------------------------------------------------
12 |
macro expansion @Generable:33:20: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
+--------------------------------------------------------------------
12 |
macro expansion @Generable:34:30: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
+--------------------------------------------------------------------
12 |
macro expansion @Generable:35:36: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
|37 | self.id = content.id ?? GenerationID()
+--------------------------------------------------------------------
12 |
macro expansion @Generable:36:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
|38 | self.topic = try content.value(forProperty: "topic")
+--------------------------------------------------------------------
12 |
macro expansion @Generable:32:27: 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/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public 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
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
+--------------------------------------------------------------------
12 |
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/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:4:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
macro expansion @Generable:2:57: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:2: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|1 | extension TopicDetectionResult: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated public 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.topic = try content.value(forProperty: "topic")
|4 | self.entryIndices = try content.value(forProperty: "entryIndices")
+--------------------------------------------------------------------
12 |
macro expansion @Generable:2:22: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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: [
+--------------------------------------------------------------------
12 |
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/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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: [
+--------------------------------------------------------------------
12 |
macro expansion @Generable:5:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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: "topic", description: "The topic of the entries", type: String.self),
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 6 | FoundationModels.GenerationSchema.Property(name: "entryIndices", description: "The indices of the entries that are related to the topic", type: [Int].self)
| 7 | ]
+--------------------------------------------------------------------
12 |
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/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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: "topic", description: "The topic of the entries", 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 | FoundationModels.GenerationSchema.Property(name: "entryIndices", description: "The indices of the entries that are related to the topic", type: [Int].self)
| 7 | ]
+--------------------------------------------------------------------
12 |
macro expansion @Generable:6:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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: "topic", description: "The topic of the entries", type: String.self),
| 6 | FoundationModels.GenerationSchema.Property(name: "entryIndices", description: "The indices of the entries that are related to the topic", type: [Int].self)
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 7 | ]
| 8 | )
+--------------------------------------------------------------------
12 |
macro expansion @Generable:6:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 1 | nonisolated public 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: "topic", description: "The topic of the entries", type: String.self),
| 6 | FoundationModels.GenerationSchema.Property(name: "entryIndices", description: "The indices of the entries that are related to the topic", type: [Int].self)
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 7 | ]
| 8 | )
+--------------------------------------------------------------------
12 |
macro expansion @Generable:13:49: error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| | |- error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|14 | addProperty(name: "topic", value: self.topic)
|15 | addProperty(name: "entryIndices", value: self.entryIndices)
+--------------------------------------------------------------------
12 |
macro expansion @Generable:14:5: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|14 | addProperty(name: "topic", value: self.topic)
| | |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|15 | addProperty(name: "entryIndices", value: self.entryIndices)
|16 | return GeneratedContent(
+--------------------------------------------------------------------
12 |
macro expansion @Generable:15:5: error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|14 | addProperty(name: "topic", value: self.topic)
|15 | addProperty(name: "entryIndices", value: self.entryIndices)
| | |- error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|16 | return GeneratedContent(
|17 | properties: properties,
+--------------------------------------------------------------------
12 |
macro expansion @Generable:16:12: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|14 | addProperty(name: "topic", value: self.topic)
|15 | addProperty(name: "entryIndices", value: self.entryIndices)
|16 | return GeneratedContent(
| | |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|17 | properties: properties,
|18 | uniquingKeysWith: { _, second in
+--------------------------------------------------------------------
12 |
macro expansion @Generable:16:12: error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|14 | addProperty(name: "topic", value: self.topic)
|15 | addProperty(name: "entryIndices", value: self.entryIndices)
|16 | return GeneratedContent(
| | |- error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|17 | properties: properties,
|18 | uniquingKeysWith: { _, second in
+--------------------------------------------------------------------
12 |
macro expansion @Generable:22:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|20 | }
|21 | )
|22 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|23 | properties.append((name: name, value: value))
|24 | }
+--------------------------------------------------------------------
12 |
macro expansion @Generable:22:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|20 | }
|21 | )
|22 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|23 | properties.append((name: name, value: value))
|24 | }
+--------------------------------------------------------------------
12 |
macro expansion @Generable:25:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|23 | properties.append((name: name, value: value))
|24 | }
|25 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|26 | if explicitNil || value != nil {
|27 | properties.append((name: name, value: value))
+--------------------------------------------------------------------
12 |
macro expansion @Generable:25:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|23 | properties.append((name: name, value: value))
|24 | }
|25 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|26 | if explicitNil || value != nil {
|27 | properties.append((name: name, value: value))
+--------------------------------------------------------------------
12 |
macro expansion @Generable:27:47: error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
| `- note: add '@available' attribute to enclosing struct
6 | @Guide(description: "The topic of the entries")
7 | public let topic: String
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
| 9 | }
|10 |
|11 | nonisolated public var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|12 | let explicitNil = false
|13 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|25 | func addProperty(name: String, value: (some Generable)?) {
|26 | if explicitNil || value != nil {
|27 | 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
|28 | }
|29 | }
+--------------------------------------------------------------------
12 |
macro expansion @Generable:37:33: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
| | |- error: 'GenerationID' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|38 | self.topic = try content.value(forProperty: "topic")
|39 | self.entryIndices = try content.value(forProperty: "entryIndices")
+--------------------------------------------------------------------
12 |
macro expansion @Generable:37:33: error: 'init()' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
| | |- error: 'init()' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|38 | self.topic = try content.value(forProperty: "topic")
|39 | self.entryIndices = try content.value(forProperty: "entryIndices")
+--------------------------------------------------------------------
12 |
macro expansion @Generable:38:34: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
|38 | self.topic = try content.value(forProperty: "topic")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|39 | self.entryIndices = try content.value(forProperty: "entryIndices")
|40 | }
+--------------------------------------------------------------------
12 |
macro expansion @Generable:39:41: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:1: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|30 | }
|31 |
|32 | nonisolated public struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent {
| | `- note: add '@available' attribute to enclosing struct
|33 | public var id: GenerationID
|34 | public var topic: String.PartiallyGenerated?
|35 | public var entryIndices: [Int].PartiallyGenerated?
|36 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|37 | self.id = content.id ?? GenerationID()
|38 | self.topic = try content.value(forProperty: "topic")
|39 | self.entryIndices = try content.value(forProperty: "entryIndices")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|40 | }
|41 | }
+--------------------------------------------------------------------
12 |
macro expansion @Generable:3:34: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:2: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|1 | extension TopicDetectionResult: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.topic = try content.value(forProperty: "topic")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|4 | self.entryIndices = try content.value(forProperty: "entryIndices")
|5 | }
+--------------------------------------------------------------------
12 |
macro expansion @Generable:4:41: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift:11:2: note: expanded code originates here
2 |
3 | /// Result of topic detection containing a topic and the indices of related entries.
4 | @Generable
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| |- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
| `- note: in expansion of macro 'Generable' on struct 'TopicDetectionResult' here
5 | public struct TopicDetectionResult {
6 | @Guide(description: "The topic of the entries")
:
9 | @Guide(description: "The indices of the entries that are related to the topic")
10 | public let entryIndices: [Int]
11 | }
+--- macro expansion @Generable -------------------------------------
|1 | extension TopicDetectionResult: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated public init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.topic = try content.value(forProperty: "topic")
|4 | self.entryIndices = try content.value(forProperty: "entryIndices")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|5 | }
|6 | }
+--------------------------------------------------------------------
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/TopicDetector.swift:11:36: error: 'Transcript' is only available in watchOS 27.0 or newer
3 | /// A protocol for detecting topics in conversation history.
4 | /// Implementations can use different strategies to group entries by topic.
5 | public protocol TopicDetector: Sendable {
| `- note: add '@available' attribute to enclosing protocol
6 | /// Detects topics in conversation entries and groups them accordingly.
7 | ///
:
9 | /// - Returns: An array of topic groups, where each group contains entries that belong to the same topic. Each group is represented as an array of entries.
10 | /// - Throws: An error if topic detection fails.
11 | func detectTopics(in entries: [Transcript.Entry]) async throws -> [[Transcript.Entry]]
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
12 | }
13 |
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/FoundationModelsTopicDetector.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FoundationModelsTopicDetector.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/Models/TopicDetectionResult.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TopicDetectionResult.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/TopicDetection/TopicDetector.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TopicDetector.swift
SwiftCompile normal arm64_32 Compiling\ CustomLLMSummarizer.swift,\ FoundationModelsSummarizer.swift,\ HierarchicalSummaryConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Models/HierarchicalSummaryConfiguration.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift:7:48: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A summarizer implementation that uses a custom LLM function.
5 | /// This allows users to provide their own summarization logic.
6 | public struct CustomLLMSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
7 | private let summarizeFunction: @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
8 |
9 | /// Creates a custom LLM summarizer with a user-provided summarization function.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift:13:50: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A summarizer implementation that uses a custom LLM function.
5 | /// This allows users to provide their own summarization logic.
6 | public struct CustomLLMSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
7 | private let summarizeFunction: @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
8 |
:
10 | ///
11 | /// - Parameter summarizeFunction: An async function that takes conversation entries, optional instructions, and locale, and returns a summary string.
12 | public init(
| `- note: add '@available' attribute to enclosing initializer
13 | summarizeFunction: @escaping @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
14 | ) {
15 | self.summarizeFunction = summarizeFunction
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift:19:19: error: 'Transcript' is only available in watchOS 27.0 or newer
4 | /// A summarizer implementation that uses a custom LLM function.
5 | /// This allows users to provide their own summarization logic.
6 | public struct CustomLLMSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
7 | private let summarizeFunction: @Sendable ([Transcript.Entry], String?, Locale) async throws -> String
8 |
:
16 | }
17 |
18 | public func summarize(
| `- note: add '@available' attribute to enclosing instance method
19 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
20 | instructions: String?,
21 | locale: Locale
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:31:19: error: 'Transcript' is only available in watchOS 27.0 or newer
9 |
10 | /// A default summarizer implementation using FoundationModels.
11 | public struct FoundationModelsSummarizer: Summarizer {
| `- note: add '@available' attribute to enclosing struct
12 | private static let defaultSummarizationInstructions = """
13 | Summarize the following conversation briefly, preserving only essential facts and decisions. Remove examples, repetition, and implementation details. Provide only the summary content directly without any introductory phrases, explanations, or meta-commentary. Start immediately with the summary.
:
28 | /// - Returns: A summary of the conversation.
29 | /// - Throws: An error if the summarization fails.
30 | public func summarize(
| `- note: add '@available' attribute to enclosing instance method
31 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
32 | instructions: String?,
33 | locale: Locale = .enUS
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:56:19: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
53 | /// - instructions: The summarization instructions.
54 | /// - Returns: A summary string.
55 | func summarizeWithRetry(
| `- note: add '@available' attribute to enclosing instance method
56 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
57 | instructions: String
58 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:74:19: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
71 |
72 | /// Summarizes entries directly in a single LLM call.
73 | func summarizeDirectly(
| `- note: add '@available' attribute to enclosing instance method
74 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
75 | instructions: String
76 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:97:19: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
94 |
95 | /// Splits entries into parts, summarizes each part, then combines the summaries.
96 | func summarizeInParts(
| `- note: add '@available' attribute to enclosing instance method
97 | entries: [Transcript.Entry],
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
98 | instructions: String
99 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:120:18: error: 'Transcript' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
117 |
118 | /// Handles the edge case of a single entry that's too large for the context window.
119 | func summarizeLargeEntry(
| `- note: add '@available' attribute to enclosing instance method
120 | _ entry: Transcript.Entry,
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
121 | instructions: String
122 | ) async throws -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:62:30: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
53 | /// - instructions: The summarization instructions.
54 | /// - Returns: A summary string.
55 | func summarizeWithRetry(
| `- note: add '@available' attribute to enclosing instance method
56 | entries: [Transcript.Entry],
57 | instructions: String
:
60 | // Try to summarize directly
61 | return try await summarizeDirectly(entries: entries, instructions: instructions)
62 | } catch let error as LanguageModelSession.GenerationError {
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
63 | // Check if it's a context window error
64 | if case .exceededContextWindowSize = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:62:30: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
53 | /// - instructions: The summarization instructions.
54 | /// - Returns: A summary string.
55 | func summarizeWithRetry(
| `- note: add '@available' attribute to enclosing instance method
56 | entries: [Transcript.Entry],
57 | instructions: String
:
60 | // Try to summarize directly
61 | return try await summarizeDirectly(entries: entries, instructions: instructions)
62 | } catch let error as LanguageModelSession.GenerationError {
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
63 | // Check if it's a context window error
64 | if case .exceededContextWindowSize = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:90:23: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
71 |
72 | /// Summarizes entries directly in a single LLM call.
73 | func summarizeDirectly(
| `- note: add '@available' attribute to enclosing instance method
74 | entries: [Transcript.Entry],
75 | instructions: String
:
88 | """
89 |
90 | let session = LanguageModelSession()
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
91 | let response = try await session.respond(to: prompt)
92 | return response.content
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:90:23: error: 'init(model:tools:instructions:)' is unavailable in watchOS
88 | """
89 |
90 | let session = LanguageModelSession()
| `- error: 'init(model:tools:instructions:)' is unavailable in watchOS
91 | let response = try await session.respond(to: prompt)
92 | return response.content
FoundationModels.LanguageModelSession.init:2:20: note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
1 | class LanguageModelSession {
2 | public convenience init(model: SystemLanguageModel = .default, tools: [any Tool] = [], instructions: Instructions? = nil)}
| `- note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:91:42: error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
71 |
72 | /// Summarizes entries directly in a single LLM call.
73 | func summarizeDirectly(
| `- note: add '@available' attribute to enclosing instance method
74 | entries: [Transcript.Entry],
75 | instructions: String
:
89 |
90 | let session = LanguageModelSession()
91 | let response = try await session.respond(to: prompt)
| |- error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
92 | return response.content
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:91:13: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
71 |
72 | /// Summarizes entries directly in a single LLM call.
73 | func summarizeDirectly(
| `- note: add '@available' attribute to enclosing instance method
74 | entries: [Transcript.Entry],
75 | instructions: String
:
89 |
90 | let session = LanguageModelSession()
91 | let response = try await session.respond(to: prompt)
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
92 | return response.content
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:92:25: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
71 |
72 | /// Summarizes entries directly in a single LLM call.
73 | func summarizeDirectly(
| `- note: add '@available' attribute to enclosing instance method
74 | entries: [Transcript.Entry],
75 | instructions: String
:
90 | let session = LanguageModelSession()
91 | let response = try await session.respond(to: prompt)
92 | return response.content
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
93 | }
94 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:155:27: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
139 |
140 | /// Summarizes raw text with retry on context window errors.
141 | func summarizeText(
| `- note: add '@available' attribute to enclosing instance method
142 | _ text: String,
143 | instructions: String
:
153 |
154 | do {
155 | let session = LanguageModelSession()
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
156 | let response = try await session.respond(to: prompt)
157 | return response.content
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:155:27: error: 'init(model:tools:instructions:)' is unavailable in watchOS
153 |
154 | do {
155 | let session = LanguageModelSession()
| `- error: 'init(model:tools:instructions:)' is unavailable in watchOS
156 | let response = try await session.respond(to: prompt)
157 | return response.content
FoundationModels.LanguageModelSession.init:2:20: note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
1 | class LanguageModelSession {
2 | public convenience init(model: SystemLanguageModel = .default, tools: [any Tool] = [], instructions: Instructions? = nil)}
| `- note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:156:46: error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
139 |
140 | /// Summarizes raw text with retry on context window errors.
141 | func summarizeText(
| `- note: add '@available' attribute to enclosing instance method
142 | _ text: String,
143 | instructions: String
:
154 | do {
155 | let session = LanguageModelSession()
156 | let response = try await session.respond(to: prompt)
| |- error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
157 | return response.content
158 | } catch let error as LanguageModelSession.GenerationError {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:156:17: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
139 |
140 | /// Summarizes raw text with retry on context window errors.
141 | func summarizeText(
| `- note: add '@available' attribute to enclosing instance method
142 | _ text: String,
143 | instructions: String
:
154 | do {
155 | let session = LanguageModelSession()
156 | let response = try await session.respond(to: prompt)
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
157 | return response.content
158 | } catch let error as LanguageModelSession.GenerationError {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:157:29: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
139 |
140 | /// Summarizes raw text with retry on context window errors.
141 | func summarizeText(
| `- note: add '@available' attribute to enclosing instance method
142 | _ text: String,
143 | instructions: String
:
155 | let session = LanguageModelSession()
156 | let response = try await session.respond(to: prompt)
157 | return response.content
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
158 | } catch let error as LanguageModelSession.GenerationError {
159 | if case .exceededContextWindowSize = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:158:30: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
139 |
140 | /// Summarizes raw text with retry on context window errors.
141 | func summarizeText(
| `- note: add '@available' attribute to enclosing instance method
142 | _ text: String,
143 | instructions: String
:
156 | let response = try await session.respond(to: prompt)
157 | return response.content
158 | } catch let error as LanguageModelSession.GenerationError {
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
159 | if case .exceededContextWindowSize = error {
160 | // Text still too large, split it further
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:158:30: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
139 |
140 | /// Summarizes raw text with retry on context window errors.
141 | func summarizeText(
| `- note: add '@available' attribute to enclosing instance method
142 | _ text: String,
143 | instructions: String
:
156 | let response = try await session.respond(to: prompt)
157 | return response.content
158 | } catch let error as LanguageModelSession.GenerationError {
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
159 | if case .exceededContextWindowSize = error {
160 | // Text still too large, split it further
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:196:27: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
179 |
180 | /// Combines multiple summaries into one coherent summary.
181 | func combineSummaries(_ summaries: [String]) async throws -> String {
| `- note: add '@available' attribute to enclosing instance method
182 | let combinedText = summaries.enumerated()
183 | .map { "Part \($0.offset + 1):\n\($0.element)" }
:
194 |
195 | do {
196 | let session = LanguageModelSession()
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
197 | let response = try await session.respond(to: prompt)
198 | return response.content
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:196:27: error: 'init(model:tools:instructions:)' is unavailable in watchOS
194 |
195 | do {
196 | let session = LanguageModelSession()
| `- error: 'init(model:tools:instructions:)' is unavailable in watchOS
197 | let response = try await session.respond(to: prompt)
198 | return response.content
FoundationModels.LanguageModelSession.init:2:20: note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
1 | class LanguageModelSession {
2 | public convenience init(model: SystemLanguageModel = .default, tools: [any Tool] = [], instructions: Instructions? = nil)}
| `- note: 'init(model:tools:instructions:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:197:46: error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
179 |
180 | /// Combines multiple summaries into one coherent summary.
181 | func combineSummaries(_ summaries: [String]) async throws -> String {
| `- note: add '@available' attribute to enclosing instance method
182 | let combinedText = summaries.enumerated()
183 | .map { "Part \($0.offset + 1):\n\($0.element)" }
:
195 | do {
196 | let session = LanguageModelSession()
197 | let response = try await session.respond(to: prompt)
| |- error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
198 | return response.content
199 | } catch let error as LanguageModelSession.GenerationError {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:197:17: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
179 |
180 | /// Combines multiple summaries into one coherent summary.
181 | func combineSummaries(_ summaries: [String]) async throws -> String {
| `- note: add '@available' attribute to enclosing instance method
182 | let combinedText = summaries.enumerated()
183 | .map { "Part \($0.offset + 1):\n\($0.element)" }
:
195 | do {
196 | let session = LanguageModelSession()
197 | let response = try await session.respond(to: prompt)
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
198 | return response.content
199 | } catch let error as LanguageModelSession.GenerationError {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:198:29: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
179 |
180 | /// Combines multiple summaries into one coherent summary.
181 | func combineSummaries(_ summaries: [String]) async throws -> String {
| `- note: add '@available' attribute to enclosing instance method
182 | let combinedText = summaries.enumerated()
183 | .map { "Part \($0.offset + 1):\n\($0.element)" }
:
196 | let session = LanguageModelSession()
197 | let response = try await session.respond(to: prompt)
198 | return response.content
| |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
199 | } catch let error as LanguageModelSession.GenerationError {
200 | if case .exceededContextWindowSize = error {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift:199:30: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
46 | }
47 |
48 | private extension FoundationModelsSummarizer {
| `- note: add '@available' attribute to enclosing extension
49 | /// Attempts to summarize entries, automatically splitting if context window is exceeded.
50 | ///
:
179 |
180 | /// Combines multiple summaries into one coherent summary.
181 | func combineSummaries(_ summaries: [String]) async throws -> String {
| `- note: add '@available' attribute to enclosing instance method
182 | let combinedText = summaries.enumerated()
183 | .map { "Part \($0.offset + 1):\n\($0.element)" }
:
197 | let response = try await session.respond(to: prompt)
198 | return response.content
199 | } catch let error as LanguageModelSession.GenerationError {
| |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
200 | if case .exceededContextWindowSize = error {
201 | // Too many summaries to combine at once - split them
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/CustomLLMSummarizer.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CustomLLMSummarizer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/FoundationModelsSummarizer.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FoundationModelsSummarizer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftContextManagement/Summarization/Models/HierarchicalSummaryConfiguration.swift (in target 'SwiftContextManagement' from project 'swift-context-management')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile HierarchicalSummaryConfiguration.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-23 21:15:36.224 xcodebuild[763:4597] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-23 21:15:36.367 xcodebuild[763:4597] [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 'SwiftContextManagement' from project 'swift-context-management')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SwiftContextManagement (in target 'SwiftContextManagement' from project 'swift-context-management')
SwiftEmitModule normal arm64 Emitting\ module\ for\ SwiftContextManagement (in target 'SwiftContextManagement' from project 'swift-context-management')
SwiftCompile normal arm64 (in target 'SwiftContextManagement' from project 'swift-context-management')
Building workspace swift-context-management with scheme swift-context-management
(5 failures)
BUILD FAILURE 6.4 watchOS