访问当前项目或关联项目存储
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、delete 要求消费项目的数据写权限。
关联访问无需成为目标项目成员。compare-and-set 使用 get 返回的 revision;不匹配时
返回 { applied: false }。delete 删除一条已存在的条目并返回 { removed: boolean };
条目不存在时返回 { removed: false },不是错误。knowledge-mutation 只允许当前项目的
persistent_value,要求项目数据写权限,并在一个 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 输入无效。
steamharness 标准错误响应。
调用者无权读取消费项目或写入其数据、关联授权不足,或项目声明不允许服务器存储。
关联项目不可用、待确认,或 knowledge-mutation 指定的编辑文档不存在。
knowledge-mutation 新建的文档 id 已存在。
server 未启用 PostgreSQL storage。