@lxpack/runtime 0.1.1 → 0.2.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.
@@ -0,0 +1,57 @@
1
+ /**
2
+ * SCORM 2004 4th Edition Run-Time API subset.
3
+ */
4
+ export interface Scorm2004ApiLike {
5
+ Initialize(param?: string): string;
6
+ Terminate(param?: string): string;
7
+ GetValue(element: string): string;
8
+ SetValue(element: string, value: string): string;
9
+ Commit(param?: string): string;
10
+ GetLastError(): string;
11
+ GetErrorString(errorCode?: string): string;
12
+ GetDiagnostic(errorCode?: string): string;
13
+ }
14
+ export declare function findScorm2004Api(maxDepth?: number): Scorm2004ApiLike | null;
15
+ export declare class Scorm2004Simulator implements Scorm2004ApiLike {
16
+ private initialized;
17
+ private terminated;
18
+ private data;
19
+ private persistToStorage;
20
+ constructor(options?: {
21
+ persistToStorage?: boolean;
22
+ });
23
+ private save;
24
+ Initialize(): string;
25
+ Terminate(): string;
26
+ GetValue(element: string): string;
27
+ SetValue(element: string, value: string): string;
28
+ Commit(): string;
29
+ GetLastError(): string;
30
+ GetErrorString(): string;
31
+ GetDiagnostic(): string;
32
+ setSuspendData(data: string): void;
33
+ setLocation(location: string): void;
34
+ setCompletionStatus(status: string): void;
35
+ setSuccessStatus(status: string): void;
36
+ setScoreScaled(scaled: number): void;
37
+ }
38
+ export declare class Scorm2004Adapter implements Scorm2004ApiLike {
39
+ private api;
40
+ constructor(api: Scorm2004ApiLike);
41
+ Initialize(): string;
42
+ Terminate(): string;
43
+ GetValue(element: string): string;
44
+ SetValue(element: string, value: string): string;
45
+ Commit(): string;
46
+ GetLastError(): string;
47
+ GetErrorString(errorCode?: string): string;
48
+ GetDiagnostic(errorCode?: string): string;
49
+ setSuspendData(data: string): void;
50
+ setLocation(location: string): void;
51
+ setCompletionStatus(status: string): void;
52
+ setSuccessStatus(status: string): void;
53
+ setScoreScaled(scaled: number): void;
54
+ }
55
+ export type Scorm2004Connection = Scorm2004Simulator | Scorm2004Adapter;
56
+ export declare function createScorm2004Connection(mode: "preview" | "scorm2004"): Scorm2004Connection;
57
+ //# sourceMappingURL=scorm2004-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorm2004-api.d.ts","sourceRoot":"","sources":["../src/scorm2004-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,YAAY,IAAI,MAAM,CAAC;IACvB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,gBAAgB,GAAG,IAAI,CA8BxE;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAOV;IACF,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAcpD,OAAO,CAAC,IAAI;IASZ,UAAU,IAAI,MAAM;IAOpB,SAAS,IAAI,MAAM;IAOnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhD,MAAM,IAAI,MAAM;IAMhB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC;AAED,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,OAAO,CAAC,GAAG,CAAmB;gBAElB,GAAG,EAAE,gBAAgB;IAIjC,UAAU,IAAI,MAAM;IAIpB,SAAS,IAAI,MAAM;IAInB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhD,MAAM,IAAI,MAAM;IAIhB,YAAY,IAAI,MAAM;IAItB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAExE,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,GAAG,WAAW,GAC5B,mBAAmB,CAarB"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CourseManifest, LearnerAssessment, Lesson, RuntimeAssessmentBundle } from "@lxpack/validators";
1
+ import type { AssessmentRuntimeConfig, CourseManifest, LearnerAssessment, Lesson, QuestionFeedback, RuntimeAssessmentBundle } from "@lxpack/validators";
2
2
  export interface CourseProgress {
3
3
  currentLessonId: string;
4
4
  completedLessons: string[];
@@ -8,10 +8,13 @@ export interface CourseProgress {
8
8
  export interface RuntimeConfig {
9
9
  manifest: CourseManifest;
10
10
  baseUrl: string;
11
- mode: "preview" | "standalone" | "scorm12";
11
+ mode: "preview" | "standalone" | "scorm12" | "scorm2004";
12
+ activityId?: string;
12
13
  progress?: CourseProgress;
13
14
  assessments?: RuntimeAssessmentBundle["assessments"];
14
15
  answerKeys?: RuntimeAssessmentBundle["answerKeys"];
16
+ assessmentConfigs?: Record<string, AssessmentRuntimeConfig>;
17
+ assessmentFeedback?: Record<string, QuestionFeedback>;
15
18
  }
16
19
  export interface TrackEvent {
17
20
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,cAAc,CAAC;IAClC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,gBAAgB,EAAE,CAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,KACjB,IAAI,CAAC;CACX;AAED,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC5D,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,cAAc,CAAC;IAClC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,gBAAgB,EAAE,CAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,KACjB,IAAI,CAAC;CACX;AAED,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CourseManifest } from "@lxpack/validators";
2
+ export declare const VARIABLE_PREFIX = "v:";
3
+ export declare function manifestVariableKey(name: string): string;
4
+ export declare function initManifestVariables(manifest: CourseManifest, suspendData: Record<string, unknown>): void;
5
+ export declare function readManifestVariable(suspendData: Record<string, unknown>, name: string): unknown;
6
+ export declare function writeManifestVariable(suspendData: Record<string, unknown>, name: string, value: unknown): void;
7
+ //# sourceMappingURL=variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,IAAI,CAON;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAET;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAEN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lxpack/runtime",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Web-native course runtime for LXPack",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -39,7 +39,7 @@
39
39
  "dependencies": {
40
40
  "marked": "^15.0.7",
41
41
  "yaml": "^2.7.0",
42
- "@lxpack/validators": "0.1.1"
42
+ "@lxpack/validators": "0.2.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^22.13.10",