public protocol PromptCompiling: Sendable { associatedtype Project func compile(project: Project) throws -> CompiledSunoOutput } public struct CompiledSunoOutput: Equatable, Sendable { public let lyricsText: String public let stylePrompt: String public init(lyricsText: String, stylePrompt: String) { self.lyricsText = lyricsText self.stylePrompt = stylePrompt } }