@happyvertical/smrt-education 0.57.44 → 0.57.46

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.
package/dist/ingestion.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as validateWorkbookAssessment, I as WORKBOOK_MATH_VOCABULARY, L as WorkbookAssessmentValidationError, Q as FamilyIntakeCollection, V as workbookAggregateFeedback, Z as FamilyIntakeAssetCollection, d as WorkbookPhotoIntakeCollection, et as FamilyIntakeDecisionCollection, f as validateWorkbookPhotoIdentification, m as normalizeWorkbookAnswerRegions, n as preservePhotoProposal, p as normalizeWorkbookObservedLayout, r as WorkbookService, s as WorkbookPhotoAssetCollection, t as WorkbookPhotoService, tt as familyIntakeScopeId, v as LearnerAuthorizationError, z as aggregateWorkbookQuestions } from "./chunks/workbook-photo-service-BxvZDqjM.js";
1
+ import { B as validateWorkbookAssessment, I as WORKBOOK_MATH_VOCABULARY, L as WorkbookAssessmentValidationError, Q as FamilyIntakeCollection, V as workbookAggregateFeedback, Z as FamilyIntakeAssetCollection, d as WorkbookPhotoIntakeCollection, et as FamilyIntakeDecisionCollection, f as validateWorkbookPhotoIdentification, m as normalizeWorkbookAnswerRegions, n as preservePhotoProposal, p as normalizeWorkbookObservedLayout, r as WorkbookService, s as WorkbookPhotoAssetCollection, t as WorkbookPhotoService, tt as familyIntakeScopeId, v as LearnerAuthorizationError, z as aggregateWorkbookQuestions } from "./chunks/workbook-photo-service-DKgoUHeb.js";
2
2
  import { getCurrentTenant, withTenant } from "@happyvertical/smrt-tenancy";
3
3
  import { withPrivateAssetAccess } from "@happyvertical/smrt-assets";
4
4
  import { registerPermissionDefinitions } from "@happyvertical/smrt-users";
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-education",
5
- "packageVersion": "0.57.44",
5
+ "packageVersion": "0.57.46",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-education:CatalogProviderCollection": {
8
8
  "name": "catalogprovidercollection",
@@ -25826,6 +25826,450 @@
25826
25826
  },
25827
25827
  "importPath": "@happyvertical/smrt-education"
25828
25828
  },
