tandem-server 0.4.23

HTTP server for Tandem engine APIs
Documentation
use axum::routing::{get, post};
use axum::Router;

use super::coder::*;
use crate::AppState;

pub(super) fn apply(router: Router<AppState>) -> Router<AppState> {
    router
        .route("/coder/status", get(coder_status))
        .route("/coder/projects", get(coder_project_list))
        .route("/coder/projects/{project_id}", get(coder_project_get))
        .route(
            "/coder/projects/{project_id}/runs",
            get(coder_project_run_list).post(coder_project_run_create),
        )
        .route(
            "/coder/projects/{project_id}/bindings",
            get(coder_project_binding_get).put(coder_project_binding_put),
        )
        .route(
            "/coder/projects/{project_id}/github-project/inbox",
            get(coder_project_github_project_inbox),
        )
        .route(
            "/coder/projects/{project_id}/github-project/intake",
            post(coder_project_github_project_intake),
        )
        .route(
            "/coder/projects/{project_id}/policy",
            get(coder_project_policy_get).put(coder_project_policy_put),
        )
        .route("/coder/runs", post(coder_run_create).get(coder_run_list))
        .route("/coder/runs/{id}", get(coder_run_get))
        .route(
            "/coder/runs/{id}/execute-next",
            post(coder_run_execute_next),
        )
        .route("/coder/runs/{id}/execute-all", post(coder_run_execute_all))
        .route(
            "/coder/runs/{id}/follow-on-run",
            post(coder_follow_on_run_create),
        )
        .route("/coder/runs/{id}/approve", post(coder_run_approve))
        .route("/coder/runs/{id}/cancel", post(coder_run_cancel))
        .route("/coder/runs/{id}/artifacts", get(coder_run_artifacts))
        .route("/coder/runs/{id}/memory-hits", get(coder_memory_hits_get))
        .route(
            "/coder/runs/{id}/triage-inspection-report",
            post(coder_triage_inspection_report_create),
        )
        .route(
            "/coder/runs/{id}/triage-reproduction-report",
            post(coder_triage_reproduction_report_create),
        )
        .route(
            "/coder/runs/{id}/triage-summary",
            post(coder_triage_summary_create),
        )
        .route(
            "/coder/runs/{id}/pr-review-evidence",
            post(coder_pr_review_evidence_create),
        )
        .route(
            "/coder/runs/{id}/pr-review-summary",
            post(coder_pr_review_summary_create),
        )
        .route(
            "/coder/runs/{id}/issue-fix-validation-report",
            post(coder_issue_fix_validation_report_create),
        )
        .route(
            "/coder/runs/{id}/issue-fix-summary",
            post(coder_issue_fix_summary_create),
        )
        .route(
            "/coder/runs/{id}/pr-draft",
            post(coder_issue_fix_pr_draft_create),
        )
        .route(
            "/coder/runs/{id}/pr-submit",
            post(coder_issue_fix_pr_submit),
        )
        .route(
            "/coder/runs/{id}/merge-readiness-report",
            post(coder_merge_readiness_report_create),
        )
        .route(
            "/coder/runs/{id}/merge-recommendation-summary",
            post(coder_merge_recommendation_summary_create),
        )
        .route(
            "/coder/runs/{id}/merge-submit",
            post(super::coder::coder_merge_submit),
        )
        .route(
            "/coder/runs/{id}/memory-candidates",
            get(coder_memory_candidate_list).post(coder_memory_candidate_create),
        )
        .route(
            "/coder/runs/{id}/memory-candidates/{candidate_id}/promote",
            post(coder_memory_candidate_promote),
        )
}