feat(copy): 处理状态的「入库」改为「整理」,术语表与 check:copy 同步
真正入库取决于媒体服务器有没有扫到,本工具只负责整理(元数据、NFO 与图片、按规则归到目录)。 界面与面向用户的服务端文案里「已入库 / 未入库 / 部分入库 / 入库失败 / 入库中 / 入库后 / 原地入库…」 改为「已整理 / 未整理 / 部分整理 / 整理失败 / 整理中 / 整理后 / 原地整理…」;文件管理快速筛选「已整理」、 目录副行「n 个已整理 / 未整理」、季卡片「已整理 x/y」。代码标识符不改,「Emby 已有」这类媒体服务器状态保留。 glossary 加「整理」口径条目;check:copy 拦处理状态语境的「入库」搭配,其它线待替换的文件暂列 TERM_PENDING。 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
79c3b8c9b9
commit
550ac285f4
67 files changed
+171
-143
No files matched your search
@@ -64,7 +64,7 @@ export const episodeMappingApi = {
|
||||
method: "get",
|
||||
path: "/media-entities/{id}/episode-structure",
|
||||
scope: "read",
|
||||
summary: "某套季集结构(TMDB 默认季或剧集组)的季卡片与每集,带本地已入库情况(纯读)",
|
||||
summary: "某套季集结构(TMDB 默认季或剧集组)的季卡片与每集,带本地已整理情况(纯读)",
|
||||
params: IdParam,
|
||||
query: em.EpisodeStructureQuery,
|
||||
response: em.EpisodeStructureSeasons,
|
||||
|
||||
@@ -60,7 +60,7 @@ export const executionApi = {
|
||||
method: "post",
|
||||
path: "/acquisition-plans",
|
||||
scope: "organize.execute",
|
||||
summary: "独立手动下载:不要求订阅,支持未知资源确认、下载器与目录选择,以及本次正常或洗版入库",
|
||||
summary: "独立手动下载:不要求订阅,支持未知资源确认、下载器与目录选择,以及本次正常整理或洗版",
|
||||
body: execution.ManualAcquisitionRequest,
|
||||
response: execution.ManualAcquisitionResult,
|
||||
}),
|
||||
|
||||
@@ -99,7 +99,7 @@ export const libraryApi = {
|
||||
method: "get",
|
||||
path: "/library/{id}/versions",
|
||||
scope: "read",
|
||||
summary: "作品的入库版本:每季每集的本地文件版本与规格、季 / 作品汇总、与版本目标的比对",
|
||||
summary: "作品的已整理版本:每季每集的本地文件版本与规格、季 / 作品汇总、与版本目标的比对",
|
||||
params: IdParam,
|
||||
query: libraryVersions.LibraryVersionsQuery,
|
||||
response: libraryVersions.LibraryVersions,
|
||||
@@ -163,7 +163,7 @@ export const libraryApi = {
|
||||
method: "post",
|
||||
path: "/download-cache/cleanup",
|
||||
scope: "admin",
|
||||
summary: "立即按阈值清理下载缓存(只清已验证入库且满足保留/H&R 的纳管任务)",
|
||||
summary: "立即按阈值清理下载缓存(只清已核验整理且满足保留/H&R 的纳管任务)",
|
||||
body: z.object({ downloaderInstanceId: z.uuid().optional() }),
|
||||
response: z.object({ report: z.record(z.string(), z.unknown()) }),
|
||||
}),
|
||||
|
||||
@@ -196,7 +196,7 @@ export const organizeApi = {
|
||||
method: "post",
|
||||
path: "/files/organize",
|
||||
scope: "organize.execute",
|
||||
summary: "按作品分组整理入库(每组走 planImport,与 /organization-records 同实现)",
|
||||
summary: "按作品分组整理(每组走 planImport,与 /organization-records 同实现)",
|
||||
body: files.FilesOrganizeRequest,
|
||||
response: files.FilesOrganizeResult,
|
||||
}),
|
||||
|
||||
@@ -29,7 +29,7 @@ export const rulesApi = {
|
||||
path: "/subscriptions/calendar",
|
||||
scope: "read",
|
||||
summary:
|
||||
"订阅日历:追踪中订阅范围内集的播出日期(同日同季聚合)与入库状态,电影取上映日期;没有播出日期的列在 unknown。from/to 为 YYYY-MM-DD,跨度不超过 62 天",
|
||||
"订阅日历:追踪中订阅范围内集的播出日期(同日同季聚合)与整理状态,电影取上映日期;没有播出日期的列在 unknown。from/to 为 YYYY-MM-DD,跨度不超过 62 天",
|
||||
query: z.object({
|
||||
from: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
|
||||
to: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
|
||||
@@ -41,7 +41,7 @@ export const rulesApi = {
|
||||
method: "post",
|
||||
path: "/subscriptions/{id}/reset",
|
||||
scope: "admin",
|
||||
summary: "重置进度:取消已预留未提交、下载任务已不在的计划,清延后记录,立即重评;仍在下载的计划与已入库资产保留",
|
||||
summary: "重置进度:取消已预留未提交、下载任务已不在的计划,清延后记录,立即重评;仍在下载的计划与已整理资产保留",
|
||||
params: IdParam,
|
||||
response: policy.SubscriptionResetResult,
|
||||
}),
|
||||
|
||||
@@ -221,7 +221,7 @@ export const CAPABILITY_CATALOG: Record<KnownCapabilityId, CapabilityDescriptor>
|
||||
"organize.plan": d(
|
||||
"organize.plan",
|
||||
"生成整理计划",
|
||||
"生成并保存整理计划:冻结源/目标路径、整理方式与前置条件;不执行。下载完成后整理入库前用;只生成计划不动文件",
|
||||
"生成并保存整理计划:冻结源/目标路径、整理方式与前置条件;不执行。下载完成后整理前用;只生成计划不动文件",
|
||||
"preview",
|
||||
"OrganizePlan",
|
||||
"organize.read",
|
||||
|
||||
@@ -9,9 +9,9 @@ export type ReasonText = {
|
||||
};
|
||||
|
||||
const REASONS: Record<string, ReasonText> = {
|
||||
in_place_failed: { text: "原地入库未完成", action: "在整理记录里查看未登记的文件" },
|
||||
in_place_failed: { text: "原地整理未完成", action: "在整理记录里查看未登记的文件" },
|
||||
in_place_outside_library: { text: "文件不在所选媒体库目录内", action: "先登记该目录为媒体库,或改用复制/移动" },
|
||||
in_place_cannot_replace: { text: "原地入库不替换已有版本", action: "洗版请使用复制/移动入库" },
|
||||
in_place_cannot_replace: { text: "原地整理不替换已有版本", action: "洗版改用复制/移动整理" },
|
||||
source_config_mismatch: { text: "文件或媒体类型不属于所选整理来源", action: "检查来源目录和媒体类型" },
|
||||
classification_unavailable: { text: "暂时无法确定媒体分类", action: "检查 TMDB 连接或选择固定分类后重新整理" },
|
||||
identity_unknown: { text: "没识别出作品", action: "指定作品后重新整理" },
|
||||
@@ -25,7 +25,7 @@ const REASONS: Record<string, ReasonText> = {
|
||||
hnr_unsatisfied: { text: "做种时间还不够,不能移动", action: "改用复制,或等做种完成" },
|
||||
hnr_unknown: { text: "不确定做种要求是否满足", action: "改用复制,或确认站点规则" },
|
||||
orphan_sidecar: { text: "字幕等附属文件找不到对应视频" },
|
||||
no_main_video: { text: "没有可入库的主视频" },
|
||||
no_main_video: { text: "没有可整理的主视频" },
|
||||
below_min_size: { text: "文件小于最小体积,没有识别", action: "需要时在设置里调低最小体积" },
|
||||
too_small: { text: "文件小于最小体积" },
|
||||
source_path_unknown: { text: "下载器没有报告保存路径", action: "在下载器里确认任务还在" },
|
||||
@@ -55,7 +55,7 @@ const REASONS: Record<string, ReasonText> = {
|
||||
blocked_by_conflict: { text: "有冲突,暂不整理" },
|
||||
transfer_failed: { text: "文件没有整理成功", action: "在整理记录里查看失败的文件" },
|
||||
main_failed: { text: "主文件整理失败,附属文件一起跳过" },
|
||||
not_imported_kind: { text: "这类文件不入库" },
|
||||
not_imported_kind: { text: "这类文件不整理" },
|
||||
target_root_not_managed: { text: "目标目录不是本工具管理的媒体库目录", action: "在设置 → 媒体库与目录里检查" },
|
||||
download_removed: { text: "下载任务已从下载器删除" },
|
||||
// FIX-7:智能体汇报与工具结果里常见的码(能力错误、下载计划的空间判定、站点登录、待处理类型)
|
||||
@@ -100,7 +100,7 @@ const REASONS: Record<string, ReasonText> = {
|
||||
rejected: { text: "下载器拒绝了这个种子" },
|
||||
source_failed: { text: "从站点取种子失败", action: "检查站点登录后重新下载" },
|
||||
// SCR-1 / SCR-2 刮削(刮削记录、逐文件结果)
|
||||
scrape_no_files: { text: "作品没有已入库文件", action: "到文件管理里对目录刮削" },
|
||||
scrape_no_files: { text: "作品没有已整理文件", action: "到文件管理里对目录刮削" },
|
||||
scrape_no_metadata: { text: "没有可用的元数据", action: "指定 TMDB 条目后重新刮削" },
|
||||
scrape_root_read_only: { text: "只登记模式的媒体库目录,不写文件" },
|
||||
scrape_root_offline: { text: "目录不可访问或未挂载" },
|
||||
|
||||
Reference in new issue
Block a user