- Add LiteLLM provider implementing AiProvider trait - Support both Ollama and LiteLLM via LLM_PROVIDER env var - Add cover letter generation endpoint - Improve chat orchestrator with better intent detection - Add search_kb, explain_plan_limits, check_ai_pack_balance intents - Add LiteLLM config env vars
31 lines
1 KiB
Rust
31 lines
1 KiB
Rust
use axum::{
|
|
routing::{get, post},
|
|
Router,
|
|
};
|
|
use tower_http::{cors::CorsLayer, trace::TraceLayer};
|
|
|
|
use crate::{handlers, state::AppState};
|
|
|
|
pub fn build_router(state: AppState) -> Router {
|
|
Router::new()
|
|
.route("/health", get(handlers::health::health))
|
|
.nest(
|
|
"/api/v1",
|
|
Router::new()
|
|
.route("/chat/message", post(handlers::chat::message))
|
|
.route(
|
|
"/jobs/generate-description",
|
|
post(handlers::jobs::generate_description),
|
|
)
|
|
.route(
|
|
"/cover-letter/generate",
|
|
post(handlers::cover_letter::generate_cover_letter),
|
|
)
|
|
.route("/forms/extract", post(handlers::forms::extract))
|
|
.route("/tickets/create", post(handlers::tickets::create))
|
|
.route("/help/search", post(handlers::help::search)),
|
|
)
|
|
.layer(CorsLayer::permissive())
|
|
.layer(TraceLayer::new_for_http())
|
|
.with_state(state)
|
|
}
|