summaryrefslogtreecommitdiff
path: root/makima/src/server/mod.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-05-02 15:07:33 +0100
committerGitHub <noreply@github.com>2026-05-02 15:07:33 +0100
commit760516b2e7b97fa389fb3902e8d2314eea052ff0 (patch)
tree69eb1dd212ef924ee9e451d8d88806f899c03e84 /makima/src/server/mod.rs
parente11759447b1ac00becfb1e979e488f7f9c9cf478 (diff)
downloadsoryu-760516b2e7b97fa389fb3902e8d2314eea052ff0.tar.gz
soryu-760516b2e7b97fa389fb3902e8d2314eea052ff0.zip
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
Diffstat (limited to 'makima/src/server/mod.rs')
-rw-r--r--makima/src/server/mod.rs25
1 files changed, 24 insertions, 1 deletions
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",