crabmate 0.4.0

Rust AI agent: OpenAI-compatible chat/completions, function calling, HTTP serve, ops CLI
Documentation
//! 对话、上传等与 `chat_handlers` 对应的路由表。
//!
//! JSON 形状见 [`crate::web::http_types::chat`];实现见 [`crate::web::chat_handlers`]。

use std::sync::Arc;

use axum::{
    Router,
    routing::{get, post},
};

use crate::AppState;
use crate::web::chat_handlers::{
    chat_approval_handler, chat_async_handler, chat_branch_handler, chat_handler,
    chat_job_status_handler, chat_stream_handler, conversation_messages_handler,
    delete_uploads_handler, upload_handler,
};

pub(crate) fn router() -> Router<Arc<AppState>> {
    Router::new()
        .route("/chat", post(chat_handler))
        .route("/chat/async", post(chat_async_handler))
        .route("/chat/jobs/{job_id}", get(chat_job_status_handler))
        .route("/chat/stream", post(chat_stream_handler))
        .route("/chat/approval", post(chat_approval_handler))
        .route("/chat/branch", post(chat_branch_handler))
        .route("/conversation/messages", get(conversation_messages_handler))
        .route("/upload", post(upload_handler))
        .route("/uploads/delete", post(delete_uploads_handler))
}