访问当前项目或关联项目存储
POST/api/project-storage
context.storage.server.kv 与 context.storage.server.persistentValue 共用此 HTTP 入口,
但通过 storageKind 写入强制隔离的存储域。scope 只允许 project 和 conversation。
当前项目请求携带 projectId,且 entry.projectId 必须相同。关联项目请求只携带
consumerProjectId 与 alias,storageKind 固定为 kv,不得在 entry 中指定目标 UUID;
Server 从双方当前 projectInfo 解析目标并逐次检查授权。
get 要求调用方可读取消费项目;set、compare-and-set 要求可运行消费项目。
关联访问无需成为目标项目成员。compare-and-set 使用 get 返回的 revision;不匹配时
返回 { applied: false }。knowledge-mutation 只允许当前项目的 persistent_value,
还要求 knowledge.manage,并在一个 PostgreSQL 事务中更新知识库索引与正文。
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 501
get 返回 { exists, value?, revision? };set 返回 { ok: true };compare-and-set 返回 { applied, revision? };knowledge-mutation 返回文档或删除结果。
地址、storageKind、scope、projectId 绑定、conversationId、key、value、expectedRevision 或 knowledge-mutation 输入无效。
workflow-code 标准错误响应。
调用者无权读取或运行消费项目、关联授权不足、缺少 knowledge.manage,或项目声明不允许服务器存储。
关联项目不可用、待确认,或 knowledge-mutation 指定的编辑文档不存在。
knowledge-mutation 新建的文档 id 已存在。
server 未启用 PostgreSQL storage。