Harden auth/vault path sanitization and clean WeKnora docs

This commit is contained in:
Agent Board
2026-07-28 17:04:27 +08:00
parent 2deaf59f7b
commit 26ff1a9c9a
190 changed files with 13454 additions and 4987 deletions
@@ -624,9 +624,17 @@ pub async fn load_stream_overview(
context: &RequestContext,
query: &StreamSnapshotQuery,
) -> Result<(String, Value), WebError> {
// resolve_effective_workspace_id(require=true) 在缺失时已返回 Err,不再用 expect panic。
let effective_workspace_id =
resolve_effective_workspace_id(context, query.workspace_id.as_deref(), true)?
.expect("workspace_required 已确保存在");
resolve_effective_workspace_id(context, query.workspace_id.as_deref(), true)?.ok_or_else(
|| {
WebError::bad_request_code(
"workspace_required",
"缺少 workspaceId,请在 query 或请求头中提供有效工作区",
)
.with_context(context)
},
)?;
let overview = execute_runtime_query_via_legacy_cloud(
config,
context,
@@ -643,8 +651,15 @@ pub async fn load_stream_snapshot(
query: &StreamSnapshotQuery,
) -> Result<Value, WebError> {
let effective_workspace_id =
resolve_effective_workspace_id(context, query.workspace_id.as_deref(), true)?
.expect("workspace_required 已确保存在");
resolve_effective_workspace_id(context, query.workspace_id.as_deref(), true)?.ok_or_else(
|| {
WebError::bad_request_code(
"workspace_required",
"缺少 workspaceId,请在 query 或请求头中提供有效工作区",
)
.with_context(context)
},
)?;
let scope = resolve_stream_scope(query);
let snapshot = match scope {
@@ -653,8 +668,13 @@ pub async fn load_stream_snapshot(
.await?
}
StreamSnapshotScope::Subtree => {
let root_node_id =
normalize_root_node_id(query).expect("subtree scope 已确保 rootNodeId 存在");
let root_node_id = normalize_root_node_id(query).ok_or_else(|| {
WebError::bad_request_code(
"stream_root_node_required",
"subtree 流需要 rootNodeId",
)
.with_context(context)
})?;
let dataset = load_sidebar_dataset(config, context, &effective_workspace_id).await?;
let tree = execute_kernel_query(
context,