feat: advance local-first workspace checklist
- add admin access-policy UI and local access control surfaces - add local markdown conflict resolution UI and smoke coverage - add ACP local agent changed-files audit scaffold and read-only write guard - document current P0-P2 checklist progress and verification evidence
This commit is contained in:
@@ -29,6 +29,11 @@ mod tree;
|
||||
pub(crate) mod web_shell;
|
||||
mod ws;
|
||||
|
||||
pub(crate) use local_folder_source::{
|
||||
ensure_local_path_read_access, ensure_local_workspace_access, update_local_markdown_title,
|
||||
update_local_page_options, write_local_markdown_page_body,
|
||||
};
|
||||
|
||||
use crate::app::AppState;
|
||||
use axum::routing::{any, delete, get, post, put};
|
||||
use axum::Router;
|
||||
@@ -42,6 +47,10 @@ pub fn build_router(state: AppState) -> Router {
|
||||
.route("/", get(gateway::root_entry))
|
||||
.route("/trash", get(gateway::trash_entry))
|
||||
.route("/favicon.ico", get(gateway::favicon))
|
||||
.route(
|
||||
"/admin/access-policy",
|
||||
get(gateway::admin_access_policy_entry),
|
||||
)
|
||||
.route("/auth", get(gateway::auth_entry).post(gateway::auth_entry))
|
||||
.route("/search", get(search::shell))
|
||||
.route(
|
||||
@@ -88,6 +97,22 @@ pub fn build_router(state: AppState) -> Router {
|
||||
.route("/api/auth/whoami", get(session::session))
|
||||
.route("/api/auth/mnote-web-token", get(session::session))
|
||||
.route("/api/auth/session/refresh", post(session::refresh_session))
|
||||
.route(
|
||||
"/api/admin/access-policy",
|
||||
get(local_folder_source::get_local_access_policy),
|
||||
)
|
||||
.route(
|
||||
"/api/admin/access-policy/validate-root",
|
||||
post(local_folder_source::validate_local_access_root),
|
||||
)
|
||||
.route(
|
||||
"/api/admin/access-policy/grants",
|
||||
post(local_folder_source::create_local_access_grant),
|
||||
)
|
||||
.route(
|
||||
"/api/admin/access-policy/grants/{grant_id}",
|
||||
delete(local_folder_source::delete_local_access_grant),
|
||||
)
|
||||
.route("/api/ai-agent/run", post(compat::next_ai_agent_run))
|
||||
.route(
|
||||
"/api/page-ai/block-edit-workflow",
|
||||
@@ -134,6 +159,7 @@ pub fn build_router(state: AppState) -> Router {
|
||||
.route("/api/documents/title", post(documents::title))
|
||||
.route("/api/documents/options", post(documents::options))
|
||||
.route("/api/documents/save", post(documents::save))
|
||||
.route("/api/page-body/write", post(documents::page_body_write))
|
||||
.route(
|
||||
"/api/documents/runtime/transform",
|
||||
post(editor::transform_runtime_snapshot),
|
||||
@@ -160,6 +186,18 @@ pub fn build_router(state: AppState) -> Router {
|
||||
"/api/local-folder/events",
|
||||
get(local_folder_events::local_folder_events),
|
||||
)
|
||||
.route(
|
||||
"/api/local-folder/workspaces/default",
|
||||
post(local_folder_source::create_default_local_workspace),
|
||||
)
|
||||
.route(
|
||||
"/api/local-folder/assets/upload",
|
||||
post(local_folder_source::upload_local_markdown_asset),
|
||||
)
|
||||
.route(
|
||||
"/api/local-folder/files/open",
|
||||
get(local_folder_source::open_local_file),
|
||||
)
|
||||
.route(
|
||||
"/api/tree/runtime/reduce",
|
||||
post(tree::reduce_tree_shell_runtime),
|
||||
|
||||
Reference in New Issue
Block a user