cedros_data/http_discovery/
mod.rs1mod agent;
13mod bundle;
14pub mod content;
15mod heartbeat;
16mod llms;
17mod manifests;
18mod skill_content;
19mod skill_files;
20mod skills;
21pub mod types;
22
23use std::sync::Arc;
24
25use axum::routing::get;
26use axum::Router;
27
28use crate::http::AppState;
29
30pub(crate) fn discovery_routes() -> Router<Arc<AppState>> {
32 Router::new()
33 .route("/ai.txt", get(llms::ai_txt))
35 .route("/llms.txt", get(llms::llms_txt))
36 .route("/llms-full.txt", get(llms::llms_full_txt))
37 .route("/llms-admin.txt", get(llms::llms_admin_txt))
38 .route("/skill.md", get(skills::skill_md))
40 .route("/skill.json", get(skills::skill_json))
41 .route("/skills/data.md", get(skill_files::skill_data_md))
43 .route("/skills/admin.md", get(skill_files::skill_admin_md))
44 .route("/skills/schema.md", get(skill_files::skill_schema_md))
45 .route("/skills/storage.md", get(skill_files::skill_storage_md))
46 .route("/skills/site.md", get(skill_files::skill_site_md))
47 .route("/agent.md", get(agent::agent_md))
49 .route("/heartbeat.md", get(heartbeat::heartbeat_md))
51 .route("/heartbeat.json", get(heartbeat::heartbeat_json))
52 .route(
54 "/.well-known/ai-discovery.json",
55 get(manifests::ai_discovery_index),
56 )
57 .route(
58 "/.well-known/ai-plugin.json",
59 get(manifests::ai_plugin_json),
60 )
61 .route("/.well-known/agent.json", get(manifests::agent_json))
62 .route("/.well-known/mcp", get(manifests::mcp_discovery))
63 .route("/.well-known/skills.zip", get(bundle::skills_bundle_zip))
64 .route("/openapi.json", get(manifests::openapi_json))
66}