tandem-server 0.6.4

HTTP server for Tandem engine APIs
pub use tandem_bug_monitor::{comment_summary, error_provenance, log_parser, types};
pub mod log_artifacts;
pub mod log_watcher;
pub mod router;
pub mod service;

pub(crate) fn source_identity_matches_draft(
    draft: &crate::BugMonitorDraftRecord,
    submission: &crate::BugMonitorSubmission,
) -> bool {
    let draft_project = draft.project_id.as_deref();
    let draft_source = draft.log_source_id.as_deref();
    let submission_project = submission.project_id.as_deref();
    let submission_source = submission.log_source_id.as_deref();
    let source_bound = draft_project.is_some()
        || draft_source.is_some()
        || submission_project.is_some()
        || submission_source.is_some();
    !source_bound || (draft_project == submission_project && draft_source == submission_source)
}