





















@@ -88,6 +88,7 @@ export const SessionSchema = z
8888/** @deprecated Use pruneAfter instead. */
8989pruneDays: z.number().int().positive().optional(),
9090maxEntries: z.number().int().positive().optional(),
91+modelRunPruneAfter: z.union([z.string(), z.number(), z.literal(false)]).optional(),
9192rotateBytes: z.union([z.string(), z.number()]).optional(),
9293resetArchiveRetention: z.union([z.string(), z.number(), z.literal(false)]).optional(),
9394maxDiskBytes: z.union([z.string(), z.number()]).optional(),
@@ -108,6 +109,19 @@ export const SessionSchema = z
108109});
109110}
110111}
112+if (val.modelRunPruneAfter !== undefined && val.modelRunPruneAfter !== false) {
113+try {
114+parseDurationMs(normalizeStringifiedOptionalString(val.modelRunPruneAfter) ?? "", {
115+defaultUnit: "d",
116+});
117+} catch {
118+ctx.addIssue({
119+code: z.ZodIssueCode.custom,
120+path: ["modelRunPruneAfter"],
121+message: "invalid duration (use ms, s, m, h, d)",
122+});
123+}
124+}
111125if (val.resetArchiveRetention !== undefined && val.resetArchiveRetention !== false) {
112126try {
113127parseDurationMs(normalizeStringifiedOptionalString(val.resetArchiveRetention) ?? "", {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。