@happyvertical/smrt-education 0.57.52 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/AGENTS.md +12 -7
  2. package/README.md +36 -2
  3. package/agents/course-work-design.md +144 -0
  4. package/agents/group-sharing.md +5 -1
  5. package/agents/learner-plan.md +3 -3
  6. package/agents/learner-service.md +1 -1
  7. package/agents/lesson-materials.md +52 -0
  8. package/agents/{workbook-service.md → lesson-work-service.md} +164 -95
  9. package/agents/{workbook-test-matrix.md → lesson-work-test-matrix.md} +3 -3
  10. package/agents/photo-intake.md +37 -50
  11. package/agents/question-records.md +1 -1
  12. package/agents/submission-service.md +22 -6
  13. package/dist/catalog-service.d.ts +1 -1
  14. package/dist/catalog-service.d.ts.map +1 -1
  15. package/dist/catalog.d.ts +11 -0
  16. package/dist/catalog.d.ts.map +1 -1
  17. package/dist/chunks/{workbook-photo-service-BtMQsbhq.js → workbook-photo-service-COtyQL1y.js} +5927 -4963
  18. package/dist/chunks/workbook-photo-service-COtyQL1y.js.map +1 -0
  19. package/dist/course-authoring-contracts.d.ts +5 -1
  20. package/dist/course-authoring-contracts.d.ts.map +1 -1
  21. package/dist/course-authoring-service.d.ts.map +1 -1
  22. package/dist/course-work-migration.d.ts +27 -0
  23. package/dist/course-work-migration.d.ts.map +1 -0
  24. package/dist/group-sharing-contracts.d.ts +3 -3
  25. package/dist/group-sharing-contracts.d.ts.map +1 -1
  26. package/dist/group-sharing-policy.d.ts +4 -4
  27. package/dist/group-sharing-policy.d.ts.map +1 -1
  28. package/dist/group-sharing-reader.d.ts.map +1 -1
  29. package/dist/index.d.ts +13 -11
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +351 -36
  32. package/dist/index.js.map +1 -1
  33. package/dist/ingestion.d.ts +12 -11
  34. package/dist/ingestion.d.ts.map +1 -1
  35. package/dist/ingestion.js +63 -56
  36. package/dist/ingestion.js.map +1 -1
  37. package/dist/learner-plan-service.d.ts +1 -1
  38. package/dist/learner-plan-service.d.ts.map +1 -1
  39. package/dist/learner-service.d.ts +19 -5
  40. package/dist/learner-service.d.ts.map +1 -1
  41. package/dist/lesson-assets.d.ts +66 -2
  42. package/dist/lesson-assets.d.ts.map +1 -1
  43. package/dist/lesson-pages.d.ts +36 -0
  44. package/dist/lesson-pages.d.ts.map +1 -0
  45. package/dist/{workbook-completion.d.ts → lesson-work-completion.d.ts} +10 -10
  46. package/dist/lesson-work-completion.d.ts.map +1 -0
  47. package/dist/{workbook-contracts.d.ts → lesson-work-contracts.d.ts} +100 -52
  48. package/dist/lesson-work-contracts.d.ts.map +1 -0
  49. package/dist/lesson-work-models.d.ts +118 -0
  50. package/dist/lesson-work-models.d.ts.map +1 -0
  51. package/dist/lesson-work-service.d.ts +239 -0
  52. package/dist/lesson-work-service.d.ts.map +1 -0
  53. package/dist/manifest.json +6504 -5419
  54. package/dist/smrt-knowledge.json +2147 -1744
  55. package/dist/submission-service.d.ts +135 -5
  56. package/dist/submission-service.d.ts.map +1 -1
  57. package/dist/submissions.d.ts +2 -0
  58. package/dist/submissions.d.ts.map +1 -1
  59. package/dist/work-answer-regions.d.ts +11 -0
  60. package/dist/work-answer-regions.d.ts.map +1 -0
  61. package/dist/work-layout.d.ts +13 -0
  62. package/dist/work-layout.d.ts.map +1 -0
  63. package/dist/workbook-photo-contracts.d.ts +9 -7
  64. package/dist/workbook-photo-contracts.d.ts.map +1 -1
  65. package/dist/workbook-photo-ingestion.d.ts +1 -1
  66. package/dist/workbook-photo-ingestion.d.ts.map +1 -1
  67. package/dist/workbook-photo-models.d.ts +5 -5
  68. package/dist/workbook-photo-models.d.ts.map +1 -1
  69. package/dist/workbook-photo-service.d.ts +13 -10
  70. package/dist/workbook-photo-service.d.ts.map +1 -1
  71. package/package.json +8 -8
  72. package/dist/chunks/workbook-photo-service-BtMQsbhq.js.map +0 -1
  73. package/dist/workbook-answer-regions.d.ts +0 -11
  74. package/dist/workbook-answer-regions.d.ts.map +0 -1
  75. package/dist/workbook-completion.d.ts.map +0 -1
  76. package/dist/workbook-contracts.d.ts.map +0 -1
  77. package/dist/workbook-layout.d.ts +0 -13
  78. package/dist/workbook-layout.d.ts.map +0 -1
  79. package/dist/workbook-models.d.ts +0 -129
  80. package/dist/workbook-models.d.ts.map +0 -1
  81. package/dist/workbook-service.d.ts +0 -163
  82. package/dist/workbook-service.d.ts.map +0 -1
