@happyvertical/smrt-education 0.57.9 → 0.57.10
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/agents/catalog-sync.md +35 -0
- package/agents/ingestion.md +93 -0
- package/agents/learner-service.md +9 -0
- package/agents/source-import.md +9 -0
- package/agents/submission-service.md +18 -0
- package/dist/catalog-acquisition-service.d.ts +58 -0
- package/dist/catalog-acquisition-service.d.ts.map +1 -0
- package/dist/catalog-collections.d.ts +18 -0
- package/dist/catalog-collections.d.ts.map +1 -0
- package/dist/catalog-contracts.d.ts +88 -0
- package/dist/catalog-contracts.d.ts.map +1 -0
- package/dist/catalog-database-sync-store.d.ts +13 -0
- package/dist/catalog-database-sync-store.d.ts.map +1 -0
- package/dist/catalog-materialization-service.d.ts +78 -0
- package/dist/catalog-materialization-service.d.ts.map +1 -0
- package/dist/catalog-models.d.ts +63 -0
- package/dist/catalog-models.d.ts.map +1 -0
- package/dist/catalog-policy.d.ts +12 -0
- package/dist/catalog-policy.d.ts.map +1 -0
- package/dist/catalog-read-service.d.ts +44 -0
- package/dist/catalog-read-service.d.ts.map +1 -0
- package/dist/catalog-sync-service.d.ts +19 -0
- package/dist/catalog-sync-service.d.ts.map +1 -0
- package/dist/collections.d.ts +4 -1
- package/dist/collections.d.ts.map +1 -1
- package/dist/hearth-catalog-providers.d.ts +74 -0
- package/dist/hearth-catalog-providers.d.ts.map +1 -0
- package/dist/hearth-easy-peasy-grade4.d.ts +40 -0
- package/dist/hearth-easy-peasy-grade4.d.ts.map +1 -0
- package/dist/index.d.ts +28 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2279 -175
- package/dist/index.js.map +1 -1
- package/dist/ingestion-isolation.d.ts +8 -0
- package/dist/ingestion-isolation.d.ts.map +1 -0
- package/dist/ingestion.d.ts +103 -0
- package/dist/ingestion.d.ts.map +1 -0
- package/dist/ingestion.js +364 -0
- package/dist/ingestion.js.map +1 -0
- package/dist/learner-service.d.ts +74 -1
- package/dist/learner-service.d.ts.map +1 -1
- package/dist/manifest.json +2686 -481
- package/dist/smrt-knowledge.json +713 -14
- package/dist/source-import-service.d.ts +11 -1
- package/dist/source-import-service.d.ts.map +1 -1
- package/dist/sources/easy-peasy-parser.d.ts.map +1 -1
- package/dist/sources/google-drive-adapter.d.ts +125 -0
- package/dist/sources/google-drive-adapter.d.ts.map +1 -0
- package/dist/sources/illustrative-mathematics-parser.d.ts +8 -0
- package/dist/sources/illustrative-mathematics-parser.d.ts.map +1 -0
- package/dist/sources/oer-commons-rss-parser.d.ts +8 -0
- package/dist/sources/oer-commons-rss-parser.d.ts.map +1 -0
- package/dist/submission-service.d.ts +48 -1
- package/dist/submission-service.d.ts.map +1 -1
- package/dist/submissions.d.ts +18 -0
- package/dist/submissions.d.ts.map +1 -1
- package/package.json +16 -10
|
@@ -6,11 +6,13 @@ export interface SourceImportRequest {
|
|
|
6
6
|
sourceId: string;
|
|
7
7
|
/** Host-stable identity, independent of the page's current URL. */
|
|
8
8
|
courseRef: string;
|
|
9
|
+
/** Optional trusted catalog classification retained on the tenant course. */
|
|
10
|
+
subject?: string;
|
|
9
11
|
pageUrl: string;
|
|
10
12
|
destination: 'private' | 'group';
|
|
11
13
|
}
|
|
12
14
|
export interface SourceImportAuthorization {
|
|
13
|
-
action: 'education.source.import';
|
|
15
|
+
action: 'education.source.import' | 'education.source.ensure';
|
|
14
16
|
actorTenantId: string;
|
|
15
17
|
actorUserId: string;
|
|
16
18
|
sourceId: string;
|
|
@@ -36,6 +38,13 @@ export interface SourceImportResult {
|
|
|
36
38
|
/** Source-hosted packet link, returned without fetching or persisting its content. */
|
|
37
39
|
packetUrl?: string;
|
|
38
40
|
}
|
|
41
|
+
export interface EnsureEasyPeasyCourseSourceRequest {
|
|
42
|
+
tenantId: string;
|
|
43
|
+
actorUserId: string;
|
|
44
|
+
}
|
|
45
|
+
export interface EnsureEasyPeasyCourseSourceResult {
|
|
46
|
+
sourceId: string;
|
|
47
|
+
}
|
|
39
48
|
/** Opt-in, pointer-only import. Host authorization defines family/group roles. */
|
|
40
49
|
export declare class SourceImportService {
|
|
41
50
|
private readonly db;
|
|
@@ -43,6 +52,7 @@ export declare class SourceImportService {
|
|
|
43
52
|
private easyPeasy?;
|
|
44
53
|
constructor(db: DatabaseInterface, authorize: SourceImportAuthorizer);
|
|
45
54
|
registerEasyPeasy(registration: EasyPeasyRegistration): void;
|
|
55
|
+
ensureEasyPeasyCourseSource(input: EnsureEasyPeasyCourseSourceRequest): Promise<EnsureEasyPeasyCourseSourceResult>;
|
|
46
56
|
private actor;
|
|
47
57
|
private source;
|
|
48
58
|
importCourse(input: SourceImportRequest): Promise<SourceImportResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-import-service.d.ts","sourceRoot":"","sources":["../src/source-import-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAW5D,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAM5B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;CAClC;AACD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"source-import-service.d.ts","sourceRoot":"","sources":["../src/source-import-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAW5D,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAM5B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;CAClC;AACD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,yBAAyB,GAAG,yBAAyB,CAAC;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,yBAAyB,KAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAChC,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,aAAa,EAAE,IAAI,CAAC;IACpB,gFAAgF;IAChF,SAAS,EAAE,CACT,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAC3B,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7C;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuDD,kFAAkF;AAClF,qBAAa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH5B,OAAO,CAAC,SAAS,CAAC,CAAkC;gBAEjC,EAAE,EAAE,iBAAiB,EACrB,SAAS,EAAE,sBAAsB;IAGpD,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI;IActD,2BAA2B,CAC/B,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,iCAAiC,CAAC;IA8E7C,OAAO,CAAC,KAAK;YAwBC,MAAM;IAwCd,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA+J5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"easy-peasy-parser.d.ts","sourceRoot":"","sources":["../../src/sources/easy-peasy-parser.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAY5E;
|
|
1
|
+
{"version":3,"file":"easy-peasy-parser.d.ts","sourceRoot":"","sources":["../../src/sources/easy-peasy-parser.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAY5E;AA+ZD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,kBAAkB,CA0DpB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { DriveAcquisition, DriveAcquisitionOptions, DriveFileMetadata, DriveMetadataPage, DriveMetadataPageOptions, GoogleDriveProvider } from '@happyvertical/files';
|
|
2
|
+
import type { CatalogAcquireAdapter, CatalogSourceRecord, CatalogSyncAdapter, CatalogSyncPage } from '../catalog-contracts.js';
|
|
3
|
+
export type { DriveAcquisition, DriveAcquisitionOptions, DriveFileMetadata, DriveMetadataPage, DriveMetadataPageOptions, };
|
|
4
|
+
/**
|
|
5
|
+
* Metadata-only Google Drive curriculum discovery.
|
|
6
|
+
*
|
|
7
|
+
* This module deliberately accepts the public @happyvertical/files Drive
|
|
8
|
+
* surface as a port. Hosts construct that SDK provider with their own
|
|
9
|
+
* application credentials and pass it here; neither discovery records nor
|
|
10
|
+
* checkpoints contain credentials or downloaded content.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DRIVE_CURRICULUM_SEED_ROOTS: readonly [{
|
|
13
|
+
readonly id: "1K_au1upSRuakX55PF3aZzQLHWI70KwZd";
|
|
14
|
+
readonly title: "Carnival of Collisions (Contact Forces)";
|
|
15
|
+
}, {
|
|
16
|
+
readonly id: "1N1xFJ2omm-M1TuAxDOXQxZndkw70-KxM";
|
|
17
|
+
readonly title: "Mission Maglev (Electric and Magnetic Forces)";
|
|
18
|
+
}, {
|
|
19
|
+
readonly id: "1v0LXs7iky2R4FsiqZkWOjWyJmRu-aVIa";
|
|
20
|
+
readonly title: "Rocks vs. Big Rigs, Unit-Wide View";
|
|
21
|
+
}, {
|
|
22
|
+
readonly id: "1sFDNXdw8q-xrhgy8HFAMELXUoqKgp9tu";
|
|
23
|
+
readonly title: "Operation Space Jump (Gravitational Forces)";
|
|
24
|
+
}];
|
|
25
|
+
/** The adapter only uses public SDK methods, never a raw Google API client. */
|
|
26
|
+
export type GoogleDriveFilesClient = Pick<GoogleDriveProvider, 'listMetadataPage' | 'getMetadataById' | 'acquireById'>;
|
|
27
|
+
export interface DriveCatalogRecord extends CatalogSourceRecord {
|
|
28
|
+
providerId: 'google-drive';
|
|
29
|
+
checksum?: string;
|
|
30
|
+
mimeType: string;
|
|
31
|
+
size?: number;
|
|
32
|
+
modifiedTime?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface DriveExclusion {
|
|
35
|
+
stableId: string;
|
|
36
|
+
reason: 'missing-revision' | 'shortcut-target-inaccessible' | 'shortcut-target-outside-boundary' | 'shortcut-target-unsupported';
|
|
37
|
+
}
|
|
38
|
+
interface FolderCursor {
|
|
39
|
+
folderId: string;
|
|
40
|
+
pageToken?: string;
|
|
41
|
+
visibility: 'catalog' | 'teacher';
|
|
42
|
+
}
|
|
43
|
+
/** Serializable traversal state; persist it after every returned page. */
|
|
44
|
+
export interface DriveDiscoveryCheckpoint {
|
|
45
|
+
version: 1;
|
|
46
|
+
roots: string[];
|
|
47
|
+
pendingFolders: FolderCursor[];
|
|
48
|
+
visitedFolders: string[];
|
|
49
|
+
}
|
|
50
|
+
export interface DriveDiscoveryPage {
|
|
51
|
+
records: DriveCatalogRecord[];
|
|
52
|
+
exclusions: DriveExclusion[];
|
|
53
|
+
checkpoint?: DriveDiscoveryCheckpoint;
|
|
54
|
+
complete: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface DriveDiscoveryOptions {
|
|
57
|
+
/** Defaults to the four owner-authorized curriculum roots. */
|
|
58
|
+
roots?: readonly {
|
|
59
|
+
id: string;
|
|
60
|
+
title?: string;
|
|
61
|
+
}[];
|
|
62
|
+
checkpoint?: DriveDiscoveryCheckpoint;
|
|
63
|
+
pageSize?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Exact Drive file IDs the trusted host has reviewed as learner-safe.
|
|
66
|
+
* Folder IDs never grant visibility to their contents.
|
|
67
|
+
*/
|
|
68
|
+
studentSafeFileIds?: readonly string[];
|
|
69
|
+
/**
|
|
70
|
+
* Shortcut targets are re-read by ID and must pass this host boundary check
|
|
71
|
+
* before a folder can enter traversal. The secure default is deny.
|
|
72
|
+
*/
|
|
73
|
+
authorizeShortcutTarget?: (target: DriveFileMetadata, context: {
|
|
74
|
+
sourceFolderId: string;
|
|
75
|
+
configuredRootIds: readonly string[];
|
|
76
|
+
}) => boolean | Promise<boolean>;
|
|
77
|
+
}
|
|
78
|
+
export interface DriveSelectionAuthorization {
|
|
79
|
+
stableId: string;
|
|
80
|
+
revision: string;
|
|
81
|
+
exportMimeType?: string;
|
|
82
|
+
/** True only after the host's resource-level license policy allows use. */
|
|
83
|
+
allowed: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface PinnedDriveContent {
|
|
86
|
+
stableId: string;
|
|
87
|
+
revision?: string;
|
|
88
|
+
checksum?: string;
|
|
89
|
+
sha256: string;
|
|
90
|
+
bytes: Buffer;
|
|
91
|
+
exportMimeType?: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* One call reads at most one Drive metadata page. Repeated calls with the
|
|
95
|
+
* returned checkpoint provide durable pagination without content acquisition.
|
|
96
|
+
*/
|
|
97
|
+
export declare class GoogleDriveCurriculumAdapter implements CatalogSyncAdapter, CatalogAcquireAdapter {
|
|
98
|
+
private readonly drive;
|
|
99
|
+
private readonly configuration;
|
|
100
|
+
static readonly providerId = "google-drive";
|
|
101
|
+
constructor(drive: GoogleDriveFilesClient, configuration?: Omit<DriveDiscoveryOptions, 'checkpoint'> & {
|
|
102
|
+
maxAcquisitionBytes?: number;
|
|
103
|
+
});
|
|
104
|
+
enumerate(input: {
|
|
105
|
+
cursor?: string;
|
|
106
|
+
}): Promise<CatalogSyncPage>;
|
|
107
|
+
discover(options?: DriveDiscoveryOptions): Promise<DriveDiscoveryPage>;
|
|
108
|
+
private resolveShortcut;
|
|
109
|
+
/**
|
|
110
|
+
* Content is available only after explicit selection and policy approval.
|
|
111
|
+
* A revision is mandatory so retries cannot silently acquire changed bytes.
|
|
112
|
+
*/
|
|
113
|
+
acquireSelected(authorization: DriveSelectionAuthorization, options: Omit<DriveAcquisitionOptions, 'expectedRevision'>): Promise<PinnedDriveContent>;
|
|
114
|
+
acquire(input: {
|
|
115
|
+
providerId: string;
|
|
116
|
+
stableId: string;
|
|
117
|
+
revision: string;
|
|
118
|
+
format: string;
|
|
119
|
+
}): Promise<{
|
|
120
|
+
bytes: Uint8Array;
|
|
121
|
+
sha256: string;
|
|
122
|
+
revision: string;
|
|
123
|
+
}>;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=google-drive-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-drive-adapter.d.ts","sourceRoot":"","sources":["../../src/sources/google-drive-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CatalogSourceRecord } from '../catalog-contracts.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses the publicly linked K-5 family curriculum index published by the IM
|
|
4
|
+
* Certified Kendall Hunt site. It is deliberately metadata-only: unit and
|
|
5
|
+
* lesson pages are not fetched or acquired here.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseIllustrativeMathematicsK5Index(html: string, revision: string, pageUrl?: string): CatalogSourceRecord[];
|
|
8
|
+
//# sourceMappingURL=illustrative-mathematics-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"illustrative-mathematics-parser.d.ts","sourceRoot":"","sources":["../../src/sources/illustrative-mathematics-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWnE;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAkD,GACxD,mBAAmB,EAAE,CAyDvB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CatalogSourceRecord } from '../catalog-contracts.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses a configured OER Commons/ISKME RSS or Dublin Core feed without entity
|
|
4
|
+
* expansion or external resolution. The configured feed is authoritative for
|
|
5
|
+
* scope; this parser never represents its page as global catalog coverage.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseOerCommonsRssFeed(xml: string, revision: string): CatalogSourceRecord[];
|
|
8
|
+
//# sourceMappingURL=oer-commons-rss-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oer-commons-rss-parser.d.ts","sourceRoot":"","sources":["../../src/sources/oer-commons-rss-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA8DnE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,mBAAmB,EAAE,CA4CvB"}
|
|
@@ -2,7 +2,7 @@ import { type AssetRuntimeOptions } from '@happyvertical/smrt-assets';
|
|
|
2
2
|
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
3
3
|
import type { CatalogAuthorizer } from './catalog-service.js';
|
|
4
4
|
import { type LearnerAuthorizer, type LearnerRequest, LearnerService } from './learner-service.js';
|
|
5
|
-
import type { Grade, Submission } from './submissions.js';
|
|
5
|
+
import type { Grade, Submission, SubmissionKind } from './submissions.js';
|
|
6
6
|
/** A single captured page. No model patches or pre-existing asset IDs are accepted. */
|
|
7
7
|
export interface SubmissionPage {
|
|
8
8
|
name: string;
|
|
@@ -18,6 +18,12 @@ export interface SubmissionAssetClaim {
|
|
|
18
18
|
assetId: string;
|
|
19
19
|
expiresAt: Date;
|
|
20
20
|
}
|
|
21
|
+
/** Immutable external receipt binding for a scan; supplied only by a trusted host. */
|
|
22
|
+
export interface SubmissionIntake {
|
|
23
|
+
intakeItemId: string;
|
|
24
|
+
kind: SubmissionKind;
|
|
25
|
+
previousSubmissionId?: string;
|
|
26
|
+
}
|
|
21
27
|
/** Server configuration; never populate this from request JSON. */
|
|
22
28
|
export interface SubmissionServiceOptions {
|
|
23
29
|
storage: AssetRuntimeOptions['storage'];
|
|
@@ -33,6 +39,9 @@ export type SubmissionView = Readonly<{
|
|
|
33
39
|
status: Submission['status'];
|
|
34
40
|
submittedAt: Date;
|
|
35
41
|
notes: string;
|
|
42
|
+
kind: SubmissionKind;
|
|
43
|
+
previousSubmissionId: string | null;
|
|
44
|
+
intakeItemId: string | null;
|
|
36
45
|
pages: ReadonlyArray<{
|
|
37
46
|
assetId: string;
|
|
38
47
|
sortOrder: number;
|
|
@@ -71,10 +80,31 @@ export declare class SubmissionService extends LearnerService {
|
|
|
71
80
|
private progress;
|
|
72
81
|
private requireSubmission;
|
|
73
82
|
private view;
|
|
83
|
+
/** Recheck the exact assignment without creating progress or accepting bytes.
|
|
84
|
+
* Trusted intake bridges call this before reading retained evidence.
|
|
85
|
+
*/
|
|
86
|
+
assertLessonAssignment(request: LessonRequest): Promise<void>;
|
|
74
87
|
captureSubmission(request: LessonRequest & {
|
|
75
88
|
requestKey: string;
|
|
76
89
|
pages: readonly SubmissionPage[];
|
|
77
90
|
notes?: string;
|
|
91
|
+
/** Trusted ingestion identity; ordinary host upload omits this. */
|
|
92
|
+
intake?: SubmissionIntake;
|
|
93
|
+
}): Promise<SubmissionView>;
|
|
94
|
+
/** Capture a blank workbook scan without claiming completion or a grade. */
|
|
95
|
+
captureBlankReference(request: LessonRequest & {
|
|
96
|
+
requestKey: string;
|
|
97
|
+
pages: readonly SubmissionPage[];
|
|
98
|
+
notes?: string;
|
|
99
|
+
intakeItemId: string;
|
|
100
|
+
}): Promise<SubmissionView>;
|
|
101
|
+
/** Rescan corrections as a new immutable completed-work attempt. */
|
|
102
|
+
resubmitSubmission(request: LessonRequest & {
|
|
103
|
+
previousSubmissionId: string;
|
|
104
|
+
requestKey: string;
|
|
105
|
+
pages: readonly SubmissionPage[];
|
|
106
|
+
notes?: string;
|
|
107
|
+
intakeItemId: string;
|
|
78
108
|
}): Promise<SubmissionView>;
|
|
79
109
|
getSubmission(request: SubmissionRequest): Promise<SubmissionView>;
|
|
80
110
|
private grade;
|
|
@@ -82,6 +112,16 @@ export declare class SubmissionService extends LearnerService {
|
|
|
82
112
|
score?: number | null;
|
|
83
113
|
feedback?: string;
|
|
84
114
|
}): Promise<SubmissionView>;
|
|
115
|
+
/** Bridge-only alias: uses the same guardian authorization and current-attempt checks. */
|
|
116
|
+
applyReviewedSubmission(request: SubmissionRequest & {
|
|
117
|
+
score?: number | null;
|
|
118
|
+
feedback?: string;
|
|
119
|
+
}): Promise<SubmissionView>;
|
|
120
|
+
/** Record a non-authoritative automated proposal; it never completes progress. */
|
|
121
|
+
proposeSubmissionGrade(request: SubmissionRequest & {
|
|
122
|
+
score?: number | null;
|
|
123
|
+
feedback?: string;
|
|
124
|
+
}): Promise<SubmissionView>;
|
|
85
125
|
attestLesson(request: LessonRequest & {
|
|
86
126
|
score?: number | null;
|
|
87
127
|
feedback?: string;
|
|
@@ -92,6 +132,13 @@ export declare class SubmissionService extends LearnerService {
|
|
|
92
132
|
url: string;
|
|
93
133
|
expiresAt: Date;
|
|
94
134
|
}>;
|
|
135
|
+
/** Sign only an exact authorized printable join; answer keys never qualify. */
|
|
136
|
+
signLessonPrintable(request: LessonRequest & {
|
|
137
|
+
assetId: string;
|
|
138
|
+
}): Promise<{
|
|
139
|
+
url: string;
|
|
140
|
+
expiresAt: Date;
|
|
141
|
+
}>;
|
|
95
142
|
/** Extract inclusive one-based, disjoint ranges into private worksheet PDFs. */
|
|
96
143
|
splitWorksheetPacket(request: LearnerRequest & {
|
|
97
144
|
courseId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submission-service.d.ts","sourceRoot":"","sources":["../src/submission-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"submission-service.d.ts","sourceRoot":"","sources":["../src/submission-service.ts"],"names":[],"mappings":"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"}
|
package/dist/submissions.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export type SubmissionStatus = 'captured' | 'extracting' | 'needs_review' | 'gra
|
|
|
3
3
|
export type ExternalCompletionReporter = 'learner' | 'guardian' | 'source';
|
|
4
4
|
export type SubmissionAssetRelationship = 'page' | 'attachment';
|
|
5
5
|
export type GraderKind = 'auto' | 'ai' | 'guardian' | 'instructor';
|
|
6
|
+
/** Blank workbook evidence is deliberately distinct from completed work. */
|
|
7
|
+
export type SubmissionKind = 'blank_reference' | 'completed_work';
|
|
6
8
|
/** Evidence that a learner completed one progress item. */
|
|
7
9
|
export declare class Submission extends SmrtObject {
|
|
8
10
|
tenantId: string;
|
|
@@ -16,6 +18,22 @@ export declare class Submission extends SmrtObject {
|
|
|
16
18
|
captureKey: string;
|
|
17
19
|
/** Service-owned content digest used to detect changed retry payloads. */
|
|
18
20
|
captureDigest: string;
|
|
21
|
+
/** A retained blank workbook reference never becomes a completed attempt. */
|
|
22
|
+
kind: SubmissionKind;
|
|
23
|
+
/** Immutable predecessor for a correction/rescan chain. */
|
|
24
|
+
previousSubmissionId: string | null;
|
|
25
|
+
/** Stable external intake identity, unique in service scope when supplied. */
|
|
26
|
+
intakeItemId: string | null;
|
|
27
|
+
constructor(options?: Record<string, unknown>);
|
|
28
|
+
save(): Promise<this>;
|
|
29
|
+
}
|
|
30
|
+
/** Durable tenant/item claim for trusted ingestion receipts. This separate table
|
|
31
|
+
* keeps ordinary uploads (which have no intake item) out of the uniqueness key.
|
|
32
|
+
*/
|
|
33
|
+
export declare class SubmissionIntakeBinding extends SmrtObject {
|
|
34
|
+
tenantId: string;
|
|
35
|
+
intakeItemId: string;
|
|
36
|
+
submissionId: string;
|
|
19
37
|
constructor(options?: Record<string, unknown>);
|
|
20
38
|
save(): Promise<this>;
|
|
21
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submissions.d.ts","sourceRoot":"","sources":["../src/submissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAiElC,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,UAAU,CAAC;AACf,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC3E,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,YAAY,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"submissions.d.ts","sourceRoot":"","sources":["../src/submissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAiElC,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,UAAU,CAAC;AACf,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC3E,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,YAAY,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;AACnE,4EAA4E;AAC5E,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAElE,2DAA2D;AAC3D,qBAEa,UAAW,SAAQ,UAAU;IAC5B,QAAQ,SAAM;IACiB,SAAS,SAAM;IAChB,QAAQ,SAAM;IACN,UAAU,SAAM;IAClE,WAAW,OAAc;IACzB,MAAM,EAAE,gBAAgB,CAAc;IACtC,KAAK,SAAM;IACX,8EAA8E;IAC9E,UAAU,SAAM;IAChB,0EAA0E;IAC1E,aAAa,SAAM;IACnB,6EAA6E;IAClD,IAAI,EAAE,cAAc,CAAoB;IACnE,2DAA2D;IACb,oBAAoB,EAC9D,MAAM,GACN,IAAI,CAAQ;IAChB,8EAA8E;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAEhE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA6CrC;AAED;;GAEG;AACH,qBAMa,uBAAwB,SAAQ,UAAU;IACzC,QAAQ,SAAM;IACe,YAAY,SAAM;IACb,YAAY,SAAM;gBAEpD,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAerC;AAED,oDAAoD;AACpD,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,SAAS,SAAK;IACd,OAAO,SAAM;IACb,SAAS,SAAQ;gBAEL,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKjD,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAIrC;AAED,wEAAwE;AACxE,qBACa,kBAAmB,SAAQ,UAAU;IAChD,UAAU,EAAE,0BAA0B,CAAa;IACnD,WAAW,SAAM;IACW,aAAa,SAAO;gBAEpC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAKrC;AAED,sDAAsD;AACtD,qBACa,WAAY,SAAQ,UAAU;CAAG;AAE9C,uDAAuD;AACvD,qBAMa,eAAgB,SAAQ,UAAU;IACjC,QAAQ,SAAM;IACoB,YAAY,SAAM;IAEhE,OAAO,SAAM;IACc,YAAY,EAAE,2BAA2B,CAAU;IAC9E,SAAS,SAAK;gBAEF,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA8BrC;AAED,kFAAkF;AAClF,qBAEa,KAAM,SAAQ,UAAU;IACvB,QAAQ,SAAM;IACoB,YAAY,SAAM;IACrC,UAAU,EAAE,UAAU,CAAU;IAE3D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACM,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAChE;IACqC,cAAc,EAAE,MAAM,GAAG,IAAI,CAClE;IACP,aAAa,SAAQ;IACrB,QAAQ,SAAM;IACd,QAAQ,OAAc;gBAEV,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKjD,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI3C,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0BrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-education",
|
|
3
|
-
"version": "0.57.
|
|
3
|
+
"version": "0.57.10",
|
|
4
4
|
"smrtJsdoc": "strict",
|
|
5
5
|
"description": "Tenant-aware learning catalog models and authorized catalog access for SMRT",
|
|
6
6
|
"type": "module",
|
|
@@ -18,19 +18,25 @@
|
|
|
18
18
|
"import": "./dist/index.js"
|
|
19
19
|
},
|
|
20
20
|
"./manifest": "./dist/manifest.json",
|
|
21
|
-
"./manifest.json": "./dist/manifest.json"
|
|
21
|
+
"./manifest.json": "./dist/manifest.json",
|
|
22
|
+
"./ingestion": {
|
|
23
|
+
"types": "./dist/ingestion.d.ts",
|
|
24
|
+
"import": "./dist/ingestion.js"
|
|
25
|
+
}
|
|
22
26
|
},
|
|
23
27
|
"dependencies": {
|
|
24
|
-
"@happyvertical/smrt-assets": "0.57.
|
|
25
|
-
"@happyvertical/smrt-core": "0.57.
|
|
26
|
-
"@happyvertical/smrt-profiles": "0.57.
|
|
27
|
-
"@happyvertical/smrt-tenancy": "0.57.
|
|
28
|
-
"@happyvertical/smrt-users": "0.57.
|
|
29
|
-
"@happyvertical/
|
|
30
|
-
"
|
|
28
|
+
"@happyvertical/smrt-assets": "0.57.10",
|
|
29
|
+
"@happyvertical/smrt-core": "0.57.10",
|
|
30
|
+
"@happyvertical/smrt-profiles": "0.57.10",
|
|
31
|
+
"@happyvertical/smrt-tenancy": "0.57.10",
|
|
32
|
+
"@happyvertical/smrt-users": "0.57.10",
|
|
33
|
+
"@happyvertical/files": "^0.105.3",
|
|
34
|
+
"@happyvertical/sql": "^0.105.3",
|
|
35
|
+
"pdf-lib": "1.17.1",
|
|
36
|
+
"@happyvertical/smrt-ingestion": "0.57.10"
|
|
31
37
|
},
|
|
32
38
|
"devDependencies": {
|
|
33
|
-
"@happyvertical/smrt-vitest": "0.57.
|
|
39
|
+
"@happyvertical/smrt-vitest": "0.57.10",
|
|
34
40
|
"@types/node": "24.13.6",
|
|
35
41
|
"typescript": "6.0.3",
|
|
36
42
|
"vite": "8.1.4",
|