25829
+ "@happyvertical/smrt-education:GeneratedPrintable": {
25830
+ "name": "generatedprintable",
25831
+ "className": "GeneratedPrintable",
25832
+ "qualifiedName": "@happyvertical/smrt-education:GeneratedPrintable",
25833
+ "collection": "generatedprintables",
25834
+ "description": "Append-only record that a released lesson's worksheet render was attached to the print queue: one row per tenant, lesson, worksheet version and audience.",
25835
+ "filePath": "/home/runner/work/smrt/smrt/packages/education/src/question-models.ts",
25836
+ "packageName": "@happyvertical/smrt-education",
25837
+ "fields": {
25838
+ "tenantId": {
25839
+ "type": "text",
25840
+ "required": true,
25841
+ "_meta": {
25842
+ "sqlType": "UUID",
25843
+ "__tenancy": {
25844
+ "isTenantIdField": true,
25845
+ "autoFilter": true,
25846
+ "required": true,
25847
+ "autoPopulate": true,
25848
+ "nullable": false,
25849
+ "mode": "required",
25850
+ "field": "tenantId",
25851
+ "allowSuperAdminBypass": false
25852
+ }
25853
+ }
25854
+ },
25855
+ "lessonId": {
25856
+ "type": "foreignKey",
25857
+ "required": true,
25858
+ "related": "Lesson",
25859
+ "_meta": {
25860
+ "required": true
25861
+ }
25862
+ },
25863
+ "worksheetVersionId": {
25864
+ "type": "text",
25865
+ "required": false
25866
+ },
25867
+ "audience": {
25868
+ "type": "text",
25869
+ "required": false,
25870
+ "default": "learner",
25871
+ "enum": [
25872
+ "learner",
25873
+ "guardian"
25874
+ ]
25875
+ },
25876
+ "assetId": {
25877
+ "type": "crossPackageRef",
25878
+ "required": true,
25879
+ "related": "@happyvertical/smrt-assets:Asset"
25880
+ },
25881
+ "lessonRevisionId": {
25882
+ "type": "text",
25883
+ "required": false
25884
+ },
25885
+ "generatedByUserId": {
25886
+ "type": "text",
25887
+ "required": false
25888
+ },
25889
+ "delegatingGuardianUserId": {
25890
+ "type": "text",
25891
+ "required": false
25892
+ },
25893
+ "delegationId": {
25894
+ "type": "text",
25895
+ "required": false
25896
+ },
25897
+ "recordedAt": {
25898
+ "type": "text",
25899
+ "required": false
25900
+ }
25901
+ },
25902
+ "methods": {
25903
+ "delete": {
25904
+ "name": "delete",
25905
+ "async": true,
25906
+ "parameters": [],
25907
+ "returnType": "Promise<void>",
25908
+ "isStatic": false,
25909
+ "isPublic": true
25910
+ },
25911
+ "save": {
25912
+ "name": "save",
25913
+ "async": true,
25914
+ "parameters": [
25915
+ {
25916
+ "name": "options",
25917
+ "type": "SmrtSaveOptions",
25918
+ "optional": true
25919
+ }
25920
+ ],
25921
+ "returnType": "Promise<this>",
25922
+ "isStatic": false,
25923
+ "isPublic": true
25924
+ }
25925
+ },
25926
+ "decoratorConfig": {
25927
+ "tableName": "generated_printables",
25928
+ "conflictColumns": [
25929
+ "tenant_id",
25930
+ "lesson_id",
25931
+ "worksheet_version_id",
25932
+ "audience"
25933
+ ],
25934
+ "indexes": [
25935
+ {
25936
+ "name": "generated_printables_identity_unique",
25937
+ "columns": [
25938
+ "tenantId",
25939
+ "lessonId",
25940
+ "worksheetVersionId",
25941
+ "audience"
25942
+ ],
25943
+ "unique": true
25944
+ }
25945
+ ],
25946
+ "api": false,
25947
+ "mcp": false,
25948
+ "cli": false,
25949
+ "tenantScoped": {
25950
+ "mode": "required"
25951
+ }
25952
+ },
25953
+ "extends": "SmrtObject",
25954
+ "exportName": "GeneratedPrintable",
25955
+ "collectionExportName": "GeneratedPrintableCollection",
25956
+ "validationRules": [
25957
+ {
25958
+ "field": "lessonId",
25959
+ "rule": "required",
25960
+ "fieldType": "foreignKey"
25961
+ },
25962
+ {
25963
+ "field": "assetId",
25964
+ "rule": "required",
25965
+ "fieldType": "crossPackageRef"
25966
+ }
25967
+ ],
25968
+ "schema": {
25969
+ "tableName": "generated_printables",
25970
+ "ddl": "CREATE TABLE IF NOT EXISTS \"generated_printables\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"lesson_id\" UUID NOT NULL,\n \"worksheet_version_id\" TEXT,\n \"audience\" TEXT DEFAULT 'learner',\n \"asset_id\" UUID NOT NULL,\n \"lesson_revision_id\" TEXT,\n \"generated_by_user_id\" TEXT,\n \"delegating_guardian_user_id\" TEXT,\n \"delegation_id\" TEXT,\n \"recorded_at\" TEXT\n);",
25971
+ "columns": {
25972
+ "id": {
25973
+ "type": "UUID",
25974
+ "primaryKey": true,
25975
+ "referenceKind": "id",
25976
+ "notNull": true
25977
+ },
25978
+ "slug": {
25979
+ "type": "TEXT",
25980
+ "notNull": true
25981
+ },
25982
+ "context": {
25983
+ "type": "TEXT",
25984
+ "notNull": true,
25985
+ "default": ""
25986
+ },
25987
+ "created_at": {
25988
+ "type": "TIMESTAMP",
25989
+ "notNull": true,
25990
+ "default": "current_timestamp"
25991
+ },
25992
+ "updated_at": {
25993
+ "type": "TIMESTAMP",
25994
+ "notNull": true,
25995
+ "default": "current_timestamp"
25996
+ },
25997
+ "tenant_id": {
25998
+ "type": "UUID",
25999
+ "referenceKind": "tenantId",
26000
+ "notNull": true,
26001
+ "unique": false
26002
+ },
26003
+ "lesson_id": {
26004
+ "type": "UUID",
26005
+ "referenceKind": "foreignKey",
26006
+ "notNull": true,
26007
+ "unique": false,
26008
+ "foreignKey": {
26009
+ "table": "lessons",
26010
+ "column": "id",
26011
+ "onDelete": "CASCADE",
26012
+ "onUpdate": "CASCADE"
26013
+ }
26014
+ },
26015
+ "worksheet_version_id": {
26016
+ "type": "TEXT",
26017
+ "notNull": false,
26018
+ "unique": false
26019
+ },
26020
+ "audience": {
26021
+ "type": "TEXT",
26022
+ "notNull": false,
26023
+ "unique": false,
26024
+ "default": "learner"
26025
+ },
26026
+ "asset_id": {
26027
+ "type": "UUID",
26028
+ "referenceKind": "crossPackageRef",
26029
+ "notNull": true,
26030
+ "unique": false
26031
+ },
26032
+ "lesson_revision_id": {
26033
+ "type": "TEXT",
26034
+ "notNull": false,
26035
+ "unique": false
26036
+ },
26037
+ "generated_by_user_id": {
26038
+ "type": "TEXT",
26039
+ "notNull": false,
26040
+ "unique": false
26041
+ },
26042
+ "delegating_guardian_user_id": {
26043
+ "type": "TEXT",
26044
+ "notNull": false,
26045
+ "unique": false
26046
+ },
26047
+ "delegation_id": {
26048
+ "type": "TEXT",
26049
+ "notNull": false,
26050
+ "unique": false
26051
+ },
26052
+ "recorded_at": {
26053
+ "type": "TEXT",
26054
+ "notNull": false,
26055
+ "unique": false
26056
+ }
26057
+ },
26058
+ "indexes": [
26059
+ {
26060
+ "name": "generated_printables_tenant_id_lesson_id_idx",
26061
+ "columns": [
26062
+ "tenant_id",
26063
+ "lesson_id",
26064
+ "worksheet_version_id",
26065
+ "audience"
26066
+ ],
26067
+ "unique": true,
26068
+ "nullsNotDistinct": true
26069
+ },
26070
+ {
26071
+ "name": "generated_printables_slug_context_idx",
26072
+ "columns": [
26073
+ "slug",
26074
+ "context"
26075
+ ]
26076
+ },
26077
+ {
26078
+ "name": "generated_printables_identity_unique",
26079
+ "columns": [
26080
+ "tenant_id",
26081
+ "lesson_id",
26082
+ "worksheet_version_id",
26083
+ "audience"
26084
+ ],
26085
+ "unique": true
26086
+ },
26087
+ {
26088
+ "name": "generated_printables_tenant_id_created_at_idx",
26089
+ "columns": [
26090
+ "tenant_id",
26091
+ "created_at"
26092
+ ]
26093
+ },
26094
+ {
26095
+ "name": "generated_printables_lesson_id_idx",
26096
+ "columns": [
26097
+ "lesson_id"
26098
+ ]
26099
+ },
26100
+ {
26101
+ "name": "generated_printables_asset_id_idx",
26102
+ "columns": [
26103
+ "asset_id"
26104
+ ]
26105
+ }
26106
+ ],
26107
+ "version": "e4ccc925"
26108
+ },
26109
+ "importPath": "@happyvertical/smrt-education"
26110
+ },
26111
+ "@happyvertical/smrt-education:GeneratedPrintableCollection": {
26112
+ "name": "generatedprintablecollection",
26113
+ "className": "GeneratedPrintableCollection",
26114
+ "qualifiedName": "@happyvertical/smrt-education:GeneratedPrintableCollection",
26115
+ "collection": "generatedprintables",
26116
+ "filePath": "/home/runner/work/smrt/smrt/packages/education/src/question-models.ts",
26117
+ "packageName": "@happyvertical/smrt-education",
26118
+ "fields": {},
26119
+ "methods": {},
26120
+ "decoratorConfig": {
26121
+ "tableName": "generated_printables",
26122
+ "api": false,
26123
+ "mcp": false,
26124
+ "cli": false
26125
+ },
26126
+ "extends": "SmrtCollection",
26127
+ "extendsTypeArg": "GeneratedPrintable",
26128
+ "exportName": "GeneratedPrintableCollection",
26129
+ "collectionExportName": "GeneratedPrintableCollectionCollection",
26130
+ "schema": {
26131
+ "tableName": "generated_printables",
26132
+ "ddl": "CREATE TABLE IF NOT EXISTS \"generated_printables\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"lesson_id\" UUID NOT NULL,\n \"worksheet_version_id\" TEXT,\n \"audience\" TEXT DEFAULT 'learner',\n \"asset_id\" UUID NOT NULL,\n \"lesson_revision_id\" TEXT,\n \"generated_by_user_id\" TEXT,\n \"delegating_guardian_user_id\" TEXT,\n \"delegation_id\" TEXT,\n \"recorded_at\" TEXT\n);",
26133
+ "columns": {
26134
+ "id": {
26135
+ "type": "UUID",
26136
+ "primaryKey": true,
26137
+ "referenceKind": "id",
26138
+ "notNull": true
26139
+ },
26140
+ "slug": {
26141
+ "type": "TEXT",
26142
+ "notNull": true
26143
+ },
26144
+ "context": {
26145
+ "type": "TEXT",
26146
+ "notNull": true,
26147
+ "default": ""
26148
+ },
26149
+ "created_at": {
26150
+ "type": "TIMESTAMP",
26151
+ "notNull": true,
26152
+ "default": "current_timestamp"
26153
+ },
26154
+ "updated_at": {
26155
+ "type": "TIMESTAMP",
26156
+ "notNull": true,
26157
+ "default": "current_timestamp"
26158
+ },
26159
+ "tenant_id": {
26160
+ "type": "UUID",
26161
+ "referenceKind": "tenantId",
26162
+ "notNull": true,
26163
+ "unique": false
26164
+ },
26165
+ "lesson_id": {
26166
+ "type": "UUID",
26167
+ "referenceKind": "foreignKey",
26168
+ "notNull": true,
26169
+ "unique": false,
26170
+ "foreignKey": {
26171
+ "table": "lessons",
26172
+ "column": "id",
26173
+ "onDelete": "CASCADE",
26174
+ "onUpdate": "CASCADE"
26175
+ }
26176
+ },
26177
+ "worksheet_version_id": {
26178
+ "type": "TEXT",
26179
+ "notNull": false,
26180
+ "unique": false
26181
+ },
26182
+ "audience": {
26183
+ "type": "TEXT",
26184
+ "notNull": false,
26185
+ "unique": false,
26186
+ "default": "learner"
26187
+ },
26188
+ "asset_id": {
26189
+ "type": "UUID",
26190
+ "referenceKind": "crossPackageRef",
26191
+ "notNull": true,
26192
+ "unique": false
26193
+ },
26194
+ "lesson_revision_id": {
26195
+ "type": "TEXT",
26196
+ "notNull": false,
26197
+ "unique": false
26198
+ },
26199
+ "generated_by_user_id": {
26200
+ "type": "TEXT",
26201
+ "notNull": false,
26202
+ "unique": false
26203
+ },
26204
+ "delegating_guardian_user_id": {
26205
+ "type": "TEXT",
26206
+ "notNull": false,
26207
+ "unique": false
26208
+ },
26209
+ "delegation_id": {
26210
+ "type": "TEXT",
26211
+ "notNull": false,
26212
+ "unique": false
26213
+ },
26214
+ "recorded_at": {
26215
+ "type": "TEXT",
26216
+ "notNull": false,
26217
+ "unique": false
26218
+ }
26219
+ },
26220
+ "indexes": [
26221
+ {
26222
+ "name": "generated_printables_tenant_id_lesson_id_idx",
26223
+ "columns": [
26224
+ "tenant_id",
26225
+ "lesson_id",
26226
+ "worksheet_version_id",
26227
+ "audience"
26228
+ ],
26229
+ "unique": true,
26230
+ "nullsNotDistinct": true
26231
+ },
26232
+ {
26233
+ "name": "generated_printables_slug_context_idx",
26234
+ "columns": [
26235
+ "slug",
26236
+ "context"
26237
+ ]
26238
+ },
26239
+ {
26240
+ "name": "generated_printables_identity_unique",
26241
+ "columns": [
26242
+ "tenant_id",
26243
+ "lesson_id",
26244
+ "worksheet_version_id",
26245
+ "audience"
26246
+ ],
26247
+ "unique": true
26248
+ },
26249
+ {
26250
+ "name": "generated_printables_tenant_id_created_at_idx",
26251
+ "columns": [
26252
+ "tenant_id",
26253
+ "created_at"
26254
+ ]
26255
+ },
26256
+ {
26257
+ "name": "generated_printables_lesson_id_idx",
26258
+ "columns": [
26259
+ "lesson_id"
26260
+ ]
26261
+ },
26262
+ {
26263
+ "name": "generated_printables_asset_id_idx",
26264
+ "columns": [
26265
+ "asset_id"
26266
+ ]
26267
+ }
26268
+ ],
26269
+ "version": "e4ccc925"
26270
+ },
26271
+ "importPath": "@happyvertical/smrt-education"
26272
+ },
25829
26273
  "@happyvertical/smrt-education:Submission": {
25830
26274
  "name": "submission",
25831
26275
  "className": "Submission",
@@ -1,12 +1,22 @@
1
+ import { type AssetRuntimeOptions } from '@happyvertical/smrt-assets';
1
2
  import type { DatabaseInterface } from '@happyvertical/sql';
2
3
  import { type CourseAuthoringActor, type CourseAuthoringAuthorizer } from './course-authoring-contracts.js';
3
4
  import { CourseAuthoringService, type CourseAuthoringServiceOptions } from './course-authoring-service.js';
4
- import { type LearningObjectiveInput, type LearningObjectiveView, type QuestionContentInput, type QuestionHeadView, type QuestionRevisionView, type ReleasedLessonView, type ResolvedQuestionRevisions, type WorksheetBundle } from './question-contracts.js';
5
+ import { type AttachGeneratedPrintableRequest, type GeneratedPrintableResult, type LearningObjectiveInput, type LearningObjectiveView, type QuestionContentInput, type QuestionHeadView, type QuestionRevisionView, type ReleasedLessonView, type ResolvedQuestionRevisions, type WorksheetBundle } from './question-contracts.js';
5
6
  export interface QuestionAuthoringServiceOptions extends CourseAuthoringServiceOptions {
6
7
  /** Trusted concept ids; when supplied, question and objective concepts must belong. */
7
8
  conceptVocabulary?: ReadonlyArray<{
8
9
  id: string;
9
10
  }>;
11
+ /**
12
+ * Private asset storage for `attachGeneratedPrintable`, the same shape
13
+ * `SubmissionService` takes. Server configuration only. Without it the call
14
+ * fails closed with `PrintableStorageNotConfiguredError`.
15
+ */
16
+ printableAssets?: {
17
+ storage: AssetRuntimeOptions['storage'];
18
+ storeOptions?: AssetRuntimeOptions['storeOptions'];
19
+ };
10
20
  }
11
21
  /**
12
22
  * Actor-bound authoring of immutable questions and stable learning objectives.
@@ -16,6 +26,9 @@ export interface QuestionAuthoringServiceOptions extends CourseAuthoringServiceO
16
26
  */
17
27
  export declare class QuestionAuthoringService extends CourseAuthoringService {
18
28
  private readonly vocabulary;
29
+ /** The non-transactional database: compensation must read committed state. */
30
+ private readonly rootDatabase;
31
+ private readonly printableAssets;
19
32
  constructor(db: DatabaseInterface, authorizer: CourseAuthoringAuthorizer, options?: QuestionAuthoringServiceOptions);
20
33
  private normalize;
21
34
  private normalizeObjective;
@@ -110,6 +123,22 @@ export declare class QuestionAuthoringService extends CourseAuthoringService {
110
123
  }): Promise<WorksheetBundle>;
111
124
  /** The release lesson's immutable revision row and keyed worksheet inputs. */
112
125
  private releasedLessonInput;
126
+ /**
127
+ * Renders the released lesson's worksheet as a PDF and attaches it to the
128
+ * lesson as a private education-owned asset, so the durable print queue can
129
+ * serve it. `worksheetVersionId` must be the digest of the lesson revision's
130
+ * pinned questions and layout. The learner copy is built from the keyless
131
+ * bundle and linked as `printable`; the guardian copy carries keys and is
132
+ * linked as `answer-key`, which `SubmissionService.signLessonPrintable` never
133
+ * signs. Idempotent per (tenant, lesson, worksheet version, audience).
134
+ * Needs `education.course.author`, plus `read-draft` for the guardian audience.
135
+ * A learner of the tenant, or a delegation naming one, is refused before the
136
+ * host is asked.
137
+ */
138
+ attachGeneratedPrintable(request: AttachGeneratedPrintableRequest): Promise<GeneratedPrintableResult>;
139
+ /** Removes files planned by a rolled-back attach, unless their asset committed. */
140
+ private compensatePrintables;
141
+ private attachOnce;
113
142
  /**
114
143
  * Authoring/guardian read of one released lesson: the full lesson revision
115
144
  * (materials, provenance, ordered question refs, layout params) and the keyed
@@ -1 +1 @@
1
- {"version":3,"file":"question-authoring-service.d.ts","sourceRoot":"","sources":["../src/question-authoring-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question-authoring-service.d.ts","sourceRoot":"","sources":["../src/question-authoring-service.ts"],"names":[],"mappings":"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"}
@@ -237,4 +237,56 @@ export declare class QuestionReferenceError extends CourseAuthoringError {
237
237
  readonly references: readonly string[];
238
238
  constructor(references: readonly string[]);
239
239
  }
240
+ /** Audience of a generated printable: which artefact is produced, never authority. */
241
+ export type GeneratedPrintableAudience = 'learner' | 'guardian';
242
+ export declare const GENERATED_PRINTABLE_AUDIENCES: readonly GeneratedPrintableAudience[];
243
+ /** `LessonAsset` relationship per audience: the learner copy is the only signable one. */
244
+ export type GeneratedPrintableRelationship = 'printable' | 'answer-key';
245
+ export declare const GENERATED_PRINTABLE_RELATIONSHIPS: Readonly<Record<GeneratedPrintableAudience, GeneratedPrintableRelationship>>;
246
+ /** Most question items one generated printable may carry. */
247
+ export declare const MAX_PRINTABLE_ITEMS = 200;
248
+ /** Longest single text value (prompt, choice, key, ...) rendered, in characters. */
249
+ export declare const MAX_PRINTABLE_TEXT_LENGTH = 10000;
250
+ /** Most characters of all rendered text in one generated printable. */
251
+ export declare const MAX_PRINTABLE_TOTAL_TEXT = 400000;
252
+ /** Most pages one generated printable may span. */
253
+ export declare const MAX_PRINTABLE_PAGES = 150;
254
+ /** Attach the rendered worksheet of a released lesson to the durable print queue. */
255
+ export type AttachGeneratedPrintableRequest = CourseAuthoringActor & {
256
+ /** The materialised `lessons` row id of a released lesson. */
257
+ lessonId: string;
258
+ /** Must equal the worksheet version id of the lesson revision's questions and layout. */
259
+ worksheetVersionId: string;
260
+ audience: GeneratedPrintableAudience;
261
+ };
262
+ /** Closed result: never carries keys, answers or storage locators. */
263
+ export interface GeneratedPrintableResult {
264
+ lessonId: string;
265
+ worksheetVersionId: string;
266
+ audience: GeneratedPrintableAudience;
267
+ assetId: string;
268
+ relationship: GeneratedPrintableRelationship;
269
+ /** False when an earlier call already attached this printable. */
270
+ created: boolean;
271
+ }
272
+ /** The request's worksheet version is unknown or no longer the lesson's own. */
273
+ export declare class WorksheetVersionMismatchError extends CourseAuthoringError {
274
+ constructor();
275
+ }
276
+ /** No asset runtime/storage was configured for generated printables. */
277
+ export declare class PrintableStorageNotConfiguredError extends CourseAuthoringError {
278
+ constructor();
279
+ }
280
+ /** The acting guardian (or delegating guardian) has no profile to own the asset. */
281
+ export declare class PrintableOwnerError extends CourseAuthoringError {
282
+ constructor();
283
+ }
284
+ /**
285
+ * A rolled-back attach could not remove its fresh private PDF(s). Carries the
286
+ * fresh asset ids only, for operator reconciliation; the original cause is kept.
287
+ */
288
+ export declare class PrintableStorageCleanupError extends CourseAuthoringError {
289
+ readonly assetIds: readonly string[];
290
+ constructor(assetIds: readonly string[], cause: unknown);
291
+ }
240
292
  //# sourceMappingURL=question-contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"question-contracts.d.ts","sourceRoot":"","sources":["../src/question-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question-contracts.d.ts","sourceRoot":"","sources":["../src/question-contracts.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { SmrtCollection, SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
2
+ import { type GeneratedPrintableAudience } from './question-contracts.js';
2
3
  /** Stable learning-objective identity: survives wording changes, variants and themes. */
3
4
  export declare class LearningObjective extends SmrtObject {
4
5
  tenantId: string;
@@ -121,4 +122,30 @@ export declare class QuestionResponse extends SmrtObject {
121
122
  export declare class QuestionResponseCollection extends SmrtCollection<QuestionResponse> {
122
123
  static readonly _itemClass: typeof QuestionResponse;
123
124
  }
125
+ /**
126
+ * Append-only record that a released lesson's worksheet render was attached to
127
+ * the print queue: one row per tenant, lesson, worksheet version and audience.
128
+ * The unique index is what makes concurrent first attaches converge. It holds
129
+ * ids only (never keys or locators); the PDF is a private education-owned asset.
130
+ */
131
+ export declare class GeneratedPrintable extends SmrtObject {
132
+ tenantId: string;
133
+ lessonId: string;
134
+ worksheetVersionId: string;
135
+ /** `learner` (relationship `printable`) or `guardian` (relationship `answer-key`). */
136
+ audience: GeneratedPrintableAudience;
137
+ assetId: string;
138
+ /** Provenance only: checked in `save()`, not a database constraint, so the table depends on lessons and assets alone. */
139
+ lessonRevisionId: string;
140
+ generatedByUserId: string;
141
+ delegatingGuardianUserId: string;
142
+ delegationId: string;
143
+ recordedAt: Date;
144
+ constructor(options?: Record<string, unknown>);
145
+ delete(): Promise<void>;
146
+ save(options?: SmrtSaveOptions): Promise<this>;
147
+ }
148
+ export declare class GeneratedPrintableCollection extends SmrtCollection<GeneratedPrintable> {
149
+ static readonly _itemClass: typeof GeneratedPrintable;
150
+ }
124
151
  //# sourceMappingURL=question-models.d.ts.map