Files
2026-08-21 16:00:13 +08:00

46 lines
2.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""资料导入 API schema(api-spec §8)。"""
from typing import Any
from pydantic import BaseModel, Field
class CreateImportRequest(BaseModel):
"""JSON 提交导入(粘贴文本 / 结构化消息 / 手动设定)。"""
material_type: str = Field(description="资料类型,取值见契约字典 §10.1。")
format: str = Field(default="text", description="格式:text / json / markdown 等。")
content: str = Field(min_length=1, description="资料正文。")
title: str | None = Field(default=None, description="可选标题。")
source_note: str | None = Field(default=None, description="资料来源说明。")
class ImportItemResponse(BaseModel):
id: str = Field(description="条目 ID,前缀 import_item_。")
import_job_id: str = Field(description="所属导入任务 ID。")
item_type: str = Field(description="条目类型,契约字典 §10.4。")
role: str = Field(description="条目角色,契约字典 §10.5。")
sequence: int = Field(description="条目序号。")
content: str = Field(description="条目正文。")
metadata: dict[str, Any] = Field(default_factory=dict, description="条目附加元数据。")
created_at: str = Field(description="创建时间,UTC ISO 8601 字符串。")
class ImportJobResponse(BaseModel):
id: str = Field(description="导入任务 ID,前缀 import_。")
character_id: str = Field(description="所属人物 ID。")
material_type: str = Field(description="资料类型。")
source_type: str = Field(description="导入来源类型,契约字典 §10.2。")
title: str | None = Field(default=None)
status: str = Field(description="任务状态,契约字典 §10.3。")
format: str = Field(description="资料格式。")
media_type: str | None = Field(default=None)
mime_type: str | None = Field(default=None)
item_count: int = Field(description="解析出的条目数。")
consent_status: str = Field(description="授权状态。")
usage_scope: str = Field(description="用途范围。")
error_code: str | None = Field(default=None)
error_message: str | None = Field(default=None)
created_at: str = Field(description="创建时间,UTC ISO 8601 字符串。")
updated_at: str = Field(description="更新时间,UTC ISO 8601 字符串。")