收口 MNote P0 P1 P2 审查尾项
- 归档 OnlyOffice live bridge、Page AI、mindmap、design governance 与相关 bug 条目 - 补齐 MinerU OCR 后端 runtime 合同与 smoke/test 基线 - 收口 ChatOnly/Doubao、ObjectIdentity、Page Aggregate compat 与 runtime owner 文档口径 验证: - cargo test --manifest-path rust/Cargo.toml -p mnote-web local_ocr -- --test-threads=1 - cargo test --manifest-path rust/Cargo.toml -p mnote-web onlyoffice_bridge -- --test-threads=1 - git diff --check - git diff --cached --check - codegraph index . --force && codegraph status . - codegraph sync . && codegraph status .
This commit is contained in:
@@ -2,9 +2,11 @@ use crate::app::AppConfig;
|
||||
use crate::context::RequestContext;
|
||||
use crate::error::WebError;
|
||||
use bridge_runtime::{
|
||||
RuntimeCommandArtifactPlan, RuntimeCommandExecutionPlan, RuntimeQueryExecutionPlan,
|
||||
build_runtime_command_artifact_plan, RuntimeCommandArtifactPlan, RuntimeCommandExecutionPlan,
|
||||
RuntimeQueryExecutionPlan,
|
||||
};
|
||||
use serde_json::Value;
|
||||
use time::{format_description::well_known::Rfc3339, OffsetDateTime};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct RetiredCloudCommandExecution {
|
||||
@@ -184,23 +186,38 @@ pub async fn execute_retired_mutation_by_name(
|
||||
|
||||
pub async fn persist_runtime_command_artifacts(
|
||||
_config: &AppConfig,
|
||||
context: &RequestContext,
|
||||
_context: &RequestContext,
|
||||
_artifacts: &RuntimeCommandArtifactPlan,
|
||||
) -> Result<(), WebError> {
|
||||
Err(retired_error(context, "convex_artifacts_retired"))
|
||||
// Convex 已退役。Rust 侧仍会把 artifact plan 返回给调用方和 realtime
|
||||
// consumer;这里保持 no-op,避免兼容路径因为历史持久化层退役而失败。
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn execute_retired_command_plan_with_artifacts(
|
||||
config: &AppConfig,
|
||||
context: &RequestContext,
|
||||
_runtime_context: &bridge_runtime::RuntimeBridgeContextWire,
|
||||
_command: &bridge_runtime::RuntimeCommandEnvelopeWire,
|
||||
runtime_context: &bridge_runtime::RuntimeBridgeContextWire,
|
||||
command: &bridge_runtime::RuntimeCommandEnvelopeWire,
|
||||
plan: &RuntimeCommandExecutionPlan,
|
||||
) -> Result<RetiredCloudCommandExecution, WebError> {
|
||||
let result = execute_retired_command_plan(config, context, plan).await?;
|
||||
let now = OffsetDateTime::now_utc()
|
||||
.format(&Rfc3339)
|
||||
.unwrap_or_else(|_| "1970-01-01T00:00:00Z".into());
|
||||
let artifacts =
|
||||
build_runtime_command_artifact_plan(runtime_context, command, plan, &result, &now);
|
||||
let artifact_error = if let Some(artifacts) = artifacts.as_ref() {
|
||||
persist_runtime_command_artifacts(config, context, artifacts)
|
||||
.await
|
||||
.err()
|
||||
.map(|error| error.message().to_string())
|
||||
} else {
|
||||
None
|
||||
};
|
||||
Ok(RetiredCloudCommandExecution {
|
||||
result,
|
||||
artifacts: None,
|
||||
artifact_error: None,
|
||||
artifacts,
|
||||
artifact_error,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user