初始化提交
This commit is contained in:
commit
887c1f449e
963 files changed
+166869
No files matched your search
@@ -0,0 +1,50 @@
|
||||
"""候选 API schema(api-spec §8)。"""
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class ProfileCandidateResponse(BaseModel):
|
||||
id: str = Field(description="候选 ID,前缀 profile_candidate_。")
|
||||
character_id: str = Field(description="所属人物 ID。")
|
||||
import_job_id: str | None = Field(default=None, description="来源导入任务 ID。")
|
||||
field: str = Field(description="档案字段名。")
|
||||
value: str = Field(description="候选值。")
|
||||
confidence: float = Field(description="置信度。")
|
||||
evidence_ids: list[str] = Field(default_factory=list, description="证据 import_item ID。")
|
||||
status: str = Field(description="审核状态,契约字典 §10.6。")
|
||||
reason: str | None = Field(default=None)
|
||||
reviewed_at: str | None = Field(default=None)
|
||||
created_at: str = Field(description="创建时间,UTC ISO 8601 字符串。")
|
||||
|
||||
|
||||
class MemoryCandidateResponse(BaseModel):
|
||||
id: str = Field(description="候选 ID,前缀 memory_candidate_。")
|
||||
character_id: str = Field(description="所属人物 ID。")
|
||||
import_job_id: str | None = Field(default=None, description="来源导入任务 ID。")
|
||||
cycle_id: str | None = Field(default=None, description="来源大周天循环 ID。")
|
||||
type: str = Field(description="记忆类型。")
|
||||
title: str = Field(description="记忆标题。")
|
||||
content: str = Field(description="记忆内容。")
|
||||
confidence: float = Field(description="置信度。")
|
||||
importance: float = Field(description="重要度。")
|
||||
sensitivity: str = Field(description="敏感等级。")
|
||||
evidence_ids: list[str] = Field(default_factory=list, description="证据 import_item ID。")
|
||||
status: str = Field(description="审核状态,契约字典 §10.6。")
|
||||
reason: str | None = Field(default=None)
|
||||
reviewed_at: str | None = Field(default=None)
|
||||
created_at: str = Field(description="创建时间,UTC ISO 8601 字符串。")
|
||||
|
||||
|
||||
class CandidateReviewDecision(BaseModel):
|
||||
candidate_id: str = Field(description="候选 ID。")
|
||||
decision: str = Field(description="审核决定:approve / reject。")
|
||||
|
||||
|
||||
class BatchReviewRequest(BaseModel):
|
||||
decisions: list[CandidateReviewDecision] = Field(min_length=1, description="批量审核决定。")
|
||||
|
||||
|
||||
class BatchReviewResult(BaseModel):
|
||||
applied: int = Field(description="已应用(approve)数量。")
|
||||
rejected: int = Field(description="已驳回数量。")
|
||||
skipped: int = Field(description="因状态非 pending 跳过的数量。")
|
||||
Reference in new issue
Block a user