From 760516b2e7b97fa389fb3902e8d2314eea052ff0 Mon Sep 17 00:00:00 2001 From: soryu Date: Sat, 2 May 2026 15:07:33 +0100 Subject: feat: multi-document directives with ephemeral task lifecycle (#119) * feat: soryu-co/soryu - makima: Fix folder/file naming and breadcrumb hash bugs * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Frontend: render multiple documents per directive folder * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * Fix DirectiveRevision import in openapi.rs after merge * Fix document-directives.tsx merge artifacts and add inactive status --- makima/src/server/mod.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'makima/src/server/mod.rs') diff --git a/makima/src/server/mod.rs b/makima/src/server/mod.rs index 59eff2e..dd79ddf 100644 --- a/makima/src/server/mod.rs +++ b/makima/src/server/mod.rs @@ -18,7 +18,7 @@ use tower_http::trace::TraceLayer; use utoipa::OpenApi; use utoipa_swagger_ui::SwaggerUi; -use crate::server::handlers::{api_keys, chat, daemon_download, directives, file_ws, files, history, listen, mesh, mesh_chat, mesh_daemon, mesh_merge, mesh_supervisor, mesh_ws, orders, repository_history, speak, templates, users, versions}; +use crate::server::handlers::{api_keys, chat, daemon_download, directive_documents, directives, file_ws, files, history, listen, mesh, mesh_chat, mesh_daemon, mesh_merge, mesh_supervisor, mesh_ws, orders, repository_history, speak, templates, users, versions}; use crate::server::openapi::ApiDoc; use crate::server::state::SharedState; @@ -214,6 +214,29 @@ pub fn make_router(state: SharedState) -> Router { ) .route("/directives/{id}/dogs/{dog_id}/orders", get(directives::list_dog_orders)) .route("/directives/{id}/dogs/{dog_id}/pick-up-orders", post(directives::pick_up_dog_orders)) + // Directive document endpoints (multi-document directive contracts). + .route( + "/directives/{directive_id}/documents", + get(directive_documents::list_documents) + .post(directive_documents::create_document), + ) + .route( + "/directive-documents/{document_id}", + get(directive_documents::get_document) + .patch(directive_documents::update_document), + ) + .route( + "/directive-documents/{document_id}/ship", + post(directive_documents::ship_document), + ) + .route( + "/directive-documents/{document_id}/archive", + post(directive_documents::archive_document), + ) + .route( + "/directive-documents/{document_id}/tasks", + get(directive_documents::list_document_tasks), + ) // Order endpoints .route( "/orders", -- cgit v1.2.3