pub mod adapters;
pub mod catalog;
pub mod db;
pub mod error;
pub mod help;
pub mod interaction;
pub mod mcp;
pub mod model;
pub mod operations;
pub mod policy;
pub mod sekejap;
pub mod services;
pub mod shell;
pub mod sqlite_schema;
pub mod web;
use std::sync::Arc;
use axum::Router;
pub use error::PlatformError;
pub use model::{
AuthSession, CreateProjectRequest, CreateUserRequest, DataAdapterKind, ExecutePipelineRequest,
FileAdapterKind, LoginRequest, PipelineExecuteTrigger, PipelineLocateRequest, PipelineMeta,
PipelineRegistryListing, PlatformConfig, PlatformProject, PlatformUser, ProjectAccessSubject,
ProjectCapability, ProjectFileLayout, UpsertPipelineDefinitionRequest,
};
pub use services::{
AssistantConfigService, AuthService, AuthorizationService, PlatformService, ProjectService,
UserService,
};
pub async fn build_router(config: PlatformConfig) -> Result<Router, PlatformError> {
let platform = Arc::new(PlatformService::from_config(config)?);
Ok(web::router(platform).await)
}