Build Information
Failed to build yap, reference main (90d765), with Swift 6.1 for macOS (SPM) on 15 Feb 2026 19:10:20 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[195/207] Compiling yap Yap.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[196/207] Compiling yap TranscriptionEngine.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:23:15: error: cannot find 'SpeechTranscriber' in scope
21 | }
22 |
23 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
24 | throw TranscriptionError.speechTranscriberNotAvailable
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:27:38: error: cannot find 'SpeechTranscriber' in scope
25 | }
26 |
27 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
28 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) else {
29 | throw TranscriptionError.unsupportedLocale(options.locale.identifier)
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:28:65: error: cannot infer contextual base in reference to member 'bcp47'
26 |
27 | let supportedLocales = await SpeechTranscriber.supportedLocales
28 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
29 | throw TranscriptionError.unsupportedLocale(options.locale.identifier)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:32:29: error: cannot find 'AssetInventory' in scope
30 | }
31 |
32 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
33 | await AssetInventory.release(reservedLocale: locale)
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:35:19: error: cannot find 'AssetInventory' in scope
33 | await AssetInventory.release(reservedLocale: locale)
34 | }
35 | try await AssetInventory.reserve(locale: options.locale)
| `- error: cannot find 'AssetInventory' in scope
36 |
37 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:37:27: error: cannot find 'SpeechTranscriber' in scope
35 | try await AssetInventory.reserve(locale: options.locale)
36 |
37 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
38 | locale: options.locale,
39 | transcriptionOptions: options.censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:39:54: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
37 | let transcriber = SpeechTranscriber(
38 | locale: options.locale,
39 | transcriptionOptions: options.censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
40 | reportingOptions: [],
41 | attributeOptions: options.outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:41:76: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
39 | transcriptionOptions: options.censor ? [.etiquetteReplacements] : [],
40 | reportingOptions: [],
41 | attributeOptions: options.outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
42 | )
43 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:43:27: error: cannot find type 'SpeechModule' in scope
41 | attributeOptions: options.outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
42 | )
43 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
44 |
45 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:45:38: error: cannot find 'SpeechTranscriber' in scope
43 | let modules: [any SpeechModule] = [transcriber]
44 |
45 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
46 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) {
47 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:46:63: error: cannot infer contextual base in reference to member 'bcp47'
44 |
45 | let installedLocales = await SpeechTranscriber.installedLocales
46 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
47 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
48 | try await request.downloadAndInstall()
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:47:40: error: cannot find 'AssetInventory' in scope
45 | let installedLocales = await SpeechTranscriber.installedLocales
46 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) {
47 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
48 | try await request.downloadAndInstall()
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:52:24: error: cannot find 'SpeechAnalyzer' in scope
50 | }
51 |
52 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
53 | let audioFile = try AVAudioFile(forReading: file)
54 | try await analyzer.start(inputAudioFile: audioFile, finishAfterFile: true)
[197/207] Compiling yap OutputFormat.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/OutputFormat.swift:134:48: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
132 | .sentences(maxLength: maxLength)
133 | .compactMap { sentence in
134 | guard let timeRange = sentence.audioTimeRange else { return nil }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
135 | let words = allWords?.filter {
136 | $0.timeRange.start.seconds >= timeRange.start.seconds
[198/207] Compiling yap Transcribe.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:56:15: error: cannot find 'SpeechTranscriber' in scope
54 | }
55 |
56 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
57 | noora.error(.alert("SpeechTranscriber is not available on this device"))
58 | throw Error.speechTranscriberNotAvailable
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | }
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:62:65: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
64 | throw Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:63:126: error: cannot infer key path type from context; consider explicitly specifying a root type
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
| `- error: cannot infer key path type from context; consider explicitly specifying a root type
64 | throw Error.unsupportedLocale
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:67:29: error: cannot find 'AssetInventory' in scope
65 | }
66 |
67 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:70:19: error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
70 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
71 |
72 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:72:27: error: cannot find 'SpeechTranscriber' in scope
70 | try await AssetInventory.reserve(locale: locale)
71 |
72 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:74:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
72 | let transcriber = SpeechTranscriber(
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:76:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:78:27: error: cannot find type 'SpeechModule' in scope
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:79:38: error: cannot find 'SpeechTranscriber' in scope
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:80:63: error: cannot infer contextual base in reference to member 'bcp47'
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
82 | try await noora.progressBarStep(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:81:40: error: cannot find 'AssetInventory' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
82 | try await noora.progressBarStep(
83 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:103:24: error: cannot find 'SpeechAnalyzer' in scope
101 | }
102 |
103 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
104 |
105 | let audioFile = try AVAudioFile(forReading: inputFile)
[199/207] Compiling yap MCP.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[200/207] Compiling yap ListenAndDictate.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:50:15: error: cannot find 'SpeechTranscriber' in scope
48 |
49 | @MainActor mutating func run() async throws {
50 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
51 | throw Transcribe.Error.speechTranscriberNotAvailable
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:54:38: error: cannot find 'SpeechTranscriber' in scope
52 | }
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
56 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:55:65: error: cannot infer contextual base in reference to member 'bcp47'
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
56 | throw Transcribe.Error.unsupportedLocale
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:59:29: error: cannot find 'AssetInventory' in scope
57 | }
58 |
59 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:62:19: error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
62 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:64:39: error: cannot find type 'SpeechTranscriber' in scope
62 | try await AssetInventory.reserve(locale: locale)
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:65:35: error: cannot find type 'SpeechTranscriber' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
66 |
67 | let micTranscriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:67:30: error: cannot find 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
67 | let micTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
68 | locale: locale,
69 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:73:30: error: cannot find 'SpeechTranscriber' in scope
71 | attributeOptions: attributeOptions
72 | )
73 | let sysTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
74 | locale: locale,
75 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:79:27: error: cannot find type 'SpeechModule' in scope
77 | attributeOptions: attributeOptions
78 | )
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
| `- error: cannot find type 'SpeechModule' in scope
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:81:38: error: cannot find 'SpeechTranscriber' in scope
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
83 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:82:63: error: cannot infer contextual base in reference to member 'bcp47'
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
83 | let piped = isatty(STDOUT_FILENO) == 0
84 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:90:40: error: cannot find 'AssetInventory' in scope
88 | Noora()
89 | }
90 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
91 | try await noora.progressBarStep(
92 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:113:27: error: cannot find 'SpeechAnalyzer' in scope
111 |
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:83: error: cannot find 'AnalyzerInput' in scope
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:56: error: generic parameter 'Element' could not be inferred
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:116:37: error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
117 | compatibleWith: [micTranscriber]
118 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:204:70: error: cannot find type 'AnalyzerInput' in scope
202 | // MARK: Lifecycle
203 |
204 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) throws {
| `- error: cannot find type 'AnalyzerInput' in scope
205 | self.targetFormat = targetFormat
206 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:130:27: error: cannot find 'SpeechAnalyzer' in scope
128 |
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:83: error: cannot find 'AnalyzerInput' in scope
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:56: error: generic parameter 'Element' could not be inferred
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:133:37: error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
134 | compatibleWith: [sysTranscriber]
135 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:237:70: error: cannot find type 'AnalyzerInput' in scope
235 | // MARK: Lifecycle
236 |
237 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) {
| `- error: cannot find type 'AnalyzerInput' in scope
238 | self.targetFormat = targetFormat
239 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:282:56: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
280 | let allWords = includeWords ? chunk.wordTimestamps() : nil
281 | for sentence in chunk.sentences(maxLength: sentenceMaxLength) {
282 | guard let timeRange = sentence.audioTimeRange else { continue }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
283 | let text = String(sentence.characters).trimmingCharacters(in: .whitespacesAndNewlines)
284 | guard !text.isEmpty else { continue }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:141:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
139 | let content: SCShareableContent
140 | do {
141 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
142 | } catch {
143 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[201/207] Emitting module yap
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:204:70: error: cannot find type 'AnalyzerInput' in scope
202 | // MARK: Lifecycle
203 |
204 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) throws {
| `- error: cannot find type 'AnalyzerInput' in scope
205 | self.targetFormat = targetFormat
206 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:230:40: error: cannot find type 'AnalyzerInput' in scope
228 | let audioEngine: AVAudioEngine
229 | let converter: AVAudioConverter
230 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
231 | let targetFormat: AVAudioFormat
232 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:39:15: error: cannot find 'SpeechTranscriber' in scope
37 |
38 | @MainActor mutating func run() async throws {
39 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
40 | throw Transcribe.Error.speechTranscriberNotAvailable
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:43:38: error: cannot find 'SpeechTranscriber' in scope
41 | }
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
45 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:44:65: error: cannot infer contextual base in reference to member 'bcp47'
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
45 | throw Transcribe.Error.unsupportedLocale
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:48:29: error: cannot find 'AssetInventory' in scope
46 | }
47 |
48 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:51:19: error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
51 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
52 |
53 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:53:27: error: cannot find 'SpeechTranscriber' in scope
51 | try await AssetInventory.reserve(locale: locale)
52 |
53 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:55:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
53 | let transcriber = SpeechTranscriber(
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:57:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:59:27: error: cannot find type 'SpeechModule' in scope
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | let modules: [any SpeechModule] = [transcriber]
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
63 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:62:63: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | let piped = isatty(STDOUT_FILENO) == 0
64 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:70:40: error: cannot find 'AssetInventory' in scope
68 | Noora()
69 | }
70 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
71 | try await noora.progressBarStep(
72 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:92:24: error: cannot find 'SpeechAnalyzer' in scope
90 | }
91 |
92 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
93 |
94 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:77: error: cannot find 'AnalyzerInput' in scope
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:50: error: generic parameter 'Element' could not be inferred
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:98:40: error: cannot find 'SpeechAnalyzer' in scope
96 |
97 | // Get target audio format from the analyzer
98 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
99 | compatibleWith: modules
100 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:237:70: error: cannot find type 'AnalyzerInput' in scope
235 | // MARK: Lifecycle
236 |
237 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) {
| `- error: cannot find type 'AnalyzerInput' in scope
238 | self.targetFormat = targetFormat
239 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:245:40: error: cannot find type 'AnalyzerInput' in scope
243 |
244 | let targetFormat: AVAudioFormat
245 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
246 | var converter: AVAudioConverter?
247 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:41:15: error: cannot find 'SpeechTranscriber' in scope
39 |
40 | @MainActor mutating func run() async throws {
41 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
42 | throw Transcribe.Error.speechTranscriberNotAvailable
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:45:38: error: cannot find 'SpeechTranscriber' in scope
43 | }
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
47 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:46:65: error: cannot infer contextual base in reference to member 'bcp47'
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
47 | throw Transcribe.Error.unsupportedLocale
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:50:29: error: cannot find 'AssetInventory' in scope
48 | }
49 |
50 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:53:19: error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
53 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
54 |
55 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:55:27: error: cannot find 'SpeechTranscriber' in scope
53 | try await AssetInventory.reserve(locale: locale)
54 |
55 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:57:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
55 | let transcriber = SpeechTranscriber(
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:59:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:61:27: error: cannot find type 'SpeechModule' in scope
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:63:38: error: cannot find 'SpeechTranscriber' in scope
61 | let modules: [any SpeechModule] = [transcriber]
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
65 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:64:63: error: cannot infer contextual base in reference to member 'bcp47'
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
65 | let piped = isatty(STDOUT_FILENO) == 0
66 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:72:40: error: cannot find 'AssetInventory' in scope
70 | Noora()
71 | }
72 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
73 | try await noora.progressBarStep(
74 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:94:24: error: cannot find 'SpeechAnalyzer' in scope
92 | }
93 |
94 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
95 |
96 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:77: error: cannot find 'AnalyzerInput' in scope
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:50: error: generic parameter 'Element' could not be inferred
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:100:40: error: cannot find 'SpeechAnalyzer' in scope
98 |
99 | // Get target audio format from the analyzer
100 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
101 | compatibleWith: modules
102 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:110:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
108 | let content: SCShareableContent
109 | do {
110 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
111 | } catch {
112 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:50:15: error: cannot find 'SpeechTranscriber' in scope
48 |
49 | @MainActor mutating func run() async throws {
50 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
51 | throw Transcribe.Error.speechTranscriberNotAvailable
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:54:38: error: cannot find 'SpeechTranscriber' in scope
52 | }
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
56 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:55:65: error: cannot infer contextual base in reference to member 'bcp47'
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
56 | throw Transcribe.Error.unsupportedLocale
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:59:29: error: cannot find 'AssetInventory' in scope
57 | }
58 |
59 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:62:19: error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
62 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:64:39: error: cannot find type 'SpeechTranscriber' in scope
62 | try await AssetInventory.reserve(locale: locale)
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:65:35: error: cannot find type 'SpeechTranscriber' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
66 |
67 | let micTranscriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:67:30: error: cannot find 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
67 | let micTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
68 | locale: locale,
69 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:73:30: error: cannot find 'SpeechTranscriber' in scope
71 | attributeOptions: attributeOptions
72 | )
73 | let sysTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
74 | locale: locale,
75 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:79:27: error: cannot find type 'SpeechModule' in scope
77 | attributeOptions: attributeOptions
78 | )
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
| `- error: cannot find type 'SpeechModule' in scope
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:81:38: error: cannot find 'SpeechTranscriber' in scope
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
83 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:82:63: error: cannot infer contextual base in reference to member 'bcp47'
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
83 | let piped = isatty(STDOUT_FILENO) == 0
84 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:90:40: error: cannot find 'AssetInventory' in scope
88 | Noora()
89 | }
90 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
91 | try await noora.progressBarStep(
92 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:113:27: error: cannot find 'SpeechAnalyzer' in scope
111 |
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:83: error: cannot find 'AnalyzerInput' in scope
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:56: error: generic parameter 'Element' could not be inferred
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:116:37: error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
117 | compatibleWith: [micTranscriber]
118 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:130:27: error: cannot find 'SpeechAnalyzer' in scope
128 |
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:83: error: cannot find 'AnalyzerInput' in scope
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:56: error: generic parameter 'Element' could not be inferred
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:133:37: error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
134 | compatibleWith: [sysTranscriber]
135 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:282:56: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
280 | let allWords = includeWords ? chunk.wordTimestamps() : nil
281 | for sentence in chunk.sentences(maxLength: sentenceMaxLength) {
282 | guard let timeRange = sentence.audioTimeRange else { continue }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
283 | let text = String(sentence.characters).trimmingCharacters(in: .whitespacesAndNewlines)
284 | guard !text.isEmpty else { continue }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:141:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
139 | let content: SCShareableContent
140 | do {
141 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
142 | } catch {
143 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:56:15: error: cannot find 'SpeechTranscriber' in scope
54 | }
55 |
56 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
57 | noora.error(.alert("SpeechTranscriber is not available on this device"))
58 | throw Error.speechTranscriberNotAvailable
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | }
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:62:65: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
64 | throw Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:63:126: error: cannot infer key path type from context; consider explicitly specifying a root type
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
| `- error: cannot infer key path type from context; consider explicitly specifying a root type
64 | throw Error.unsupportedLocale
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:67:29: error: cannot find 'AssetInventory' in scope
65 | }
66 |
67 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:70:19: error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
70 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
71 |
72 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:72:27: error: cannot find 'SpeechTranscriber' in scope
70 | try await AssetInventory.reserve(locale: locale)
71 |
72 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:74:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
72 | let transcriber = SpeechTranscriber(
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:76:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:78:27: error: cannot find type 'SpeechModule' in scope
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:79:38: error: cannot find 'SpeechTranscriber' in scope
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:80:63: error: cannot infer contextual base in reference to member 'bcp47'
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
82 | try await noora.progressBarStep(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:81:40: error: cannot find 'AssetInventory' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
82 | try await noora.progressBarStep(
83 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:103:24: error: cannot find 'SpeechAnalyzer' in scope
101 | }
102 |
103 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
104 |
105 | let audioFile = try AVAudioFile(forReading: inputFile)
[202/207] Compiling yap AttributedString+Extensions.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/Extensions/AttributedString+Extensions.swift:12:106: error: 'nil' is not compatible with closure result type '(text: String, timeRange: CMTimeRange)'
10 | return tokenizer.tokens(for: string.startIndex..<string.endIndex).compactMap { wordRange in
11 | guard let attrStart = AttributedString.Index(wordRange.lowerBound, within: self),
12 | let attrEnd = AttributedString.Index(wordRange.upperBound, within: self) else { return nil }
| `- error: 'nil' is not compatible with closure result type '(text: String, timeRange: CMTimeRange)'
13 | let wordSlice = self[attrStart..<attrEnd]
14 | let text = String(wordSlice.characters).trimmingCharacters(in: .whitespacesAndNewlines)
/Users/admin/builder/spi-builder-workspace/Sources/yap/Extensions/AttributedString+Extensions.swift:29:39: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
27 | var previousEndTime: TimeInterval?
28 | for run in runs {
29 | guard let timeRange = run.audioTimeRange else { continue }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
30 | let text = String(self[run.range].characters)
31 | if text.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { continue }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Extensions/AttributedString+Extensions.swift:99:26: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
97 | !String(self[$0.range].characters)
98 | .trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
99 | }.compactMap(\.audioTimeRange)
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
100 | guard let first = audioTimeRanges.first,
101 | let last = audioTimeRanges.last else { return nil }
[203/207] Compiling yap Dictate.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:204:70: error: cannot find type 'AnalyzerInput' in scope
202 | // MARK: Lifecycle
203 |
204 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) throws {
| `- error: cannot find type 'AnalyzerInput' in scope
205 | self.targetFormat = targetFormat
206 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:230:40: error: cannot find type 'AnalyzerInput' in scope
228 | let audioEngine: AVAudioEngine
229 | let converter: AVAudioConverter
230 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
231 | let targetFormat: AVAudioFormat
232 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:39:15: error: cannot find 'SpeechTranscriber' in scope
37 |
38 | @MainActor mutating func run() async throws {
39 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
40 | throw Transcribe.Error.speechTranscriberNotAvailable
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:43:38: error: cannot find 'SpeechTranscriber' in scope
41 | }
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
45 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:44:65: error: cannot infer contextual base in reference to member 'bcp47'
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
45 | throw Transcribe.Error.unsupportedLocale
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:48:29: error: cannot find 'AssetInventory' in scope
46 | }
47 |
48 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:51:19: error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
51 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
52 |
53 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:53:27: error: cannot find 'SpeechTranscriber' in scope
51 | try await AssetInventory.reserve(locale: locale)
52 |
53 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:55:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
53 | let transcriber = SpeechTranscriber(
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:57:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:59:27: error: cannot find type 'SpeechModule' in scope
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | let modules: [any SpeechModule] = [transcriber]
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
63 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:62:63: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | let piped = isatty(STDOUT_FILENO) == 0
64 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:70:40: error: cannot find 'AssetInventory' in scope
68 | Noora()
69 | }
70 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
71 | try await noora.progressBarStep(
72 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:92:24: error: cannot find 'SpeechAnalyzer' in scope
90 | }
91 |
92 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
93 |
94 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:77: error: cannot find 'AnalyzerInput' in scope
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:50: error: generic parameter 'Element' could not be inferred
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:98:40: error: cannot find 'SpeechAnalyzer' in scope
96 |
97 | // Get target audio format from the analyzer
98 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
99 | compatibleWith: modules
100 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:269:37: error: cannot find 'AnalyzerInput' in scope
267 |
268 | if error == nil, convertedBuffer.frameLength > 0 {
269 | inputContinuation.yield(AnalyzerInput(buffer: convertedBuffer))
| `- error: cannot find 'AnalyzerInput' in scope
270 | }
271 | }
[204/207] Compiling yap Listen.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:237:70: error: cannot find type 'AnalyzerInput' in scope
235 | // MARK: Lifecycle
236 |
237 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) {
| `- error: cannot find type 'AnalyzerInput' in scope
238 | self.targetFormat = targetFormat
239 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:245:40: error: cannot find type 'AnalyzerInput' in scope
243 |
244 | let targetFormat: AVAudioFormat
245 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
246 | var converter: AVAudioConverter?
247 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:41:15: error: cannot find 'SpeechTranscriber' in scope
39 |
40 | @MainActor mutating func run() async throws {
41 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
42 | throw Transcribe.Error.speechTranscriberNotAvailable
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:45:38: error: cannot find 'SpeechTranscriber' in scope
43 | }
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
47 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:46:65: error: cannot infer contextual base in reference to member 'bcp47'
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
47 | throw Transcribe.Error.unsupportedLocale
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:50:29: error: cannot find 'AssetInventory' in scope
48 | }
49 |
50 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:53:19: error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
53 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
54 |
55 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:55:27: error: cannot find 'SpeechTranscriber' in scope
53 | try await AssetInventory.reserve(locale: locale)
54 |
55 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:57:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
55 | let transcriber = SpeechTranscriber(
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:59:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:61:27: error: cannot find type 'SpeechModule' in scope
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:63:38: error: cannot find 'SpeechTranscriber' in scope
61 | let modules: [any SpeechModule] = [transcriber]
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
65 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:64:63: error: cannot infer contextual base in reference to member 'bcp47'
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
65 | let piped = isatty(STDOUT_FILENO) == 0
66 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:72:40: error: cannot find 'AssetInventory' in scope
70 | Noora()
71 | }
72 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
73 | try await noora.progressBarStep(
74 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:94:24: error: cannot find 'SpeechAnalyzer' in scope
92 | }
93 |
94 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
95 |
96 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:77: error: cannot find 'AnalyzerInput' in scope
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:50: error: generic parameter 'Element' could not be inferred
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:100:40: error: cannot find 'SpeechAnalyzer' in scope
98 |
99 | // Get target audio format from the analyzer
100 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
101 | compatibleWith: modules
102 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:110:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
108 | let content: SCShareableContent
109 | do {
110 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
111 | } catch {
112 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:292:45: error: cannot find 'AnalyzerInput' in scope
290 |
291 | if error == nil, convertedBuffer.frameLength > 0 {
292 | inputContinuation.yield(AnalyzerInput(buffer: convertedBuffer))
| `- error: cannot find 'AnalyzerInput' in scope
293 | }
294 | }
Fetching https://github.com/tuist/Noora.git
Fetching https://github.com/modelcontextprotocol/swift-sdk.git
Fetching https://github.com/apple/swift-argument-parser.git from cache
[1/2871] Fetching swift-sdk
[1006/20921] Fetching swift-sdk, noora
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.35s)
Fetched https://github.com/modelcontextprotocol/swift-sdk.git from cache (3.58s)
Fetched https://github.com/tuist/Noora.git from cache (3.58s)
Computing version for https://github.com/modelcontextprotocol/swift-sdk.git
Computed https://github.com/modelcontextprotocol/swift-sdk.git at 0.10.2 (4.08s)
Fetching https://github.com/mattt/eventsource.git
Fetching https://github.com/apple/swift-log.git from cache
Fetching https://github.com/apple/swift-system.git from cache
[1/199] Fetching eventsource
Fetched https://github.com/mattt/eventsource.git from cache (0.78s)
Fetched https://github.com/apple/swift-log.git from cache (1.10s)
Fetched https://github.com/apple/swift-system.git from cache (1.10s)
Computing version for https://github.com/mattt/eventsource.git
Computed https://github.com/mattt/eventsource.git at 1.3.0 (1.58s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.7.0 (0.53s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.9.1 (0.50s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.6.4 (0.49s)
Computing version for https://github.com/tuist/Noora.git
Computed https://github.com/tuist/Noora.git at 0.54.2 (0.46s)
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/tuist/path
[1/1420] Fetching rainbow
[58/1809] Fetching rainbow, path
Fetched https://github.com/tuist/path from cache (0.90s)
Fetched https://github.com/onevcat/Rainbow from cache (0.90s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (3.96s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.1 (2.40s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.9.1
Creating working copy for https://github.com/modelcontextprotocol/swift-sdk.git
Working copy of https://github.com/modelcontextprotocol/swift-sdk.git resolved at 0.10.2
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.7.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.6.4
Creating working copy for https://github.com/tuist/path
Working copy of https://github.com/tuist/path resolved at 0.3.8
Creating working copy for https://github.com/tuist/Noora.git
Working copy of https://github.com/tuist/Noora.git resolved at 0.54.2
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.2.1
Creating working copy for https://github.com/mattt/eventsource.git
Working copy of https://github.com/mattt/eventsource.git resolved at 1.3.0
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/7] Write swift-version-2F0A5646E1D333AE.txt
[4/63] Emitting module Path
[5/63] Compiling Path Path.swift
[6/63] Compiling Logging MetadataProvider.swift
[7/63] Emitting module ArgumentParserToolInfo
[8/63] Compiling ArgumentParserToolInfo ToolInfo.swift
[9/63] Compiling EventSource AsyncEventsSequence.swift
[10/63] Compiling Rainbow Style.swift
[11/64] Compiling Logging Locks.swift
[12/64] Compiling Logging LogHandler.swift
[13/64] Emitting module Logging
[14/64] Compiling Logging Logging.swift
[15/64] Compiling Rainbow StringGenerator.swift
[16/85] Emitting module EventSource
[17/111] Compiling ArgumentParser ParentCommand.swift
[18/111] Compiling ArgumentParser AsyncParsableCommand.swift
[19/111] Compiling ArgumentParser MessageInfo.swift
[20/111] Compiling ArgumentParser CompletionKind.swift
[21/111] Compiling ArgumentParser Errors.swift
[22/111] Compiling ArgumentParser Flag.swift
[23/114] Emitting module Rainbow
[24/114] Compiling ArgumentParser EnumerableFlag.swift
[25/114] Compiling ArgumentParser ExpressibleByArgument.swift
[26/114] Compiling ArgumentParser CommandConfiguration.swift
[27/114] Compiling ArgumentParser CommandGroup.swift
[28/114] Compiling ArgumentParser Argument.swift
[29/114] Compiling ArgumentParser ArgumentDiscussion.swift
[30/114] Compiling Rainbow String+ConditionalStyling.swift
[31/114] Compiling Rainbow String+Rainbow.swift
[32/114] Compiling Rainbow StyledStringBuilder.swift
[33/114] Compiling ArgumentParser FishCompletionsGenerator.swift
[34/114] Compiling ArgumentParser ZshCompletionsGenerator.swift
[35/114] Compiling ArgumentParser BashCompletionsGenerator.swift
[36/114] Compiling ArgumentParser CompletionsGenerator.swift
[37/114] Compiling EventSource AsyncSequence+Events.swift
[38/114] Compiling EventSource EventSource.swift
[39/114] Emitting module SystemPackage
[49/114] Compiling SystemPackage Util+StringArray.swift
[50/114] Compiling SystemPackage Util.swift
[51/114] Compiling SystemPackage UtilConsumers.swift
[52/154] Compiling Noora Renderer.swift
[53/154] Compiling Noora Spinner.swift
[54/154] Compiling Noora Alert.swift
[55/154] Compiling Noora Theme.swift
[56/154] Compiling Noora KeyStrokeListener.swift
[57/154] Compiling Noora LockIsolated.swift
[58/154] Compiling Noora ProgressStep.swift
[59/154] Compiling Noora TextPrompt.swift
[60/154] Compiling Noora YesOrNoChoicePrompt.swift
[61/154] Compiling Noora NooraError.swift
[62/154] Compiling Noora NooraMock.swift
[63/154] Compiling Noora StandardPipelineType.swift
[67/173] Compiling Noora Content.swift
[68/173] Compiling Noora Stack.swift
[69/173] Compiling MCP Sampling.swift
[70/173] Compiling MCP Data+Extensions.swift
[71/173] Compiling Noora CollapsibleStep.swift
[72/173] Compiling Noora MultipleChoicePrompt.swift
[73/173] Compiling Noora ProgressBarStep.swift
[74/178] Emitting module Noora
[75/178] Compiling MCP Error.swift
[76/178] Compiling MCP ID.swift
[77/178] Compiling MCP Lifecycle.swift
[78/178] Compiling MCP Messages.swift
[79/178] Compiling MCP InMemoryTransport.swift
[80/182] Compiling Noora StandardPipelines.swift
[81/182] Compiling Noora Terminal.swift
[82/182] Compiling Noora TerminalText+DisplayWidth.swift
[83/182] Compiling Noora TerminalText.swift
[84/182] Compiling Noora TableData.swift
[85/182] Compiling Noora TableRenderer.swift
[86/182] Compiling Noora TableStyle.swift
[87/182] Compiling Noora UpdatingSelectableTable.swift
[88/182] Compiling Noora UpdatingTable.swift
[89/182] Compiling Noora Character+isPrintable.swift
[90/182] Compiling Noora String+Rainbow.swift
[91/182] Compiling Noora String+ValidatableError.swift
[92/182] Compiling Noora Noora.swift
[93/182] Emitting module ArgumentParser
[94/182] Compiling MCP Ping.swift
[95/182] Compiling MCP Value.swift
[96/182] Compiling MCP Versioning.swift
[97/182] Compiling MCP Client.swift
[98/182] Compiling MCP Prompts.swift
[104/182] Compiling MCP NetworkTransport.swift
[105/182] Compiling MCP Resources.swift
[106/182] Compiling MCP StdioTransport.swift
[107/182] Compiling MCP UnitInterval.swift
[108/182] Compiling MCP Transport.swift
[109/182] Compiling MCP HTTPClientTransport.swift
[131/182] Compiling ArgumentParser CodingKeyValidator.swift
[132/182] Compiling ArgumentParser NonsenseFlagsValidator.swift
[133/182] Compiling ArgumentParser ParsableArgumentsValidation.swift
[134/182] Compiling ArgumentParser PositionalArgumentsValidator.swift
[135/182] Compiling ArgumentParser UniqueNamesValidator.swift
[144/182] Compiling Noora LengthValidationRule.swift
[145/182] Compiling Noora NonEmptyValidationRule.swift
[146/182] Compiling Noora RegexValidationRule.swift
[147/182] Compiling Noora Validator.swift
[148/182] Compiling ArgumentParser ArgumentDefinition.swift
[149/182] Compiling ArgumentParser ArgumentSet.swift
[150/182] Compiling ArgumentParser CommandParser.swift
[159/183] Write Objects.LinkFileList
/Applications/Xcode-16.3.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: warning duplicate member name 'String+Rainbow.swift.o' from '/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Noora.build/String+Rainbow.swift.o(String+Rainbow.swift.o)' and '/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Rainbow.build/String+Rainbow.swift.o(String+Rainbow.swift.o)'
[160/183] Archiving libNoora.a
[164/185] Compiling MCP Server.swift
[165/185] Compiling MCP Tools.swift
[182/185] Emitting module MCP
[183/195] Compiling yap Yap.swift
[184/195] Compiling yap TranscriptionEngine.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:23:15: error: cannot find 'SpeechTranscriber' in scope
21 | }
22 |
23 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
24 | throw TranscriptionError.speechTranscriberNotAvailable
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:27:38: error: cannot find 'SpeechTranscriber' in scope
25 | }
26 |
27 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
28 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) else {
29 | throw TranscriptionError.unsupportedLocale(options.locale.identifier)
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:28:65: error: cannot infer contextual base in reference to member 'bcp47'
26 |
27 | let supportedLocales = await SpeechTranscriber.supportedLocales
28 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
29 | throw TranscriptionError.unsupportedLocale(options.locale.identifier)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:32:29: error: cannot find 'AssetInventory' in scope
30 | }
31 |
32 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
33 | await AssetInventory.release(reservedLocale: locale)
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:35:19: error: cannot find 'AssetInventory' in scope
33 | await AssetInventory.release(reservedLocale: locale)
34 | }
35 | try await AssetInventory.reserve(locale: options.locale)
| `- error: cannot find 'AssetInventory' in scope
36 |
37 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:37:27: error: cannot find 'SpeechTranscriber' in scope
35 | try await AssetInventory.reserve(locale: options.locale)
36 |
37 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
38 | locale: options.locale,
39 | transcriptionOptions: options.censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:39:54: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
37 | let transcriber = SpeechTranscriber(
38 | locale: options.locale,
39 | transcriptionOptions: options.censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
40 | reportingOptions: [],
41 | attributeOptions: options.outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:41:76: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
39 | transcriptionOptions: options.censor ? [.etiquetteReplacements] : [],
40 | reportingOptions: [],
41 | attributeOptions: options.outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
42 | )
43 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:43:27: error: cannot find type 'SpeechModule' in scope
41 | attributeOptions: options.outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
42 | )
43 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
44 |
45 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:45:38: error: cannot find 'SpeechTranscriber' in scope
43 | let modules: [any SpeechModule] = [transcriber]
44 |
45 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
46 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) {
47 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:46:63: error: cannot infer contextual base in reference to member 'bcp47'
44 |
45 | let installedLocales = await SpeechTranscriber.installedLocales
46 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
47 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
48 | try await request.downloadAndInstall()
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:47:40: error: cannot find 'AssetInventory' in scope
45 | let installedLocales = await SpeechTranscriber.installedLocales
46 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == options.locale.identifier(.bcp47) }) {
47 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
48 | try await request.downloadAndInstall()
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/TranscriptionEngine.swift:52:24: error: cannot find 'SpeechAnalyzer' in scope
50 | }
51 |
52 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
53 | let audioFile = try AVAudioFile(forReading: file)
54 | try await analyzer.start(inputAudioFile: audioFile, finishAfterFile: true)
[185/195] Compiling yap MCP.swift
[186/195] Compiling yap OutputFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/OutputFormat.swift:134:48: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
132 | .sentences(maxLength: maxLength)
133 | .compactMap { sentence in
134 | guard let timeRange = sentence.audioTimeRange else { return nil }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
135 | let words = allWords?.filter {
136 | $0.timeRange.start.seconds >= timeRange.start.seconds
[187/195] Compiling yap Transcribe.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:56:15: error: cannot find 'SpeechTranscriber' in scope
54 | }
55 |
56 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
57 | noora.error(.alert("SpeechTranscriber is not available on this device"))
58 | throw Error.speechTranscriberNotAvailable
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | }
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:62:65: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
64 | throw Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:63:126: error: cannot infer key path type from context; consider explicitly specifying a root type
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
| `- error: cannot infer key path type from context; consider explicitly specifying a root type
64 | throw Error.unsupportedLocale
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:67:29: error: cannot find 'AssetInventory' in scope
65 | }
66 |
67 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:70:19: error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
70 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
71 |
72 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:72:27: error: cannot find 'SpeechTranscriber' in scope
70 | try await AssetInventory.reserve(locale: locale)
71 |
72 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:74:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
72 | let transcriber = SpeechTranscriber(
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:76:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:78:27: error: cannot find type 'SpeechModule' in scope
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:79:38: error: cannot find 'SpeechTranscriber' in scope
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:80:63: error: cannot infer contextual base in reference to member 'bcp47'
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
82 | try await noora.progressBarStep(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:81:40: error: cannot find 'AssetInventory' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
82 | try await noora.progressBarStep(
83 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:103:24: error: cannot find 'SpeechAnalyzer' in scope
101 | }
102 |
103 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
104 |
105 | let audioFile = try AVAudioFile(forReading: inputFile)
error: emit-module command failed with exit code 1 (use -v to see invocation)
[188/195] Emitting module yap
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:204:70: error: cannot find type 'AnalyzerInput' in scope
202 | // MARK: Lifecycle
203 |
204 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) throws {
| `- error: cannot find type 'AnalyzerInput' in scope
205 | self.targetFormat = targetFormat
206 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:230:40: error: cannot find type 'AnalyzerInput' in scope
228 | let audioEngine: AVAudioEngine
229 | let converter: AVAudioConverter
230 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
231 | let targetFormat: AVAudioFormat
232 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:39:15: error: cannot find 'SpeechTranscriber' in scope
37 |
38 | @MainActor mutating func run() async throws {
39 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
40 | throw Transcribe.Error.speechTranscriberNotAvailable
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:43:38: error: cannot find 'SpeechTranscriber' in scope
41 | }
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
45 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:44:65: error: cannot infer contextual base in reference to member 'bcp47'
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
45 | throw Transcribe.Error.unsupportedLocale
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:48:29: error: cannot find 'AssetInventory' in scope
46 | }
47 |
48 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:51:19: error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
51 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
52 |
53 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:53:27: error: cannot find 'SpeechTranscriber' in scope
51 | try await AssetInventory.reserve(locale: locale)
52 |
53 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:55:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
53 | let transcriber = SpeechTranscriber(
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:57:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:59:27: error: cannot find type 'SpeechModule' in scope
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | let modules: [any SpeechModule] = [transcriber]
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
63 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:62:63: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | let piped = isatty(STDOUT_FILENO) == 0
64 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:70:40: error: cannot find 'AssetInventory' in scope
68 | Noora()
69 | }
70 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
71 | try await noora.progressBarStep(
72 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:92:24: error: cannot find 'SpeechAnalyzer' in scope
90 | }
91 |
92 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
93 |
94 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:77: error: cannot find 'AnalyzerInput' in scope
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:50: error: generic parameter 'Element' could not be inferred
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:98:40: error: cannot find 'SpeechAnalyzer' in scope
96 |
97 | // Get target audio format from the analyzer
98 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
99 | compatibleWith: modules
100 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:237:70: error: cannot find type 'AnalyzerInput' in scope
235 | // MARK: Lifecycle
236 |
237 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) {
| `- error: cannot find type 'AnalyzerInput' in scope
238 | self.targetFormat = targetFormat
239 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:245:40: error: cannot find type 'AnalyzerInput' in scope
243 |
244 | let targetFormat: AVAudioFormat
245 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
246 | var converter: AVAudioConverter?
247 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:41:15: error: cannot find 'SpeechTranscriber' in scope
39 |
40 | @MainActor mutating func run() async throws {
41 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
42 | throw Transcribe.Error.speechTranscriberNotAvailable
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:45:38: error: cannot find 'SpeechTranscriber' in scope
43 | }
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
47 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:46:65: error: cannot infer contextual base in reference to member 'bcp47'
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
47 | throw Transcribe.Error.unsupportedLocale
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:50:29: error: cannot find 'AssetInventory' in scope
48 | }
49 |
50 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:53:19: error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
53 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
54 |
55 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:55:27: error: cannot find 'SpeechTranscriber' in scope
53 | try await AssetInventory.reserve(locale: locale)
54 |
55 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:57:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
55 | let transcriber = SpeechTranscriber(
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:59:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:61:27: error: cannot find type 'SpeechModule' in scope
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:63:38: error: cannot find 'SpeechTranscriber' in scope
61 | let modules: [any SpeechModule] = [transcriber]
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
65 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:64:63: error: cannot infer contextual base in reference to member 'bcp47'
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
65 | let piped = isatty(STDOUT_FILENO) == 0
66 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:72:40: error: cannot find 'AssetInventory' in scope
70 | Noora()
71 | }
72 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
73 | try await noora.progressBarStep(
74 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:94:24: error: cannot find 'SpeechAnalyzer' in scope
92 | }
93 |
94 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
95 |
96 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:77: error: cannot find 'AnalyzerInput' in scope
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:50: error: generic parameter 'Element' could not be inferred
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:100:40: error: cannot find 'SpeechAnalyzer' in scope
98 |
99 | // Get target audio format from the analyzer
100 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
101 | compatibleWith: modules
102 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:110:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
108 | let content: SCShareableContent
109 | do {
110 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
111 | } catch {
112 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:50:15: error: cannot find 'SpeechTranscriber' in scope
48 |
49 | @MainActor mutating func run() async throws {
50 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
51 | throw Transcribe.Error.speechTranscriberNotAvailable
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:54:38: error: cannot find 'SpeechTranscriber' in scope
52 | }
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
56 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:55:65: error: cannot infer contextual base in reference to member 'bcp47'
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
56 | throw Transcribe.Error.unsupportedLocale
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:59:29: error: cannot find 'AssetInventory' in scope
57 | }
58 |
59 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:62:19: error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
62 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:64:39: error: cannot find type 'SpeechTranscriber' in scope
62 | try await AssetInventory.reserve(locale: locale)
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:65:35: error: cannot find type 'SpeechTranscriber' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
66 |
67 | let micTranscriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:67:30: error: cannot find 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
67 | let micTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
68 | locale: locale,
69 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:73:30: error: cannot find 'SpeechTranscriber' in scope
71 | attributeOptions: attributeOptions
72 | )
73 | let sysTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
74 | locale: locale,
75 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:79:27: error: cannot find type 'SpeechModule' in scope
77 | attributeOptions: attributeOptions
78 | )
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
| `- error: cannot find type 'SpeechModule' in scope
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:81:38: error: cannot find 'SpeechTranscriber' in scope
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
83 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:82:63: error: cannot infer contextual base in reference to member 'bcp47'
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
83 | let piped = isatty(STDOUT_FILENO) == 0
84 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:90:40: error: cannot find 'AssetInventory' in scope
88 | Noora()
89 | }
90 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
91 | try await noora.progressBarStep(
92 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:113:27: error: cannot find 'SpeechAnalyzer' in scope
111 |
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:83: error: cannot find 'AnalyzerInput' in scope
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:56: error: generic parameter 'Element' could not be inferred
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:116:37: error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
117 | compatibleWith: [micTranscriber]
118 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:130:27: error: cannot find 'SpeechAnalyzer' in scope
128 |
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:83: error: cannot find 'AnalyzerInput' in scope
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:56: error: generic parameter 'Element' could not be inferred
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:133:37: error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
134 | compatibleWith: [sysTranscriber]
135 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:282:56: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
280 | let allWords = includeWords ? chunk.wordTimestamps() : nil
281 | for sentence in chunk.sentences(maxLength: sentenceMaxLength) {
282 | guard let timeRange = sentence.audioTimeRange else { continue }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
283 | let text = String(sentence.characters).trimmingCharacters(in: .whitespacesAndNewlines)
284 | guard !text.isEmpty else { continue }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:141:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
139 | let content: SCShareableContent
140 | do {
141 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
142 | } catch {
143 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:56:15: error: cannot find 'SpeechTranscriber' in scope
54 | }
55 |
56 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
57 | noora.error(.alert("SpeechTranscriber is not available on this device"))
58 | throw Error.speechTranscriberNotAvailable
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | }
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:62:65: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
64 | throw Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:63:126: error: cannot infer key path type from context; consider explicitly specifying a root type
61 | let supportedLocales = await SpeechTranscriber.supportedLocales
62 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
63 | noora.error(.alert("Locale \"\(locale.identifier)\" is not supported. Supported locales:\n\(supportedLocales.map(\.identifier))"))
| `- error: cannot infer key path type from context; consider explicitly specifying a root type
64 | throw Error.unsupportedLocale
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:67:29: error: cannot find 'AssetInventory' in scope
65 | }
66 |
67 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:70:19: error: cannot find 'AssetInventory' in scope
68 | await AssetInventory.release(reservedLocale: locale)
69 | }
70 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
71 |
72 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:72:27: error: cannot find 'SpeechTranscriber' in scope
70 | try await AssetInventory.reserve(locale: locale)
71 |
72 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:74:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
72 | let transcriber = SpeechTranscriber(
73 | locale: locale,
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:76:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
74 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
75 | reportingOptions: [],
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:78:27: error: cannot find type 'SpeechModule' in scope
76 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:79:38: error: cannot find 'SpeechTranscriber' in scope
77 | )
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:80:63: error: cannot infer contextual base in reference to member 'bcp47'
78 | let modules: [any SpeechModule] = [transcriber]
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
82 | try await noora.progressBarStep(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:81:40: error: cannot find 'AssetInventory' in scope
79 | let installedLocales = await SpeechTranscriber.installedLocales
80 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
81 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
82 | try await noora.progressBarStep(
83 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Transcribe.swift:103:24: error: cannot find 'SpeechAnalyzer' in scope
101 | }
102 |
103 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
104 |
105 | let audioFile = try AVAudioFile(forReading: inputFile)
[189/195] Compiling yap Listen.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:237:70: error: cannot find type 'AnalyzerInput' in scope
235 | // MARK: Lifecycle
236 |
237 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) {
| `- error: cannot find type 'AnalyzerInput' in scope
238 | self.targetFormat = targetFormat
239 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:245:40: error: cannot find type 'AnalyzerInput' in scope
243 |
244 | let targetFormat: AVAudioFormat
245 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
246 | var converter: AVAudioConverter?
247 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:41:15: error: cannot find 'SpeechTranscriber' in scope
39 |
40 | @MainActor mutating func run() async throws {
41 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
42 | throw Transcribe.Error.speechTranscriberNotAvailable
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:45:38: error: cannot find 'SpeechTranscriber' in scope
43 | }
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
47 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:46:65: error: cannot infer contextual base in reference to member 'bcp47'
44 |
45 | let supportedLocales = await SpeechTranscriber.supportedLocales
46 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
47 | throw Transcribe.Error.unsupportedLocale
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:50:29: error: cannot find 'AssetInventory' in scope
48 | }
49 |
50 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:53:19: error: cannot find 'AssetInventory' in scope
51 | await AssetInventory.release(reservedLocale: locale)
52 | }
53 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
54 |
55 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:55:27: error: cannot find 'SpeechTranscriber' in scope
53 | try await AssetInventory.reserve(locale: locale)
54 |
55 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:57:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
55 | let transcriber = SpeechTranscriber(
56 | locale: locale,
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:59:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
57 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
58 | reportingOptions: [],
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:61:27: error: cannot find type 'SpeechModule' in scope
59 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
60 | )
61 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:63:38: error: cannot find 'SpeechTranscriber' in scope
61 | let modules: [any SpeechModule] = [transcriber]
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
65 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:64:63: error: cannot infer contextual base in reference to member 'bcp47'
62 |
63 | let installedLocales = await SpeechTranscriber.installedLocales
64 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
65 | let piped = isatty(STDOUT_FILENO) == 0
66 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:72:40: error: cannot find 'AssetInventory' in scope
70 | Noora()
71 | }
72 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
73 | try await noora.progressBarStep(
74 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:94:24: error: cannot find 'SpeechAnalyzer' in scope
92 | }
93 |
94 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
95 |
96 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:77: error: cannot find 'AnalyzerInput' in scope
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:97:50: error: generic parameter 'Element' could not be inferred
95 |
96 | // Set up streaming input
97 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
98 |
99 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:100:40: error: cannot find 'SpeechAnalyzer' in scope
98 |
99 | // Get target audio format from the analyzer
100 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
101 | compatibleWith: modules
102 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:110:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
108 | let content: SCShareableContent
109 | do {
110 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
111 | } catch {
112 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:292:45: error: cannot find 'AnalyzerInput' in scope
290 |
291 | if error == nil, convertedBuffer.frameLength > 0 {
292 | inputContinuation.yield(AnalyzerInput(buffer: convertedBuffer))
| `- error: cannot find 'AnalyzerInput' in scope
293 | }
294 | }
[190/195] Compiling yap AttributedString+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/Extensions/AttributedString+Extensions.swift:12:106: error: 'nil' is not compatible with closure result type '(text: String, timeRange: CMTimeRange)'
10 | return tokenizer.tokens(for: string.startIndex..<string.endIndex).compactMap { wordRange in
11 | guard let attrStart = AttributedString.Index(wordRange.lowerBound, within: self),
12 | let attrEnd = AttributedString.Index(wordRange.upperBound, within: self) else { return nil }
| `- error: 'nil' is not compatible with closure result type '(text: String, timeRange: CMTimeRange)'
13 | let wordSlice = self[attrStart..<attrEnd]
14 | let text = String(wordSlice.characters).trimmingCharacters(in: .whitespacesAndNewlines)
/Users/admin/builder/spi-builder-workspace/Sources/yap/Extensions/AttributedString+Extensions.swift:29:39: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
27 | var previousEndTime: TimeInterval?
28 | for run in runs {
29 | guard let timeRange = run.audioTimeRange else { continue }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
30 | let text = String(self[run.range].characters)
31 | if text.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { continue }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Extensions/AttributedString+Extensions.swift:99:26: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
97 | !String(self[$0.range].characters)
98 | .trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
99 | }.compactMap(\.audioTimeRange)
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
100 | guard let first = audioTimeRanges.first,
101 | let last = audioTimeRanges.last else { return nil }
[191/195] Compiling yap ListenAndDictate.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:50:15: error: cannot find 'SpeechTranscriber' in scope
48 |
49 | @MainActor mutating func run() async throws {
50 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
51 | throw Transcribe.Error.speechTranscriberNotAvailable
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:54:38: error: cannot find 'SpeechTranscriber' in scope
52 | }
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
56 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:55:65: error: cannot infer contextual base in reference to member 'bcp47'
53 |
54 | let supportedLocales = await SpeechTranscriber.supportedLocales
55 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
56 | throw Transcribe.Error.unsupportedLocale
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:59:29: error: cannot find 'AssetInventory' in scope
57 | }
58 |
59 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:62:19: error: cannot find 'AssetInventory' in scope
60 | await AssetInventory.release(reservedLocale: locale)
61 | }
62 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:64:39: error: cannot find type 'SpeechTranscriber' in scope
62 | try await AssetInventory.reserve(locale: locale)
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:65:35: error: cannot find type 'SpeechTranscriber' in scope
63 |
64 | let transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption> = censor ? [.etiquetteReplacements] : []
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: cannot find type 'SpeechTranscriber' in scope
66 |
67 | let micTranscriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:67:30: error: cannot find 'SpeechTranscriber' in scope
65 | let attributeOptions: Set<SpeechTranscriber.ResultAttributeOption> = outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
66 |
67 | let micTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
68 | locale: locale,
69 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:73:30: error: cannot find 'SpeechTranscriber' in scope
71 | attributeOptions: attributeOptions
72 | )
73 | let sysTranscriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
74 | locale: locale,
75 | transcriptionOptions: transcriptionOptions,
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:79:27: error: cannot find type 'SpeechModule' in scope
77 | attributeOptions: attributeOptions
78 | )
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
| `- error: cannot find type 'SpeechModule' in scope
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:81:38: error: cannot find 'SpeechTranscriber' in scope
79 | let modules: [any SpeechModule] = [micTranscriber, sysTranscriber]
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
83 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:82:63: error: cannot infer contextual base in reference to member 'bcp47'
80 |
81 | let installedLocales = await SpeechTranscriber.installedLocales
82 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
83 | let piped = isatty(STDOUT_FILENO) == 0
84 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:90:40: error: cannot find 'AssetInventory' in scope
88 | Noora()
89 | }
90 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
91 | try await noora.progressBarStep(
92 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:113:27: error: cannot find 'SpeechAnalyzer' in scope
111 |
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:83: error: cannot find 'AnalyzerInput' in scope
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:114:56: error: generic parameter 'Element' could not be inferred
112 | // Set up microphone pipeline
113 | let micAnalyzer = SpeechAnalyzer(modules: [micTranscriber])
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:116:37: error: cannot find 'SpeechAnalyzer' in scope
114 | let (micInputSequence, micInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
115 |
116 | guard let micFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
117 | compatibleWith: [micTranscriber]
118 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:204:70: error: cannot find type 'AnalyzerInput' in scope
202 | // MARK: Lifecycle
203 |
204 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) throws {
| `- error: cannot find type 'AnalyzerInput' in scope
205 | self.targetFormat = targetFormat
206 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:130:27: error: cannot find 'SpeechAnalyzer' in scope
128 |
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
| `- error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:83: error: cannot find 'AnalyzerInput' in scope
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:131:56: error: generic parameter 'Element' could not be inferred
129 | // Set up system audio pipeline
130 | let sysAnalyzer = SpeechAnalyzer(modules: [sysTranscriber])
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:133:37: error: cannot find 'SpeechAnalyzer' in scope
131 | let (sysInputSequence, sysInputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
132 |
133 | guard let sysFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
134 | compatibleWith: [sysTranscriber]
135 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Listen.swift:237:70: error: cannot find type 'AnalyzerInput' in scope
235 | // MARK: Lifecycle
236 |
237 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) {
| `- error: cannot find type 'AnalyzerInput' in scope
238 | self.targetFormat = targetFormat
239 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:282:56: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
280 | let allWords = includeWords ? chunk.wordTimestamps() : nil
281 | for sentence in chunk.sentences(maxLength: sentenceMaxLength) {
282 | guard let timeRange = sentence.audioTimeRange else { continue }
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
283 | let text = String(sentence.characters).trimmingCharacters(in: .whitespacesAndNewlines)
284 | guard !text.isEmpty else { continue }
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:141:52: error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
139 | let content: SCShareableContent
140 | do {
141 | content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
| `- error: non-sendable result type 'SCShareableContent' cannot be sent from nonisolated context in call to class method 'excludingDesktopWindows(_:onScreenWindowsOnly:)'
142 | } catch {
143 | throw ListenError.screenRecordingPermissionDenied
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h:140:12: note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
138 |
139 | API_AVAILABLE(macos(12.3), macCatalyst(18.2))
140 | @interface SCShareableContent : NSObject
| `- note: class 'SCShareableContent' does not conform to the 'Sendable' protocol
141 | /*!
142 | @abstract getShareableContentWithCompletionHandler:completionHandler
/Users/admin/builder/spi-builder-workspace/Sources/yap/ListenAndDictate.swift:5:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
3 | import CoreMedia
4 | @preconcurrency import Noora
5 | import ScreenCaptureKit
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'ScreenCaptureKit' as warnings
6 | import Speech
7 |
[192/195] Compiling yap Dictate.swift
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:204:70: error: cannot find type 'AnalyzerInput' in scope
202 | // MARK: Lifecycle
203 |
204 | init(targetFormat: AVAudioFormat, inputContinuation: AsyncStream<AnalyzerInput>.Continuation) throws {
| `- error: cannot find type 'AnalyzerInput' in scope
205 | self.targetFormat = targetFormat
206 | self.inputContinuation = inputContinuation
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:230:40: error: cannot find type 'AnalyzerInput' in scope
228 | let audioEngine: AVAudioEngine
229 | let converter: AVAudioConverter
230 | let inputContinuation: AsyncStream<AnalyzerInput>.Continuation
| `- error: cannot find type 'AnalyzerInput' in scope
231 | let targetFormat: AVAudioFormat
232 |
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:39:15: error: cannot find 'SpeechTranscriber' in scope
37 |
38 | @MainActor mutating func run() async throws {
39 | guard SpeechTranscriber.isAvailable else {
| `- error: cannot find 'SpeechTranscriber' in scope
40 | throw Transcribe.Error.speechTranscriberNotAvailable
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:43:38: error: cannot find 'SpeechTranscriber' in scope
41 | }
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
45 | throw Transcribe.Error.unsupportedLocale
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:44:65: error: cannot infer contextual base in reference to member 'bcp47'
42 |
43 | let supportedLocales = await SpeechTranscriber.supportedLocales
44 | guard supportedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) else {
| `- error: cannot infer contextual base in reference to member 'bcp47'
45 | throw Transcribe.Error.unsupportedLocale
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:48:29: error: cannot find 'AssetInventory' in scope
46 | }
47 |
48 | for locale in await AssetInventory.reservedLocales {
| `- error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:51:19: error: cannot find 'AssetInventory' in scope
49 | await AssetInventory.release(reservedLocale: locale)
50 | }
51 | try await AssetInventory.reserve(locale: locale)
| `- error: cannot find 'AssetInventory' in scope
52 |
53 | let transcriber = SpeechTranscriber(
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:53:27: error: cannot find 'SpeechTranscriber' in scope
51 | try await AssetInventory.reserve(locale: locale)
52 |
53 | let transcriber = SpeechTranscriber(
| `- error: cannot find 'SpeechTranscriber' in scope
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:55:46: error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
53 | let transcriber = SpeechTranscriber(
54 | locale: locale,
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
| `- error: reference to member 'etiquetteReplacements' cannot be resolved without a contextual type
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:57:68: error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
55 | transcriptionOptions: censor ? [.etiquetteReplacements] : [],
56 | reportingOptions: [],
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
| `- error: reference to member 'audioTimeRange' cannot be resolved without a contextual type
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:59:27: error: cannot find type 'SpeechModule' in scope
57 | attributeOptions: outputFormat.needsAudioTimeRange ? [.audioTimeRange] : []
58 | )
59 | let modules: [any SpeechModule] = [transcriber]
| `- error: cannot find type 'SpeechModule' in scope
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:61:38: error: cannot find 'SpeechTranscriber' in scope
59 | let modules: [any SpeechModule] = [transcriber]
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
| `- error: cannot find 'SpeechTranscriber' in scope
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
63 | let piped = isatty(STDOUT_FILENO) == 0
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:62:63: error: cannot infer contextual base in reference to member 'bcp47'
60 |
61 | let installedLocales = await SpeechTranscriber.installedLocales
62 | if !installedLocales.contains(where: { $0.identifier(.bcp47) == locale.identifier(.bcp47) }) {
| `- error: cannot infer contextual base in reference to member 'bcp47'
63 | let piped = isatty(STDOUT_FILENO) == 0
64 | struct DevNull: StandardPipelining { func write(content _: String) {} }
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:70:40: error: cannot find 'AssetInventory' in scope
68 | Noora()
69 | }
70 | if let request = try await AssetInventory.assetInstallationRequest(supporting: modules) {
| `- error: cannot find 'AssetInventory' in scope
71 | try await noora.progressBarStep(
72 | message: "Downloading required assets…"
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:92:24: error: cannot find 'SpeechAnalyzer' in scope
90 | }
91 |
92 | let analyzer = SpeechAnalyzer(modules: modules)
| `- error: cannot find 'SpeechAnalyzer' in scope
93 |
94 | // Set up streaming input
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:77: error: cannot find 'AnalyzerInput' in scope
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| `- error: cannot find 'AnalyzerInput' in scope
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:95:50: error: generic parameter 'Element' could not be inferred
93 |
94 | // Set up streaming input
95 | let (inputSequence, inputContinuation) = AsyncStream.makeStream(of: AnalyzerInput.self)
| |- error: generic parameter 'Element' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
96 |
97 | // Get target audio format from the analyzer
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:98:40: error: cannot find 'SpeechAnalyzer' in scope
96 |
97 | // Get target audio format from the analyzer
98 | guard let targetFormat = await SpeechAnalyzer.bestAvailableAudioFormat(
| `- error: cannot find 'SpeechAnalyzer' in scope
99 | compatibleWith: modules
100 | ) else {
/Users/admin/builder/spi-builder-workspace/Sources/yap/Dictate.swift:269:37: error: cannot find 'AnalyzerInput' in scope
267 |
268 | if error == nil, convertedBuffer.frameLength > 0 {
269 | inputContinuation.yield(AnalyzerInput(buffer: convertedBuffer))
| `- error: cannot find 'AnalyzerInput' in scope
270 | }
271 | }
BUILD FAILURE 6.1 macosSpm