Resource: ZodObject<
{
id: $ZodBranded<ZodUUID, "ResourceId", "out">;
lessonId: $ZodBranded<ZodUUID, "LessonId", "out">;
title: ZodString;
url: ZodString;
kind: ZodEnum<
{ pdf: "pdf"; slides: "slides"; code: "code"; other: "other" },
>;
},
$strip,
> = ...
A supplementary file attached to a Lesson. Resource is a first-class domain entity in v1 (not a field of Lesson) so the Workbook view, analytics, and shared Resources are possible without a refactor — see design.md §D1.
urlaccepts either an absolute URL or a site-relative path beginning with/(v1's static-asset convention — see design.md §D9 "Resource URL: static or signed").