@@ -9,7 +9,7 @@ export type PlanLessonView = Readonly<{
9
9
  kind: string;
10
10
  requiresOnlineResource: boolean;
11
11
  sourceUrl?: string;
12
- workbookActivityId?: string;
12
+ lessonActivityId?: string;
13
13
  }>;
14
14
  progress: LessonProgressView | null;
15
15
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"learner-plan-service.d.ts","sourceRoot":"","sources":["../src/learner-plan-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAEL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,QAAQ,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,sBAAsB,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AACH,yGAAyG;AACzG,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,UAAU,EAAE,cAAc,CAAC;IAC3B,YAAY,EAAE,WAAW,GAAG,aAAa,CAAC;IAC1C,MAAM,EAAE,QAAQ,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,cAAc,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,GAAG,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,0FAA0F;IAC1F,gBAAgB,EAAE,QAAQ,CAAC;QACzB,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;QAC9B,EAAE,EAAE,IAAI,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,GAAG,IAAI,CAAC;CACX,CAAC,CAAC;AAaH,kFAAkF;AAClF,qBAAa,kBAAmB,SAAQ,qBAAqB;cACxC,wBAAwB,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAQlE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAehE,iBAAiB,CACrB,OAAO,EAAE,cAAc,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,kBAAkB,CAAC;CA4G/B"}
1
+ {"version":3,"file":"learner-plan-service.d.ts","sourceRoot":"","sources":["../src/learner-plan-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAEL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,QAAQ,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,sBAAsB,EAAE,OAAO,CAAC;QAChC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AACH,yGAAyG;AACzG,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,UAAU,EAAE,cAAc,CAAC;IAC3B,YAAY,EAAE,WAAW,GAAG,aAAa,CAAC;IAC1C,MAAM,EAAE,QAAQ,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,cAAc,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,GAAG,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,0FAA0F;IAC1F,gBAAgB,EAAE,QAAQ,CAAC;QACzB,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;QAC9B,EAAE,EAAE,IAAI,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,GAAG,IAAI,CAAC;CACX,CAAC,CAAC;AAaH,kFAAkF;AAClF,qBAAa,kBAAmB,SAAQ,qBAAqB;cACxC,wBAAwB,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAQlE,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAehE,iBAAiB,CACrB,OAAO,EAAE,cAAc,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,kBAAkB,CAAC;CA0G/B"}
@@ -5,6 +5,7 @@ import { type CourseDelegation } from './course-delegation.js';
5
5
  import { type LessonProgressTransitionKind } from './learner-history.js';
6
6
  import { type InterestTheme, type InterestThemeInput } from './learner-interest-theme.js';
7
7
  import type { Curriculum, Enrollment, Learner, LessonProgress } from './learners.js';
8
+ import { type LessonActivity } from './lesson-work-models.js';
8
9
  /** One lesson row an enrollment may work on, with the course row it belongs to. */
9
10
  export type EnrollmentLessonEntry = Readonly<{
10
11
  lesson: Lesson;
@@ -121,10 +122,10 @@ export declare class LessonAlreadyCompleteError extends LearnerValidationError {
121
122
  constructor();
122
123
  }
123
124
  /**
124
- * `completeOwnLesson` on a lesson with a physical workbook activity, whose
125
- * completion is owned by the workbook completion decision.
125
+ * `completeOwnLesson` on book or loose-page work, whose completion is owned
126
+ * by the parent's lesson work completion decision.
126
127
  */
127
- export declare class WorkbookOwnedLessonError extends LearnerValidationError {
128
+ export declare class LessonWorkOwnedError extends LearnerValidationError {
128
129
  constructor();
129
130
  }
130
131
  /** `completeOwnLesson` on a lesson that was skipped. */
@@ -315,10 +316,23 @@ export declare class LearnerService {
315
316
  enrollmentId: string;
316
317
  }, action: Parameters<LearnerAuthorizer>[0]['action']): Promise<Enrollment>;
317
318
  /** Existing non-workbook consumers need not migrate optional workbook tables. */
318
- protected findWorkbookActivity(request: LearnerRequest, selector: {
319
+ protected findLessonActivity(request: LearnerRequest, selector: {
319
320
  enrollmentId?: string;
320
321
  lessonId?: string;
321
- }): Promise<import("./workbook-models.js").WorkbookActivity | null>;
322
+ }): Promise<LessonActivity | null>;
323
+ /**
324
+ * Book and loose-page work: learners see marks only through an explicit
325
+ * feedback release and the lesson completes only by a parent decision.
326
+ * Ordinary lessons complete on a guardian grade.
327
+ */
328
+ protected isReleaseGatedWork(activity: LessonActivity): Promise<boolean>;
329
+ /** An enrollment in a book course or in unfiled photo routing. */
330
+ protected isReleaseGatedEnrollment(tenantId: string, enrollmentId: string): Promise<boolean>;
331
+ /**
332
+ * The latest completion of loose work currently filed onto this lesson
333
+ * (its filing head targets the enrollment and lesson), or null.
334
+ */
335
+ protected placedWorkCompletion(request: LearnerRequest, enrollmentId: string, lessonId: string): Promise<Date | null>;
322
336
  /** Compatibility progress never transports a workbook learner's feedback. */
323
337
  protected projectProgress(request: LearnerRequest, row: LessonProgress): Promise<LessonProgressView>;
324
338
  listProgress(request: LearnerRequest & {
@@ -1 +1 @@
1
- {"version":3,"file":"learner-service.d.ts","sourceRoot":"","sources":["../src/learner-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learner-service.d.ts","sourceRoot":"","sources":["../src/learner-service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,76 @@
1
- import { SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
2
- export type LessonAssetRelationship = 'printable' | 'answer-key' | 'video' | 'attachment';
1
+ import { SmrtCollection, SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
2
+ /** The role a material plays for a lesson or a course. */
3
+ export declare const LESSON_ASSET_RELATIONSHIPS: readonly ["teacher-guide", "slides", "learner-pages", "assessment", "assessment-guidance", "handout", "printable", "answer-key", "video", "attachment"];
4
+ export type LessonAssetRelationship = (typeof LESSON_ASSET_RELATIONSHIPS)[number];
5
+ /** Who a material is for: the learner, or the guardian only. */
6
+ export type MaterialAudience = 'learner' | 'guardian';
7
+ /** The audience a role gets unless the family chooses otherwise. */
8
+ export declare const LESSON_ASSET_DEFAULT_AUDIENCE: Readonly<Record<LessonAssetRelationship, MaterialAudience>>;
9
+ /** Keys and marking guidance: never learner-visible, always private files. */
10
+ export declare const GUARDIAN_ONLY_RELATIONSHIPS: ReadonlySet<LessonAssetRelationship>;
11
+ /**
12
+ * The effective audience of a material: its stored audience, or the role
13
+ * default when none was stored. Throws for an unknown role or audience, and
14
+ * for a learner audience on a guardian-only role.
15
+ */
16
+ export declare function materialAudience(relationship: string, audience?: string | null): MaterialAudience;
3
17
  export declare class LessonAsset extends SmrtObject {
4
18
  tenantId: string | null;
5
19
  lessonId: string;
6
20
  assetId: string;
7
21
  relationship: LessonAssetRelationship;
8
22
  sortOrder: number;
23
+ /** '' reads as the role default (`materialAudience`). */
24
+ audience: MaterialAudience | '';
9
25
  constructor(options?: Record<string, unknown>);
10
26
  save(options?: SmrtSaveOptions): Promise<this>;
11
27
  }
28
+ /**
29
+ * Course-level material (a supply list, posters): the same roles and
30
+ * audience as lesson material, owned by the course rather than a lesson.
31
+ */
32
+ export declare class CourseAsset extends SmrtObject {
33
+ tenantId: string | null;
34
+ courseId: string;
35
+ assetId: string;
36
+ relationship: LessonAssetRelationship;
37
+ audience: MaterialAudience | '';
38
+ title: string;
39
+ sortOrder: number;
40
+ constructor(options?: Record<string, unknown>);
41
+ save(options?: SmrtSaveOptions): Promise<this>;
42
+ }
43
+ export declare class CourseAssetCollection extends SmrtCollection<CourseAsset> {
44
+ static readonly _itemClass: typeof CourseAsset;
45
+ }
46
+ /** External video providers whose references a lesson may carry. */
47
+ export declare const EXTERNAL_VIDEO_PROVIDERS: readonly ["youtube"];
48
+ export type ExternalVideoProvider = (typeof EXTERNAL_VIDEO_PROVIDERS)[number];
49
+ /**
50
+ * The 11-character YouTube video id named by a bare id or an allowlisted
51
+ * youtube.com / youtu.be URL (watch, embed, shorts, live); null otherwise.
52
+ * Nothing is fetched.
53
+ */
54
+ export declare function parseYouTubeReference(input: string): string | null;
55
+ /** The privacy-enhanced embed URL for a stored reference. */
56
+ export declare function externalVideoEmbedUrl(provider: ExternalVideoProvider, videoId: string): string;
57
+ /**
58
+ * A lesson video that lives with an allowlisted provider (YouTube): a
59
+ * reference with a title and its step order in the lesson. It is never
60
+ * downloaded and has no Asset row.
61
+ */
62
+ export declare class LessonExternalVideo extends SmrtObject {
63
+ tenantId: string | null;
64
+ lessonId: string;
65
+ provider: ExternalVideoProvider;
66
+ videoId: string;
67
+ title: string;
68
+ stepOrder: number;
69
+ audience: MaterialAudience | '';
70
+ constructor(options?: Record<string, unknown>);
71
+ save(options?: SmrtSaveOptions): Promise<this>;
72
+ }
73
+ export declare class LessonExternalVideoCollection extends SmrtCollection<LessonExternalVideo> {
74
+ static readonly _itemClass: typeof LessonExternalVideo;
75
+ }
12
76
  //# sourceMappingURL=lesson-assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lesson-assets.d.ts","sourceRoot":"","sources":["../src/lesson-assets.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,UAAU,EACV,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,YAAY,GACZ,OAAO,GACP,YAAY,CAAC;AAEjB,qBAQa,WAAY,SAAQ,UAAU;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnB,QAAQ,SAAM;IAExD,OAAO,SAAM;IACc,YAAY,EAAE,uBAAuB,CACjD;IACf,SAAS,SAAK;gBACF,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAQlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA2C9D"}
1
+ {"version":3,"file":"lesson-assets.d.ts","sourceRoot":"","sources":["../src/lesson-assets.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,cAAc,EACd,UAAU,EACV,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAGlC,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,yJAW7B,CAAC;AACX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtD,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAClD,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAYjD,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,uBAAuB,CAC7B,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,gBAAgB,CAUlB;AAgCD,qBAQa,WAAY,SAAQ,UAAU;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnB,QAAQ,SAAM;IAExD,OAAO,SAAM;IACc,YAAY,EAAE,uBAAuB,CACjD;IACf,SAAS,SAAK;IACd,yDAAyD;IACzD,QAAQ,EAAE,gBAAgB,GAAG,EAAE,CAAM;gBACzB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAQlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA2B9D;AAED;;;GAGG;AACH,qBAQa,WAAY,SAAQ,UAAU;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnB,QAAQ,SAAM;IAExD,OAAO,SAAM;IACc,YAAY,EAAE,uBAAuB,CACjD;IACf,QAAQ,EAAE,gBAAgB,GAAG,EAAE,CAAM;IACrC,KAAK,SAAM;IACX,SAAS,SAAK;gBACF,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAMlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAY9D;AACD,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACpE,MAAM,CAAC,QAAQ,CAAC,UAAU,qBAAe;CAC1C;AAED,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,sBAAuB,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAa9E;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsBlE;AAED,6DAA6D;AAC7D,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;;;GAIG;AACH,qBAQa,mBAAoB,SAAQ,UAAU;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnB,QAAQ,SAAM;IACxD,QAAQ,EAAE,qBAAqB,CAAa;IAC5C,OAAO,SAAM;IACb,KAAK,SAAM;IACX,SAAS,SAAK;IACd,QAAQ,EAAE,gBAAgB,GAAG,EAAE,CAAM;gBACzB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAMlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB9D;AACD,qBAAa,6BAA8B,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IACpF,MAAM,CAAC,QAAQ,CAAC,UAAU,6BAAuB;CAClD"}
@@ -0,0 +1,36 @@
1
+ import { SmrtCollection, SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
2
+ /** Bounded printable key: 1-200 characters, no control characters. */
3
+ export declare function validLessonPageKey(value: unknown): value is string;
4
+ /**
5
+ * One printed page of a lesson: a stable key within the lesson (`p12`,
6
+ * `p12-back`), a display label, its order, and optionally the source file and
7
+ * one-based page it came from. Course structure, not learner history: it is
8
+ * family-owned (or global with its lesson) and never names a learner.
9
+ */
10
+ export declare class LessonPage extends SmrtObject {
11
+ tenantId: string | null;
12
+ courseId: string;
13
+ lessonId: string;
14
+ pageKey: string;
15
+ label: string;
16
+ sortOrder: number;
17
+ sourceAssetId: string | null;
18
+ sourcePageNumber: number | null;
19
+ constructor(options?: Record<string, unknown>);
20
+ delete(): Promise<void>;
21
+ save(options?: SmrtSaveOptions): Promise<this>;
22
+ }
23
+ export declare class LessonPageCollection extends SmrtCollection<LessonPage> {
24
+ static readonly _itemClass: typeof LessonPage;
25
+ }
26
+ export interface LessonPageView {
27
+ id: string;
28
+ lessonId: string;
29
+ pageKey: string;
30
+ label: string;
31
+ sortOrder: number;
32
+ sourcePageNumber: number | null;
33
+ hasSource: boolean;
34
+ }
35
+ export declare function lessonPageView(row: LessonPage): LessonPageView;
36
+ //# sourceMappingURL=lesson-pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-pages.d.ts","sourceRoot":"","sources":["../src/lesson-pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,UAAU,EACV,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAKlC,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUlE;AAED;;;;;GAKG;AACH,qBAMa,UAAW,SAAQ,UAAU;IACV,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnB,QAAQ,SAAM;IACd,QAAQ,SAAM;IACxD,OAAO,SAAM;IACb,KAAK,SAAM;IACX,SAAS,SAAK;IAEd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACQ,gBAAgB,EAAE,MAAM,GAAG,IAAI,CACpE;gBACK,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAMlC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAGvB,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAiD9D;AACD,qBAAa,oBAAqB,SAAQ,cAAc,CAAC,UAAU,CAAC;IAClE,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAc;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAU9D"}
@@ -1,8 +1,8 @@
1
1
  import { SmrtCollection, SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
2
2
  import type { DatabaseInterface } from '@happyvertical/sql';
3
- import { type WorkbookAttempt } from './workbook-models.js';
3
+ import { type WorkAttempt } from './lesson-work-models.js';
4
4
  /** Immutable parent judgment; assessment and feedback release remain independent. */
5
- export declare class WorkbookCompletionDecision extends SmrtObject {
5
+ export declare class WorkCompletionDecision extends SmrtObject {
6
6
  tenantId: string;
7
7
  learnerId: string;
8
8
  activityId: string;
@@ -16,23 +16,23 @@ export declare class WorkbookCompletionDecision extends SmrtObject {
16
16
  delete(): Promise<void>;
17
17
  save(options?: SmrtSaveOptions): Promise<this>;
18
18
  }
19
- export declare class WorkbookCompletionDecisionCollection extends SmrtCollection<WorkbookCompletionDecision> {
20
- static readonly _itemClass: typeof WorkbookCompletionDecision;
19
+ export declare class WorkCompletionDecisionCollection extends SmrtCollection<WorkCompletionDecision> {
20
+ static readonly _itemClass: typeof WorkCompletionDecision;
21
21
  }
22
22
  /** Internal owning read. Callers must authorize the exact scope on this executor. */
23
- export declare function readWorkbookCompletion(db: DatabaseInterface, scope: {
23
+ export declare function readWorkCompletion(db: DatabaseInterface, scope: {
24
24
  tenantId: string;
25
25
  learnerId: string;
26
26
  activityId: string;
27
27
  }): Promise<{
28
- currentAttempt: WorkbookAttempt | null;
28
+ currentAttempt: WorkAttempt | null;
29
29
  feedbackHeadId: string | null;
30
- decision: WorkbookCompletionDecision | null;
31
- decisions: WorkbookCompletionDecision[];
30
+ decision: WorkCompletionDecision | null;
31
+ decisions: WorkCompletionDecision[];
32
32
  completion: {
33
33
  status: 'doing' | 'complete';
34
34
  completedAt: Date | null;
35
35
  };
36
- attempts: WorkbookAttempt[];
36
+ attempts: WorkAttempt[];
37
37
  }>;
38
- //# sourceMappingURL=workbook-completion.d.ts.map
38
+ //# sourceMappingURL=lesson-work-completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-work-completion.d.ts","sourceRoot":"","sources":["../src/lesson-work-completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,UAAU,EACV,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,qFAAqF;AACrF,qBAea,sBAAuB,SAAQ,UAAU;IACxC,QAAQ,SAAM;IACiB,SAAS,SAAM;IACR,UAAU,SAAM;IACnB,SAAS,SAAM;IAChB,YAAY,SAAM;IACN,cAAc,EACpE,MAAM,GACN,IAAI,CAAQ;IAEhB,WAAW,SAAM;IACjB,UAAU,SAAM;IAChB,UAAU,OAAc;gBAEZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAOlC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAkE9D;AAED,qBAAa,gCAAiC,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAC1F,MAAM,CAAC,QAAQ,CAAC,UAAU,gCAA0B;CACrD;AAED,qFAAqF;AACrF,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,iBAAiB,EACrB,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjE,OAAO,CAAC;IACT,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,UAAU,EAAE;QAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC,CAkGD"}
@@ -1,10 +1,11 @@
1
+ import type { LessonPageView } from './lesson-pages.js';
1
2
  /** Explicit help observations; absence never attests independence. */
2
- export type WorkbookAssistance = 'independent' | 'assisted' | 'unknown';
3
- export interface WorkbookConcept {
3
+ export type WorkAssistance = 'independent' | 'assisted' | 'unknown';
4
+ export interface WorkConcept {
4
5
  id: string;
5
6
  label: string;
6
7
  }
7
- export interface WorkbookAnchor {
8
+ export interface WorkAnchor {
8
9
  assetId: string;
9
10
  sha256: string;
10
11
  page: number | null;
@@ -14,7 +15,7 @@ export interface WorkbookAnchor {
14
15
  /** Normalized x, y, width, height on the retained page. */
15
16
  rect: [number, number, number, number];
16
17
  }
17
- export interface WorkbookQuestion {
18
+ export interface WorkQuestion {
18
19
  /** Stable within this activity, including occurrence/subpart (e.g. page7:q1:a). */
19
20
  id: string;
20
21
  prompt: string;
@@ -24,7 +25,7 @@ export interface WorkbookQuestion {
24
25
  feedback: string;
25
26
  points: number | null;
26
27
  possiblePoints: number | null;
27
- anchors: WorkbookAnchor[];
28
+ anchors: WorkAnchor[];
28
29
  conceptIds: string[];
29
30
  markingCertainty?: 'clear' | 'uncertain' | 'unknown';
30
31
  mappingCertainty?: 'clear' | 'uncertain' | 'unknown';
@@ -37,7 +38,7 @@ export interface WorkbookQuestion {
37
38
  questionRevisionId?: string;
38
39
  lessonRevisionId?: string;
39
40
  }
40
- export interface WorkbookPreservationState {
41
+ export interface WorkPreservationState {
41
42
  activityId: string;
42
43
  submissionId: string;
43
44
  intakeItemId: string | null;
@@ -47,7 +48,7 @@ export interface WorkbookPreservationState {
47
48
  analysisRevision: number | null;
48
49
  }[];
49
50
  }
50
- export interface WorkbookAggregate {
51
+ export interface WorkAggregate {
51
52
  correct: number;
52
53
  incorrect: number;
53
54
  partiallyCorrect: number;
@@ -56,15 +57,15 @@ export interface WorkbookAggregate {
56
57
  possiblePoints: number | null;
57
58
  score: number | null;
58
59
  }
59
- export declare class WorkbookAssessmentValidationError extends Error {
60
+ export declare class WorkAssessmentValidationError extends Error {
60
61
  readonly reason: 'invalid_assessment' | 'ungrounded_source' | 'ambiguous_proposal';
61
62
  constructor(message: string, reason?: 'invalid_assessment' | 'ungrounded_source' | 'ambiguous_proposal');
62
63
  }
63
64
  /** Exact arithmetic over validated questions, never a provider's rounded score. */
64
- export declare function aggregateWorkbookQuestions(questions: readonly WorkbookQuestion[]): WorkbookAggregate;
65
- export declare function workbookAggregateFeedback(aggregate: WorkbookAggregate): string;
65
+ export declare function aggregateWorkQuestions(questions: readonly WorkQuestion[]): WorkAggregate;
66
+ export declare function workAggregateFeedback(aggregate: WorkAggregate): string;
66
67
  /** Advisory observed structure; never verified source geometry or identity. */
67
- export interface WorkbookObservedLayout {
68
+ export interface WorkObservedLayout {
68
69
  version: 1;
69
70
  provenance: 'observed';
70
71
  sections: {
@@ -87,7 +88,7 @@ export interface WorkbookObservedLayout {
87
88
  }[];
88
89
  }
89
90
  /** Approximate image observations, not verified OCR boxes or answer identity. */
90
- export interface WorkbookAnswerRegions {
91
+ export interface WorkAnswerRegions {
91
92
  version: 1;
92
93
  provenance: 'observed';
93
94
  coordinateSpace: 'display-oriented';
@@ -101,15 +102,15 @@ export interface WorkbookAnswerRegions {
101
102
  observationId: string;
102
103
  }[];
103
104
  }
104
- export interface WorkbookAssessment {
105
+ export interface WorkAssessment {
105
106
  version: 1;
106
- aggregate?: WorkbookAggregate;
107
+ aggregate?: WorkAggregate;
107
108
  feedback: string;
108
- layout?: WorkbookObservedLayout;
109
+ layout?: WorkObservedLayout;
109
110
  layoutOmission?: 'invalid';
110
- answerRegions?: WorkbookAnswerRegions;
111
+ answerRegions?: WorkAnswerRegions;
111
112
  answerRegionsOmission?: 'invalid';
112
- questions: WorkbookQuestion[];
113
+ questions: WorkQuestion[];
113
114
  provenance: {
114
115
  provider: string;
115
116
  model: string;
@@ -135,22 +136,22 @@ export interface WorkbookAssessment {
135
136
  vocabulary: {
136
137
  namespace: string;
137
138
  version: string;
138
- concepts: WorkbookConcept[];
139
+ concepts: WorkConcept[];
139
140
  };
140
141
  }
141
142
  /** Explicit parent completion is independent of score and feedback visibility. */
142
- export interface WorkbookCompletionState {
143
+ export interface WorkCompletionState {
143
144
  status: 'doing' | 'complete';
144
145
  completedAt: Date | null;
145
146
  }
146
147
  /** Guardian-only compare-and-set selector for the currently displayed work. */
147
- export interface WorkbookCompletionContext {
148
+ export interface WorkCompletionContext {
148
149
  attemptId: string;
149
150
  submissionId: string;
150
151
  expectedHeadId: string | null;
151
152
  }
152
153
  /** Immutable parent decision; a replay may describe an older, no-longer-current attempt. */
153
- export interface WorkbookCompletionDecisionView {
154
+ export interface WorkCompletionDecisionView {
154
155
  id: string;
155
156
  activityId: string;
156
157
  attemptId: string;
@@ -159,33 +160,62 @@ export interface WorkbookCompletionDecisionView {
159
160
  actorUserId: string;
160
161
  completedAt: Date;
161
162
  }
162
- export declare class WorkbookCompletionConflictError extends Error {
163
+ export declare class WorkCompletionConflictError extends Error {
163
164
  readonly code: 'stale_attempt' | 'stale_head' | 'changed_retry' | 'already_complete';
164
165
  constructor(code: 'stale_attempt' | 'stale_head' | 'changed_retry' | 'already_complete');
165
166
  }
166
- export interface WorkbookActivityView {
167
+ /**
168
+ * Filing cannot place work there: `not-enrolled` (a non-book course the
169
+ * learner is not enrolled in), `lesson-required` (an authored or shared course:
170
+ * append the lesson first), `lesson-outside-course`, or `shared-lesson-page`
171
+ * (a new page key on a lesson the family does not own).
172
+ */
173
+ export declare class LessonWorkPlacementError extends Error {
174
+ readonly code: 'not-enrolled' | 'lesson-required' | 'lesson-outside-course' | 'shared-lesson-page';
175
+ constructor(code: 'not-enrolled' | 'lesson-required' | 'lesson-outside-course' | 'shared-lesson-page');
176
+ }
177
+ /** Where a piece of lesson work belongs: a course, the learner's enrollment, lesson and page. */
178
+ export interface LessonWorkPlacement {
179
+ courseId: string;
180
+ enrollmentId: string;
181
+ lessonId: string;
182
+ lessonPageId: string | null;
183
+ }
184
+ export interface LessonActivityView {
167
185
  currentAttemptId: string | null;
168
186
  latestSubmissionId: string | null;
169
- completion: WorkbookCompletionState;
170
- filing?: {
187
+ completion: WorkCompletionState;
188
+ /**
189
+ * `identified`: captured on a known lesson. `unfiled`: a loose page with only
190
+ * technical routing. `filed`: unfiled work placed by a guardian filing.
191
+ */
192
+ filing: {
171
193
  state: 'unfiled' | 'filed' | 'identified';
172
- workbookId: string | null;
173
- canonicalActivityId: string | null;
194
+ placement: LessonWorkPlacement | null;
174
195
  revisionId: string | null;
175
196
  };
176
197
  id: string;
177
198
  learnerId: string;
178
- workbookKey: string;
179
- title: string;
180
- edition: string;
181
- pageKey: string;
182
- pageLabel: string;
199
+ /** Capture routing: corrections and submission reads use these; they never move. */
183
200
  enrollmentId: string;
184
201
  lessonId: string;
202
+ /** The effective course (filing placement or routing); '' while unfiled. */
203
+ courseId: string;
204
+ courseTitle: string;
205
+ /** Book identity of the effective course; '' when it is not a book. */
206
+ bookKey: string;
207
+ bookEdition: string;
208
+ lessonTitle: string;
209
+ /** Effective page key/label; unfiled work reads `receipt:<id>` / `Captured work`. */
210
+ pageKey: string;
211
+ pageLabel: string;
212
+ /** Pages of the effective lesson, in order. */
213
+ pages: LessonPageView[];
214
+ /** The effective course's work policy (default on while unfiled). */
185
215
  reviewRequired: boolean;
186
216
  policyVersion: number;
187
217
  }
188
- export interface WorkbookRevisionView {
218
+ export interface WorkRevisionView {
189
219
  id: string;
190
220
  kind: 'ai' | 'guardian';
191
221
  supersedesId: string | null;
@@ -193,15 +223,31 @@ export interface WorkbookRevisionView {
193
223
  actorUserId: string;
194
224
  sourceRevisionId: string | null;
195
225
  decisionReason: string;
196
- assessment: WorkbookAssessment;
226
+ assessment: WorkAssessment;
197
227
  }
198
- export interface WorkbookReleaseView {
228
+ export interface WorkReleaseView {
199
229
  id: string;
200
230
  revisionId: string;
201
231
  createdAt: Date;
202
232
  actorUserId: string;
203
233
  }
204
- export interface WorkbookAttemptView {
234
+ /** One stored version of a lesson page within a correction chain. */
235
+ export interface WorkPageVersion {
236
+ attemptId: string;
237
+ submissionId: string;
238
+ assetId: string;
239
+ }
240
+ /**
241
+ * A page as of this attempt: its newest version in the correction chain
242
+ * (`current`) and every version oldest first. A correction that re-sends
243
+ * only page 2 leaves the other pages at their earlier version.
244
+ */
245
+ export interface WorkAttemptPage {
246
+ pageKey: string;
247
+ current: WorkPageVersion;
248
+ versions: WorkPageVersion[];
249
+ }
250
+ export interface WorkAttemptView {
205
251
  id: string;
206
252
  submissionId: string;
207
253
  activityId: string;
@@ -209,25 +255,27 @@ export interface WorkbookAttemptView {
209
255
  episodeId: string;
210
256
  reviewRequired: boolean;
211
257
  policyVersion: number;
212
- assistance: WorkbookAssistance;
258
+ assistance: WorkAssistance;
213
259
  submission: import('./submission-service.js').SubmissionView;
260
+ /** Pages folded over the correction chain up to this attempt (#4613). */
261
+ pages: WorkAttemptPage[];
214
262
  }
215
- export interface WorkbookTimeline {
263
+ export interface WorkTimeline {
216
264
  currentAttemptId: string | null;
217
265
  latestSubmissionId: string | null;
218
- completion: WorkbookCompletionState;
219
- completionContext: WorkbookCompletionContext | null;
220
- activity: WorkbookActivityView;
221
- attempts: (WorkbookAttemptView & {
222
- revisions: WorkbookRevisionView[];
223
- releases: WorkbookReleaseView[];
224
- deliveries: WorkbookReleaseView[];
266
+ completion: WorkCompletionState;
267
+ completionContext: WorkCompletionContext | null;
268
+ activity: LessonActivityView;
269
+ attempts: (WorkAttemptView & {
270
+ revisions: WorkRevisionView[];
271
+ releases: WorkReleaseView[];
272
+ deliveries: WorkReleaseView[];
225
273
  headId: string | null;
226
- completionDecision: WorkbookCompletionDecisionView | null;
274
+ completionDecision: WorkCompletionDecisionView | null;
227
275
  })[];
228
276
  nextCursor: string | null;
229
277
  }
230
- export interface WorkbookConceptSummary {
278
+ export interface WorkConceptSummary {
231
279
  namespace: string;
232
280
  version: string;
233
281
  conceptId: string;
@@ -249,15 +297,15 @@ export interface WorkbookConceptSummary {
249
297
  revisionId: string;
250
298
  questionId: string;
251
299
  episodeId: string;
252
- result: WorkbookQuestion['result'];
253
- assistance: WorkbookAssistance;
300
+ result: WorkQuestion['result'];
301
+ assistance: WorkAssistance;
254
302
  isCorrection: boolean;
255
303
  capturedAt: Date;
256
304
  confirmed: boolean;
257
305
  }[];
258
306
  }
259
307
  /** Validate at every external/persistence boundary; unknown enum values fail closed. */
260
- export declare function validateWorkbookAssessment(value: WorkbookAssessment): void;
308
+ export declare function validateWorkAssessment(value: WorkAssessment): void;
261
309
  /** A deliberately small curated vocabulary; hosts may supply a different one. */
262
- export declare const WORKBOOK_MATH_VOCABULARY: WorkbookAssessment['vocabulary'];
263
- //# sourceMappingURL=workbook-contracts.d.ts.map
310
+ export declare const WORK_MATH_VOCABULARY: WorkAssessment['vocabulary'];
311
+ //# sourceMappingURL=lesson-work-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-work-contracts.d.ts","sourceRoot":"","sources":["../src/lesson-work-contracts.ts"],"names":[],"mappings":"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"}