         case warning
         case error
         
-        init(_ kind: llb_buildsystem_diagnostic_kind_t) {
+        public init(_ kind: llb_buildsystem_diagnostic_kind_t) {
             switch kind {
             case llb_buildsystem_diagnostic_kind_note:
                 self = .note

    }
}

/// Delegate interface for use with the build system.
public protocol BuildSystemDelegate {
    /// Called in response to requests for new tools.
    ///
    /// The client should return an appropriate tool implementation if recognized.

        llb_buildsystem_destroy(_system)
    }

    /// Build the default target, or optionally a single node.
    ///
    /// The client is responsible for ensuring only one build is ever executing concurrently.
    ///
    /// - parameter node: Optional path to a single node to build.
    /// - returns: True if the build was successful, false otherwise.
    public func build(node: String? = nil) -> Bool {
        if let node = node {
            var data = copiedDataFromBytes([UInt8](node.utf8))
            return llb_buildsystem_build_node(_system, &data)
        } else {
            var data = llb_data_t(length: 0, data: nil)
            return llb_buildsystem_build(_system, &data)
        }
    }

    /// Cancel any running build.
