@happyvertical/smrt-education 0.57.37 → 0.57.39
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.md +8 -0
- package/agents/catalog-previews.md +98 -0
- package/agents/family-intake.md +97 -0
- package/dist/catalog-contracts.d.ts +2 -0
- package/dist/catalog-contracts.d.ts.map +1 -1
- package/dist/catalog-database-sync-store.d.ts.map +1 -1
- package/dist/catalog-models.d.ts +5 -0
- package/dist/catalog-models.d.ts.map +1 -1
- package/dist/catalog-preview.d.ts +63 -0
- package/dist/catalog-preview.d.ts.map +1 -0
- package/dist/catalog-read-service.d.ts +3 -0
- package/dist/catalog-read-service.d.ts.map +1 -1
- package/dist/catalog.d.ts +4 -4
- package/dist/catalog.d.ts.map +1 -1
- package/dist/chunks/{workbook-photo-service-1wcnf-Xf.js → workbook-photo-service-DCmqeWLd.js} +448 -202
- package/dist/chunks/workbook-photo-service-DCmqeWLd.js.map +1 -0
- package/dist/course-source.d.ts +2 -2
- package/dist/course-source.d.ts.map +1 -1
- package/dist/family-intake-contracts.d.ts +56 -0
- package/dist/family-intake-contracts.d.ts.map +1 -0
- package/dist/family-intake-ingestion.d.ts +29 -0
- package/dist/family-intake-ingestion.d.ts.map +1 -0
- package/dist/family-intake-models.d.ts +58 -0
- package/dist/family-intake-models.d.ts.map +1 -0
- package/dist/family-intake-service.d.ts +70 -0
- package/dist/family-intake-service.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +289 -13
- package/dist/index.js.map +1 -1
- package/dist/ingestion.d.ts +2 -0
- package/dist/ingestion.d.ts.map +1 -1
- package/dist/ingestion.js +426 -13
- package/dist/ingestion.js.map +1 -1
- package/dist/intake-original-evidence.d.ts +10 -0
- package/dist/intake-original-evidence.d.ts.map +1 -0
- package/dist/learner-service.d.ts +2 -0
- package/dist/learner-service.d.ts.map +1 -1
- package/dist/learners.d.ts +5 -5
- package/dist/learners.d.ts.map +1 -1
- package/dist/lesson-assets.d.ts +2 -2
- package/dist/lesson-assets.d.ts.map +1 -1
- package/dist/manifest.json +1447 -162
- package/dist/smrt-knowledge.json +563 -10
- package/dist/sources/public-illustrative-mathematics-adapter.d.ts +4 -2
- package/dist/sources/public-illustrative-mathematics-adapter.d.ts.map +1 -1
- package/dist/sources/public-illustrative-mathematics-parser.d.ts +5 -0
- package/dist/sources/public-illustrative-mathematics-parser.d.ts.map +1 -1
- package/dist/submission-service.d.ts +1 -1
- package/dist/submission-service.d.ts.map +1 -1
- package/dist/submissions.d.ts +7 -7
- package/dist/submissions.d.ts.map +1 -1
- package/dist/workbook-models.d.ts +8 -8
- package/dist/workbook-models.d.ts.map +1 -1
- package/dist/workbook-photo-ingestion.d.ts.map +1 -1
- package/dist/workbook-photo-models.d.ts +6 -5
- package/dist/workbook-photo-models.d.ts.map +1 -1
- package/dist/workbook-photo-service.d.ts +6 -0
- package/dist/workbook-photo-service.d.ts.map +1 -1
- package/package.json +10 -10
- package/dist/chunks/workbook-photo-service-1wcnf-Xf.js.map +0 -1
package/dist/course-source.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SmrtCollection, SmrtObject } from '@happyvertical/smrt-core';
|
|
1
|
+
import { SmrtCollection, SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
|
|
2
2
|
export type SourceSharing = 'private' | 'group' | 'global';
|
|
3
3
|
export type CourseSourceKind = 'manual' | 'url' | 'adapter';
|
|
4
4
|
export interface CourseSourceConfig {
|
|
@@ -17,7 +17,7 @@ export declare class CourseSource extends SmrtObject {
|
|
|
17
17
|
constructor(options?: Record<string, unknown>);
|
|
18
18
|
getConfig(): CourseSourceConfig;
|
|
19
19
|
setConfig(value: CourseSourceConfig): void;
|
|
20
|
-
save(): Promise<this>;
|
|
20
|
+
save(options?: SmrtSaveOptions): Promise<this>;
|
|
21
21
|
}
|
|
22
22
|
export declare class CourseSourceCollection extends SmrtCollection<CourseSource> {
|
|
23
23
|
static readonly _itemClass: typeof CourseSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"course-source.d.ts","sourceRoot":"","sources":["../src/course-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,UAAU,
|
|
1
|
+
{"version":3,"file":"course-source.d.ts","sourceRoot":"","sources":["../src/course-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,UAAU,EACV,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAC5D,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8EAA8E;AAC9E,qBAEa,YAAa,SAAQ,UAAU;IAC9B,QAAQ,SAAM;IACC,GAAG,SAAM;IACT,IAAI,SAAM;IACrC,IAAI,EAAE,gBAAgB,CAAa;IACnC,UAAU,SAAgB;IAC1B,MAAM,SAAQ;IACd,OAAO,EAAE,aAAa,CAAa;gBAEvB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAQjD,SAAS,IAAI,kBAAkB;IAkB/B,SAAS,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAW3B,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9D;AAED,qBAAa,sBAAuB,SAAQ,cAAc,CAAC,YAAY,CAAC;IACtE,MAAM,CAAC,QAAQ,CAAC,UAAU,sBAAgB;CAC3C"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
2
|
+
/** Trusted signed session; never derive actor or tenant from source metadata. */
|
|
3
|
+
export interface FamilyIntakeRequest {
|
|
4
|
+
tenantId: string;
|
|
5
|
+
actorUserId: string;
|
|
6
|
+
}
|
|
7
|
+
/** Hosts decide current guardian permission, on the service's exact executor. */
|
|
8
|
+
export type FamilyIntakeAuthorizer = (request: FamilyIntakeRequest & {
|
|
9
|
+
executor: DatabaseInterface;
|
|
10
|
+
action: 'education.family-intake.read' | 'education.family-intake.receive' | 'education.family-intake.assign';
|
|
11
|
+
}) => boolean | Promise<boolean>;
|
|
12
|
+
/** Advisory only: evidence and candidate identity confer no ownership. */
|
|
13
|
+
export interface FamilyIntakeCandidate {
|
|
14
|
+
learnerId: string;
|
|
15
|
+
evidence: readonly {
|
|
16
|
+
source: string;
|
|
17
|
+
quotation: string;
|
|
18
|
+
}[];
|
|
19
|
+
confidence: 'supported' | 'uncertain';
|
|
20
|
+
}
|
|
21
|
+
export interface FamilyIntakeSource {
|
|
22
|
+
sourceId: string;
|
|
23
|
+
sourceVersion: string;
|
|
24
|
+
deliveryKey: string;
|
|
25
|
+
/** Immutable receipt evidence graph; metadata is provenance, never learner work. */
|
|
26
|
+
evidence?: readonly {
|
|
27
|
+
evidenceId: string;
|
|
28
|
+
partId: string;
|
|
29
|
+
parentEvidenceId: string | null;
|
|
30
|
+
mimeType: string;
|
|
31
|
+
sha256: string;
|
|
32
|
+
}[];
|
|
33
|
+
}
|
|
34
|
+
export interface FamilyIntakeView {
|
|
35
|
+
id: string;
|
|
36
|
+
itemId: string;
|
|
37
|
+
source: FamilyIntakeSource;
|
|
38
|
+
revision: number;
|
|
39
|
+
learnerId: string | null;
|
|
40
|
+
photoIntakeId: string | null;
|
|
41
|
+
originals: readonly {
|
|
42
|
+
assetId: string;
|
|
43
|
+
name: string;
|
|
44
|
+
mimeType: string;
|
|
45
|
+
sha256: string;
|
|
46
|
+
}[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A namespace, never an authorization grant. The original scope remains immutable.
|
|
50
|
+
* A host IngestionService using this scope must call the same current family
|
|
51
|
+
* authorizer (for example authorizeFamilyIntake) on every operation, including
|
|
52
|
+
* direct evidence/source reads. Actor identity or tenant membership alone is
|
|
53
|
+
* insufficient; adoption never grants a learner access to the family namespace.
|
|
54
|
+
*/
|
|
55
|
+
export declare function familyIntakeScopeId(tenantId: string): string;
|
|
56
|
+
//# sourceMappingURL=family-intake-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-intake-contracts.d.ts","sourceRoot":"","sources":["../src/family-intake-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,iFAAiF;AACjF,MAAM,MAAM,sBAAsB,GAAG,CACnC,OAAO,EAAE,mBAAmB,GAAG;IAC7B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EACF,8BAA8B,GAC9B,iCAAiC,GACjC,gCAAgC,CAAC;CACtC,KACE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAChC,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC;CACvC;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,SAAS;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL;AACD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,SAAS;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL;AACD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IngestionScope, IngestionService, ReceiveInput } from '@happyvertical/smrt-ingestion/server';
|
|
2
|
+
import { type FamilyIntakeRequest } from './family-intake-contracts.js';
|
|
3
|
+
import type { FamilyIntakeService } from './family-intake-service.js';
|
|
4
|
+
type Input = {
|
|
5
|
+
ingestion: IngestionService;
|
|
6
|
+
scope: Readonly<IngestionScope>;
|
|
7
|
+
family: FamilyIntakeService;
|
|
8
|
+
request: FamilyIntakeRequest;
|
|
9
|
+
};
|
|
10
|
+
/** Receive before learner attribution; duplicate deliveries repair interrupted retention. */
|
|
11
|
+
export declare function receiveFamilyIntake(input: Input & {
|
|
12
|
+
receive: ReceiveInput;
|
|
13
|
+
}): Promise<{
|
|
14
|
+
receipt: import("@happyvertical/smrt-ingestion").ReceiptResult;
|
|
15
|
+
intake: null;
|
|
16
|
+
} | {
|
|
17
|
+
receipt: {
|
|
18
|
+
kind: "accepted" | "duplicate";
|
|
19
|
+
itemId: string;
|
|
20
|
+
receiptVersion: number;
|
|
21
|
+
};
|
|
22
|
+
intake: import("./family-intake-contracts.js").FamilyIntakeView;
|
|
23
|
+
}>;
|
|
24
|
+
/** Copy authorized original evidence once into durable education ownership. */
|
|
25
|
+
export declare function retainFamilyIntakeReceipt(input: Input & {
|
|
26
|
+
itemId: string;
|
|
27
|
+
}): Promise<import("./family-intake-contracts.js").FamilyIntakeView>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=family-intake-ingestion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-intake-ingestion.d.ts","sourceRoot":"","sources":["../src/family-intake-ingestion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOtE,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAUF,6FAA6F;AAC7F,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,KAAK,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE;;;;;;;;;;GAiBzC;AACD,+EAA+E;AAC/E,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,oEAuElC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { SmrtCollection, SmrtObject, type SmrtSaveOptions } from '@happyvertical/smrt-core';
|
|
2
|
+
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
3
|
+
/** Family-owned receipt, independent of learner attribution and ingestion expiry. */
|
|
4
|
+
export declare class FamilyIntake extends SmrtObject {
|
|
5
|
+
tenantId: string;
|
|
6
|
+
itemId: string;
|
|
7
|
+
actorUserId: string;
|
|
8
|
+
ownerProfileId: string;
|
|
9
|
+
contentDigest: string;
|
|
10
|
+
sourceJson: string;
|
|
11
|
+
constructor(options?: Record<string, unknown>);
|
|
12
|
+
save(options?: SmrtSaveOptions): Promise<this>;
|
|
13
|
+
delete(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare class FamilyIntakeCollection extends SmrtCollection<FamilyIntake> {
|
|
16
|
+
static readonly _itemClass: typeof FamilyIntake;
|
|
17
|
+
}
|
|
18
|
+
/** Sole family owner join; adoption borrows this exact immutable original. */
|
|
19
|
+
export declare class FamilyIntakeAsset extends SmrtObject {
|
|
20
|
+
tenantId: string;
|
|
21
|
+
intakeId: string;
|
|
22
|
+
assetId: string;
|
|
23
|
+
name: string;
|
|
24
|
+
mimeType: string;
|
|
25
|
+
sha256: string;
|
|
26
|
+
position: number;
|
|
27
|
+
constructor(options?: Record<string, unknown>);
|
|
28
|
+
save(options?: SmrtSaveOptions): Promise<this>;
|
|
29
|
+
delete(): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export declare class FamilyIntakeAssetCollection extends SmrtCollection<FamilyIntakeAsset> {
|
|
32
|
+
static readonly _itemClass: typeof FamilyIntakeAsset;
|
|
33
|
+
}
|
|
34
|
+
/** Append-only attribution/adoption audit; no marks or learning outcomes. */
|
|
35
|
+
export declare class FamilyIntakeDecision extends SmrtObject {
|
|
36
|
+
tenantId: string;
|
|
37
|
+
intakeId: string;
|
|
38
|
+
requestKey: string;
|
|
39
|
+
sequence: number;
|
|
40
|
+
actorUserId: string;
|
|
41
|
+
bodyJson: string;
|
|
42
|
+
constructor(options?: Record<string, unknown>);
|
|
43
|
+
save(options?: SmrtSaveOptions): Promise<this>;
|
|
44
|
+
delete(): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export declare class FamilyIntakeDecisionCollection extends SmrtCollection<FamilyIntakeDecision> {
|
|
47
|
+
static readonly _itemClass: typeof FamilyIntakeDecision;
|
|
48
|
+
}
|
|
49
|
+
/** Package-internal proof for the sole family-to-learner borrowing boundary. */
|
|
50
|
+
export declare function familyAdoptionOwner(db: DatabaseInterface, photo: {
|
|
51
|
+
id: string;
|
|
52
|
+
tenant_id: string;
|
|
53
|
+
learner_id: string;
|
|
54
|
+
item_id: string;
|
|
55
|
+
family_intake_id: string;
|
|
56
|
+
actor_user_id: string;
|
|
57
|
+
}): Promise<string>;
|
|
58
|
+
//# sourceMappingURL=family-intake-models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-intake-models.d.ts","sourceRoot":"","sources":["../src/family-intake-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,UAAU,EACV,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAa5D,qFAAqF;AACrF,qBAMa,YAAa,SAAQ,UAAU;IAC9B,QAAQ,SAAM;IAC1B,MAAM,SAAM;IACZ,WAAW,SAAM;IACwC,cAAc,SAAM;IAC7E,aAAa,SAAM;IACM,UAAU,SAAQ;gBAC/B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IASlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC;AACD,qBAAa,sBAAuB,SAAQ,cAAc,CAAC,YAAY,CAAC;IACtE,MAAM,CAAC,QAAQ,CAAC,UAAU,sBAAgB;CAC3C;AACD,8EAA8E;AAC9E,qBAMa,iBAAkB,SAAQ,UAAU;IACnC,QAAQ,SAAM;IACsB,QAAQ,SAAM;IACT,OAAO,SAAM;IAClE,IAAI,SAAM;IACV,QAAQ,SAAM;IACd,MAAM,SAAM;IACZ,QAAQ,SAAK;gBACD,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IASlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC;AACD,qBAAa,2BAA4B,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IAChF,MAAM,CAAC,QAAQ,CAAC,UAAU,2BAAqB;CAChD;AACD,6EAA6E;AAC7E,qBAMa,oBAAqB,SAAQ,UAAU;IACtC,QAAQ,SAAM;IACsB,QAAQ,SAAM;IAC9D,UAAU,SAAM;IAChB,QAAQ,SAAK;IACb,WAAW,SAAM;IACQ,QAAQ,SAAQ;gBAC7B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IASlC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC;AACD,qBAAa,8BAA+B,SAAQ,cAAc,CAAC,oBAAoB,CAAC;IACtF,MAAM,CAAC,QAAQ,CAAC,UAAU,8BAAwB;CACnD;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,iBAAiB,EACrB,KAAK,EAAE;IACL,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
2
|
+
import type { CatalogAuthorizer } from './catalog-service.js';
|
|
3
|
+
import type { FamilyIntakeAuthorizer, FamilyIntakeRequest, FamilyIntakeSource, FamilyIntakeView } from './family-intake-contracts.js';
|
|
4
|
+
import { type LearnerAuthorizer } from './learner-service.js';
|
|
5
|
+
import type { SubmissionPage, SubmissionServiceOptions } from './submission-service.js';
|
|
6
|
+
import { WorkbookPhotoService } from './workbook-photo-service.js';
|
|
7
|
+
type Selection = FamilyIntakeRequest & {
|
|
8
|
+
intakeId: string;
|
|
9
|
+
};
|
|
10
|
+
type Decision = {
|
|
11
|
+
kind: 'assign';
|
|
12
|
+
learnerId: string;
|
|
13
|
+
reason: string;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'adopt';
|
|
16
|
+
learnerId: string;
|
|
17
|
+
photoIntakeId: string;
|
|
18
|
+
};
|
|
19
|
+
/** Guardian-only original ownership before learner identity. Assignment never grades work. */
|
|
20
|
+
export declare class FamilyIntakeService extends WorkbookPhotoService {
|
|
21
|
+
private readonly familyOptions;
|
|
22
|
+
private readonly authorizeFamily;
|
|
23
|
+
constructor(db: DatabaseInterface, authorize: LearnerAuthorizer, authorizeCatalog: CatalogAuthorizer, familyOptions: SubmissionServiceOptions, authorizeFamily: FamilyIntakeAuthorizer);
|
|
24
|
+
protected createTransactionService(db: DatabaseInterface): this;
|
|
25
|
+
authorizeFamilyIntake(request: FamilyIntakeRequest, action?: Parameters<FamilyIntakeAuthorizer>[0]['action']): Promise<void>;
|
|
26
|
+
private familyRow;
|
|
27
|
+
private familyDecisions;
|
|
28
|
+
private lockFamily;
|
|
29
|
+
private appendFamily;
|
|
30
|
+
retainFamilyIntake(request: FamilyIntakeRequest & {
|
|
31
|
+
itemId: string;
|
|
32
|
+
source: FamilyIntakeSource;
|
|
33
|
+
pages: readonly SubmissionPage[];
|
|
34
|
+
}): Promise<FamilyIntakeView>;
|
|
35
|
+
getFamilyIntake(request: Selection): Promise<FamilyIntakeView>;
|
|
36
|
+
listFamilyIntakes(request: FamilyIntakeRequest, options?: {
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}): Promise<FamilyIntakeView[]>;
|
|
40
|
+
countFamilyIntakes(request: FamilyIntakeRequest): Promise<number>;
|
|
41
|
+
getFamilyIntakeTimeline(request: Selection): Promise<{
|
|
42
|
+
id: string;
|
|
43
|
+
revision: number;
|
|
44
|
+
actorUserId: string;
|
|
45
|
+
requestKey: string;
|
|
46
|
+
decision: Decision;
|
|
47
|
+
}[]>;
|
|
48
|
+
readFamilyIntakeOriginal(request: Selection & {
|
|
49
|
+
assetId: string;
|
|
50
|
+
}): Promise<{
|
|
51
|
+
data: Buffer<ArrayBufferLike>;
|
|
52
|
+
mimeType: string;
|
|
53
|
+
}>;
|
|
54
|
+
assignFamilyIntake(request: Selection & {
|
|
55
|
+
learnerId: string;
|
|
56
|
+
guardianRelationshipId: string;
|
|
57
|
+
requestKey: string;
|
|
58
|
+
expectedRevision: number;
|
|
59
|
+
reason: string;
|
|
60
|
+
}): Promise<FamilyIntakeView>;
|
|
61
|
+
/** Freeze the explicit assignment and borrow exact originals; no capture or grading. */
|
|
62
|
+
adoptFamilyIntake(request: Selection & {
|
|
63
|
+
learnerId: string;
|
|
64
|
+
guardianRelationshipId: string;
|
|
65
|
+
requestKey: string;
|
|
66
|
+
expectedRevision: number;
|
|
67
|
+
}): Promise<FamilyIntakeView>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=family-intake-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-intake-service.d.ts","sourceRoot":"","sources":["../src/family-intake-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA2BnE,KAAK,SAAS,GAAG,mBAAmB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5D,KAAK,QAAQ,GACT;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,8FAA8F;AAC9F,qBAAa,mBAAoB,SAAQ,oBAAoB;IAKzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJhC,EAAE,EAAE,iBAAiB,EACrB,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,iBAAiB,EAClB,aAAa,EAAE,wBAAwB,EACvC,eAAe,EAAE,sBAAsB;cAIvC,wBAAwB,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;IASlE,qBAAqB,CACzB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,GAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAkC;YA4B5E,SAAS;YAWT,eAAe;YAUf,UAAU;YAMV,YAAY;IAiBpB,kBAAkB,CACtB,OAAO,EAAE,mBAAmB,GAAG;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,kBAAkB,CAAC;QAC3B,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;KAClC,GACA,OAAO,CAAC,gBAAgB,CAAC;IAyHtB,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+B9D,iBAAiB,CACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAChD,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0BxB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjE,uBAAuB,CAAC,OAAO,EAAE,SAAS;;;;;kBAOR,QAAQ;;IAG1C,wBAAwB,CAAC,OAAO,EAAE,SAAS,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;;;;IA+BjE,kBAAkB,CACtB,OAAO,EAAE,SAAS,GAAG;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,gBAAgB,CAAC;IAmC5B,wFAAwF;IAClF,iBAAiB,CACrB,OAAO,EAAE,SAAS,GAAG;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GACA,OAAO,CAAC,gBAAgB,CAAC;CAmE7B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { CatalogMaterializationService } from './catalog-materialization-service
|
|
|
12
12
|
export { CatalogAcquisition, CatalogProvider, CatalogResource, CatalogSelection, CatalogSyncState, } from './catalog-models.js';
|
|
13
13
|
export type { CatalogPolicyDecision } from './catalog-policy.js';
|
|
14
14
|
export { CatalogPolicy } from './catalog-policy.js';
|
|
15
|
+
export type { CatalogPreview, CatalogPreviewLoader, CatalogPreviewStore, } from './catalog-preview.js';
|
|
16
|
+
export { CATALOG_PREVIEW_MAX_BYTES, CATALOG_PREVIEW_MAX_DIMENSION, CatalogPreviewService, catalogPreviewFor, normalizeCatalogPreview, } from './catalog-preview.js';
|
|
15
17
|
export type { CatalogReadStore, CatalogResourceView, } from './catalog-read-service.js';
|
|
16
18
|
export { CatalogReadService } from './catalog-read-service.js';
|
|
17
19
|
export type { CatalogActorContext, CatalogAuthorizer, CatalogReadRequest, TenantCatalogReadScope, } from './catalog-service.js';
|
|
@@ -21,6 +23,8 @@ export { CatalogSyncService } from './catalog-sync-service.js';
|
|
|
21
23
|
export { AttestationCollection, AuthoredCourseCollection, CourseCollection, CourseSectionCollection, CurriculumCollection, EnrollmentCollection, ExerciseCollection, ExternalCompletionCollection, ExternalCourseCollection, GradeCollection, LearnerCollection, LessonAssetCollection, LessonCollection, LessonProgressCollection, ReadingCollection, ScannedSubmissionCollection, SubmissionAssetCollection, SubmissionCollection, SubmissionIntakeBindingCollection, VideoCollection, WorksheetCollection, } from './collections.js';
|
|
22
24
|
export type { CourseSourceConfig, CourseSourceKind, SourceSharing, } from './course-source.js';
|
|
23
25
|
export { CourseSource, CourseSourceCollection } from './course-source.js';
|
|
26
|
+
export * from './family-intake-contracts.js';
|
|
27
|
+
export { FamilyIntake, FamilyIntakeAsset, FamilyIntakeAssetCollection, FamilyIntakeCollection, FamilyIntakeDecision, FamilyIntakeDecisionCollection, } from './family-intake-models.js';
|
|
24
28
|
export type { AuthorizedCatalogFeed, HearthCatalogProviderId, OerCommonsRssConfig, ProviderFeedRequirement, ProviderMetadataFetch, ProviderMetadataResponse, PublicIllustrativeMathematicsK5Config, } from './hearth-catalog-providers.js';
|
|
25
29
|
export { createCk12Adapter, createIllustrativeMathematicsAdapter, createOerCommonsAdapter, createOerCommonsRssAdapter, createPublicIllustrativeMathematicsK5Adapter, providerFeedRequirements, } from './hearth-catalog-providers.js';
|
|
26
30
|
export type { EasyPeasyGrade4Course, EasyPeasyGrade4Theme, EasyPeasyGrade4Variant, EasyPeasyThemeImportResult, } from './hearth-easy-peasy-grade4.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAEhC,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,MAAM,EACN,aAAa,EACb,QAAQ,EACR,cAAc,EACd,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EACL,0BAA0B,EAC1B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,oCAAoC,EACpC,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,6BAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,YAAY,EACV,qBAAqB,EACrB,gCAAgC,EAChC,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,iCAAiC,EACjC,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,oCAAoC,EACpC,uBAAuB,EACvB,0BAA0B,EAC1B,4CAA4C,EAC5C,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC9E,YAAY,EACV,qBAAqB,EACrB,kCAAkC,EAClC,iCAAiC,EACjC,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,YAAY,EAAE,+CAA+C,EAAE,MAAM,sDAAsD,CAAC;AAC5H,OAAO,EAAE,sDAAsD,EAAE,MAAM,sDAAsD,CAAC;AAC9H,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,0BAA0B,EAC1B,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|