修复索引首次失败回滚、Vault 扫描边界、Markdown 代码围栏和 UTF-16 Citation 偏移。 收紧 Plugin 权限与 JSON Schema 校验,补齐 Note Move、Task、Attachment 和 Transcript Tool。 接入 OpenAI SSE 与 Ollama JSONL 真流式输出,修正 Provider PATCH 语义并限制运行时内存保留。 新增对应回归测试,后端测试增至 62 项。
16 lines
407 B
Python
16 lines
407 B
Python
import asyncio
|
|
from functools import wraps
|
|
|
|
_vault_mutation_lock = asyncio.Lock()
|
|
|
|
|
|
def serialized_vault_mutation(operation):
|
|
"""串行化 Vault 文件与可重建索引的写入,避免 rebuild 与 Note 写操作交错。"""
|
|
|
|
@wraps(operation)
|
|
async def wrapped(*args, **kwargs):
|
|
async with _vault_mutation_lock:
|
|
return await operation(*args, **kwargs)
|
|
|
|
return wrapped
|